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件を見るSRE
Site Reliability Engineering(サイト信頼性エンジニアリング)の略。Googleが提唱した、ソフトウェアエンジニアリングの手法を運用・インフラに適用するアプローチ。SLO・エラーバジェット・トイルの削減が核心概念。
GitHub Actions
GitHubに組み込まれたCI/CDプラットフォーム。リポジトリへのプッシュやプルリクエストをトリガーに、ワークフロー(.yml)を自動実行できる。テスト・ビルド・デプロイを一元管理できる。
Blue-Green Deployment
ゼロダウンタイムデプロイ戦略の一つ。本番環境(Blue)と新バージョン(Green)を並行して稼働させ、トラフィックを切り替えてデプロイする。問題発生時に即座に切り戻せる。
Kubernetes
Googleが開発したコンテナオーケストレーションシステム(通称K8s)。複数のDockerコンテナを自動デプロイ・スケーリング・管理する。Pod・Service・Deploymentなどのリソースで構成される。大規模サービスの運用に不可欠
Jenkins
オープンソースのCI/CDサーバー。Groovyベースのパイプライン定義でビルド・テスト・デプロイを自動化できる。プラグインが豊富で高い拡張性を持つ。
IT用語: カオスエンジニアリングとは|意図的に障害を起こして耐障害性を高める
本番環境に意図的な障害を注入しシステムの弱点を発見するカオスエンジニアリングの概念とChaos Monkeyを解説。