Open10
Terraform で既存 AWS リソースを import する
AWSアカウント Foo にあるリソースを、
Bar のAWSアカウントに import してみる
手順としては、
- Foo で稼働している AWS リソースを Terraform に書き起こす
- Terraform に書き起こされたリソースを Bar で実行する
で良いか?
チュートリアルやってみたところ、ファイル構成はこんな感じ
- main.tf (provider の記述のみ。今回は docker)
- terraform.tf (terraform の required_version と required_providers の記述のみ)
- docker.tf (import id to の記述のみ)
- generated.tf (自動生成されたファイル。docker の port や image の情報などが書かれている。ファイル名は可変)
↑を適宜、AWS に置き換えておけば良いのでは
terraform plan -generate-config-out=generated.tf
すると、generated.tf
にリソースの設定が全て書き込まれる。
ただ、import block で指定した全てのリソースが書き込まれるので、import block でS3やLambdaといった複数のリソースをしている場合、一つの generated.tf
にまとめて書き込まれてしまうので、それちょっとイヤ
なので、一旦、全てのリソースを gererated.tf へ import したあと、良い感じに別ファイルに書き写した方がよさそう
- compute.tf
- storage.tf
みたいに
一括でやると generated ファイルの視認性が下がるので、
論理分割ごとに、徐々に import していくのがよさそう
あと、動作確認できる単位で切った方が良いね