マネコンで作った S3 を Terraform 管理下に置く

マネコンで作って terraform import して定義ファイルを作りたい。

とりあえずマネコンで全てデフォルト(チェックボックスの状態など変えず)で作った。

コマンドを実行する前に.tfファイルにリソース定義をしておく必要がある。

resource "aws_s3_bucket" "xxx" {
  bucket = "xxx"
}

インポート実行する。

terraform import aws_s3_bucket.xxx xxx

成功するとterraform.tfstate のresourcesにオブジェクトが追加される。

あとは追加されたオブジェクトを見ながらリソース定義をしていく。

terraform plan で差分なしと表示されれば、IaC化完了!

terraform plan
aws_s3_bucket.xxx: Refreshing state... [id=xxx]

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.

設定内容にもよるがかなり簡単にインポートできた!

terraform planの動きが軽くて体験良かったし、既存リソースのインポートはCFnより扱い安いかも。