IT用語: Terraformとは|インフラをコードで管理するIaCツール
AWSやGCPなどのクラウドリソースをコードで定義・管理するTerraformの仕組みとHCL構文を解説。
Terraformとは
TerraformはHashiCorpが開発したIaC(Infrastructure as Code)ツールで、AWS・GCP・AzureなどのクラウドリソースをHCL(HashiCorp Configuration Language)というコードで定義・管理します。「インフラの構成をGitで管理し、レビュー・バージョン管理できる」ことが最大の価値です。
基本的な書き方
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "WebServer"
}
}
terraform plan で変更内容のプレビュー、terraform apply で実際にリソースを作成します。
stateファイルと冪等性
Terraformは現在のインフラの状態を terraform.tfstate に記録します。次回 apply 時に実際の状態とコードを比較し、差分だけを変更する「冪等性」を保ちます。チーム開発ではstateをS3等のリモートバックエンドに保存します。
関連する用語 (DevOps)
全58件を見るECR
Amazon Elastic Container Registryの略。AWSが提供するフルマネージドなDockerコンテナレジストリ。ECSやEKSと密に統合されており、IAMポリシーでアクセス管理できる。
Lambda
AWSのサーバーレス関数実行サービス(Function as a Service)。コードをアップロードするだけで実行環境を自動管理し、実行時間のみの課金。イベントドリブンな処理やAPIバックエンドに多用される。
可観測性(Observability)
システムの内部状態を外部から観察できる能力。メトリクス・ログ・トレースの3本柱で構成され、複雑な分散システムの問題を効率的に特定・解決するための基盤となる。
Fluentd
オープンソースのデータ収集・転送ツール(ログアグリゲーター)。各種ソースからログを収集し、Elasticsearch・S3・Splunkへ転送できる。プラグインが豊富でログ基盤構築に広く使われる。
Secret
Kubernetesでパスワード・APIキー・TLS証明書などの機密情報を管理するリソース。Base64エンコードで保存され、Podへのマウントや環境変数での参照が可能。本番ではVault等の外部シークレット管理との連携が推奨される。
Blue-Green Deployment
ゼロダウンタイムデプロイ戦略の一つ。本番環境(Blue)と新バージョン(Green)を並行して稼働させ、トラフィックを切り替えてデプロイする。問題発生時に即座に切り戻せる。