terraform import
AWS MGNで移行したAmazon EC2インスタンスをTerraformで管理する | NHN テコラス Tech Blog | AWS、機械学習、IoTなどの技術ブログ 2022
Terraform で既存のインフラリソースをインポートする方法 | 株式会社ビヨンド 2020
Route53
awsのコンソールなどからIDを持ってきて、それを引数にimportをたたく
$ terraform import aws_route53_zone.mydomain Z1W0SAOSERTYUrecordをimportするときは若干特殊なID指定になる
Route53 Records can be imported using ID of the record. The ID is made up as ZONEID_RECORDNAME_TYPE_SET-IDENTIFIER
こんな感じ
Z4KAPRWWNC7JR_dev.example.com_NS_dev
$ terraform import aws_route53_record.www--mydomain QT9WXXXXXXXX_www.mydomain.com_Aterraformでroute53の管理 2020
1.5.0 以降のimport blockだと
import { to = aws_route53_record.www--mydomain id = "QT9WXXXXXXXX_www.mydomain.com_A" }
Weighted routing policyの場合はSET-IDENTIFIER(レコードID)が必要
$ terraform import aws_route53_record.www--mydomain QT9WXXXXXXXX_www.mydomain.com_A_id
Terraform管理外の既存のレコードがあると以下のエラー
│ Error: creating Route 53 Record: InvalidChangeBatch: [Tried to create resource record set [name='dev.example.com.', type='A'] but it already exists]
この場合は import する。allow_overwrite での上書きは推奨されていない。
プログラマーの雑記: terraformでRoute53にレコードを追加しようとしたら、「but it already exist」のエラーが発生しました 2019