Route 53のレコードのインポート方法が若干特殊で手間取ったので、メモしておきます。
ホストゾーン(Hosted zones)のインポート
tfファイルに空のリソースを定義し、
resource "aws_route53_zone" "hogehoge" {
}
ホストゾーンID(Hosted zone ID)を指定してインポートします。
terraform import aws_route53_zone.hogehoge XXXXXXXXXXXX
レコードのインポート
同様にtfファイルに空のリソースを定義します。
resource "aws_route53_record" "fugafuga" {
}
リソースの指定方法はちょっと特殊です。Terraformのヘルプページにはこうあります。
Route53 Records can be imported using ID of the record, which is the zone identifier, record name, and record type, separated by underscores (_)E.g.,
(意訳) Route53のレコードをインポートするためには、ホストゾーンID・レコード名・レコードタイプをアンダースコアで区切ったIDを指定する必要があります。
ホストゾーンIDは、インポートしたいレコードが所属するホストゾーンのIDです。(ホストゾーンをインポートするときに指定したID)
レコードタイプはDNSレコードの種別で、ルーティング先のリソースによって変わります。
例えばALBにルーティングしたい場合はA
に、他のドメインにルーティングする場合はCNAME
になります。
Hosted zone IDがXXXXXXXXXXXX
、ドメイン名がwww.sample.com
、レコードタイプがA
のレコードをインポートする場合は次のように指定します。
terraform import aws_route53_record.fugafuga XXXXXXXXXXXX_www.sample.com_A