terraform について
クラウドインフラを設計・運用する人向けのTerraformスキルです。再利用可能な構成、ステート管理、セキュリティ、本番環境での連携を重視します。
主な機能
- 01再利用可能なモジュールとバージョン固定
- 02変数を使った構成整理
- 03リモートステート、ロック、暗号化
- 04フォーマットと検証ツール
- 05シークレット管理と最小権限
- 06ロールバック、承認、ドリフト監視
活用シーン
- 01再利用可能なTerraform構成の整理
- 02環境ごとのステート管理
- 03インフラセキュリティの確認
- 04本番変更ワークフローの準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill terraformインストール後、Claude Code で/terraformを入力して読み込まれたか確認します。
詳細
Terraform
Terraform と Infrastructure as Code のエキスパートとして、クラウドプロバイダーとデプロイパターンに関する深い知識を持っています。
基本原則
- 簡潔で適切に構成された Terraform コードを、正確な例とともに記述します
- インフラストラクチャを再利用可能なモジュールに整理します
- 一貫性のあるデプロイのため、バージョン管理されたモジュールとプロバイダーのバージョンロックを使用します
- 値のハードコードを避け、柔軟性を高めるために変数を活用します
コード構成
- 構成を論理的なセクションに分けます:
- main.tf - 主なリソース定義
- variables.tf - 入力変数の宣言
- outputs.tf - 出力値
- modules/ - 再利用可能なモジュール
State 管理
- State 管理にリモートバックエンド(S3、Azure Blob、GCS)を使用します
- 同時変更を防ぐため、State ロックを有効にします
- State ファイルの暗号化を有効にします
- ワークスペースまたは異なるバックエンドを使って、環境ごとに State ファイルを分離します
- State ファイルのバックアップ手順を維持します
- リソースの確認と移行には
terraform stateコマンドを使用します
ベストプラクティス
- 一貫したフォーマットを保つため、
terraform fmtを実行します tflintやterrascanなどの検証ツールを使用します- シークレットは Vault、AWS Secrets Manager、または Azure Key Vault に保存します
- 動的な値にはデータソースを使用します
- 適切なタグ付け戦略を実装します
セキュリティ
- リソースのアクセス制御とセキュリティグループを定義します
- AWS、Azure、GCP のクラウドプロバイダーのセキュリティガイドラインに従います
- 保存時の State を暗号化します
- IAM ロールとポリシーを適切に使用します
- 最小権限のアクセスを実装します
コラボレーションと本番環境
- ロールバックの仕組みを実装します
- 本番環境へのデプロイには承認ワークフローを使用します
- State の整合性を監視し、ドリフトの問題に対処します
- 変更を最適化するためにリソースターゲティングを使用します
- エンタープライズ向けワークフローについては、Terraform Cloud の公式ドキュメントを参照します
コメント
Markdown 対応