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件を見るSLO
Service Level Objective(サービスレベル目標)の略。システムの可用性・応答時間などの目標値を定量的に設定したもの。SRE文化における運用品質の指標。例:月間稼働率99.9%。
Dockerfile
Dockerイメージをビルドするための設計書ファイル。FROM・RUN・COPY・CMD等の命令を書くことで、ベースOSからアプリのセットアップまでを自動化できる。docker buildコマンドで実行される。
SLA
Service Level Agreement(サービスレベル合意)の略。サービス提供者と利用者の間で合意するサービス品質の保証内容。SLOと違い、違反時のペナルティや補償を含む契約上の約束。
APIゲートウェイ
クライアントと複数のバックエンドサービスの間に立つ単一の入口(エントリポイント)。認証・レート制限・ルーティング・ロギング・キャッシュを一元管理し、APIの公開・保護・管理を行う。
Docker Compose
複数のDockerコンテナを一括定義・実行するツール。docker-compose.ymlに各サービスの設定を記述し、docker compose upコマンドで全コンテナを起動できる。ローカル開発環境の構築に特に有用。
Pod
Kubernetesの最小デプロイ単位。1つ以上のコンテナとストレージ・ネットワーク設定をまとめたもの。通常はDeploymentやStatefulSetを通じて管理され、スケーリング・再起動の単位となる。