1ヶ月でAWS環境をTerraform import → module化 → prd apply
概要¶
Cloud Praticaに入会して3週間でAWS構成を構築、1ヶ月でstg環境を Terraform import → module化 → prd apply まで完了した学習記録。
Terraform import → module化 → apply の流れ¶
terraform import とは¶
すでに手動で作成した既存のAWSリソースをTerraformの管理下に取り込む操作。
importすると .tfstate にリソース情報が記録される。
しかしコード(.tfファイル)は自動生成されないので、手動で対応するリソース定義を書く必要がある。
module化とは¶
再利用可能なTerraformコードのまとまりに切り出すこと。
modules/
ec2/
main.tf ← EC2インスタンスの定義
variables.tf ← 入力変数
outputs.tf ← 出力値
rds/
main.tf
...
environments/
stg/
main.tf ← module "ec2" { source = "../../modules/ec2" ... }
prd/
main.tf ← 同じモジュールを別の変数で呼ぶ
stgとprdで同じモジュールを使い、変数(インスタンスタイプ、レプリカ数など)だけ変える構成が一般的。
stg → prd apply の意味¶
stg環境で動作確認したTerraformコードを、同じモジュールを使ってprd環境に適用すること。 stgで人柱になって設定を固め、prdに展開する安全な進め方。
学びとして重要な点¶
- 苦手意識の克服: Terraformはstateファイルや依存関係の概念で最初つまずきやすいが、一度stgで手を動かすと理解が一気に進む
- importから始める: 既存インフラがある現場では新規構築より import → コード化が多い。この流れを経験できたのは実践的
- module化のタイミング: 最初からモジュール化しようとすると過設計になりやすい。まずベタ書きして、パターンが見えてからmodule化するのが現実的