🐙

terraformでコンソールで作成したものをコード化する

2024/04/11に公開

やること

  1. マネジメントコンソールで適当なリソースを作成する
  2. terraform aws provider(awsの場合)に行き該当リソースで作成したもので思い当たるリソースをリストアップする
  3. 2でリストアップしたリソースに適当に名前をつける
  4. 2のリストアップした画面のページでimport方法を確認し、import用のリソースIDをマネジメントコンソールから特定し、リストアップする
  5. terraformでimport文を書く
terraform import -var-file env/<任意>.tfvars aws_api_gateway.test xxxxx/yy
...
  1. aws_api_gateway.testに合わせて空のコードを作成する
    • import文作成が手間な場合、6を実行すると7の記述がterminalに出力されるため、貼り付ける
resource "aws_api_gateway" "test" {} 
  1. 繰り返す
  2. 5のimport文を実行する
    • import成功の文言が表示される
  3. 5のimport文のリソースを使い、terraform state show <リソース名>を実行
    • terraform文が出力される
  4. 出力されたコードをファイルに貼り付ける
  5. terraform plan再実施 -> エラーがないこと確認 あればエラーが出た該当のフィールドに対して対処する(消す等)
  6. done!!

※この方法で行う場合、自分の想定しているところ以外のリソースが作られている場合、コード化出来ない可能性がある

Discussion