はじめに
Terraformを業務上使用するなかで詰まったことがあったので忘備録として記事にします。
具体的には、Terraform CloudとローカルのTerraform環境を統合します。
セットアップ
1 - tfenvを使用してTerraform Cloudのバージョンに合わせてインストール
2 - Terraformのログイン
terraform login
3 - Enter a value: で'yes'と入力
4 - Terraform Cloud上でTokenを生成
5 - 生成したTokenを入力すると下記画面が表示される
6 - Terraform initを実行 terraform init
Terraform構成ファイルを初期化し、必要なプロバイダーやモジュールをダウンロードする
作業
1 - 該当のリポジトリでterraform state list
を実行
aws_route53_record.xxx
aws_route53_record.xxx
...
2 - terraform state show
でレコード詳細を確認
terraform state show aws_route53_record.xxx
3 - 事前にroute53_record.tfに任意のresource名でresourceを作成します
resource "aws_route53_zone" "任意のresource名" {
}
4 - 下記コマンドを実行
terraform import aws_route53_record.<任意のリソース名> <ゾーンid>*<レコード名>*<レコードタイプ
5 - terraform state list
を実行して任意のresource名でレコードが追加されていれば成功
まとめ
Terraform Cloudとインフラ構成の差分を埋めるための作業ですが、いまいちイメージできずに作業していて最初は苦労しました。既存のインフラの構成をTerraformによって管理できるようにするための処理だと忘れないようにしておきたいです。
最後に
私の働いている会社で経験の有無を問わず採用を行っています。
興味のある方は是非カジュアル面談から応募してみてください!