別の AWS アカウントの Amazon Route 53 ヘルスチェックを、自分のアカウントのレコードセットに関連付ける方法を教えてください。
解決方法
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
ヘルスチェックとレコードセットが同じ AWS アカウントにない場合でも、Route 53 ヘルスチェックをレコードセットに関連付けることができます。これを行うには、AWS CLI を使用して、change-resource-record-sets コマンドを実行します。CREATE または UPSERT を使ってレコードセットを追加または更新し、他の AWS アカウントのヘルスチェック ID を指定します。
aws route53 change-resource-record-sets --hosted-zone-id Z1XYZ123XYZ --change-batch file://route53.json
注: 上記のコマンドのプレースホルダーを、値に置き換えてください。
他のアカウントでヘルスチェックが使用可能であることを確認するには:
route53.json ファイルには、次のデータが含まれています:
{
"Comment": "This is route53.json file",
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "abc.example.com",
"Type": "A",
"SetIdentifier": "primary-record",
"Failover": "PRIMARY",
"TTL": 60,
"ResourceRecords": [
{
"Value": "1.1.1.1"
}
],
"HealthCheckId": "0385ed2d-d65c-4f63-a19b-2412a31ef431"
}
},
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "abc.example.com",
"Type": "A",
"SetIdentifier": "secondary-record",
"Failover": "SECONDARY",
"TTL": 60,
"ResourceRecords": [
{
"Value": "2.2.2.2"
}
]
}
}
]
}
重要: ヘルスチェックは別のアカウントに属しているため、Route 53 コンソールは RRSet に関連するヘルスチェックを表示しません。ただし、AWS CLI を使用して、RRSet に関連するヘルスチェックを確認することができます。
$ aws route53 list-resource-record-sets --hosted-zone-id Z1XYZ123XYZ --query "ResourceRecordSets[?Name == 'abc.example.com.']" --output json
[
{
"HealthCheckId": "0385ed2d-d65c-4f63-a19b-2412a31ef431",
"Name": "abc.example.com.",
"Type": "A",
"Failover": "PRIMARY",
"ResourceRecords": [
{
"Value": "1.1.1.1"
}
],
"TTL": 60,
"SetIdentifier": "primary-record"
},
{
"Name": "abc.example.com.",
"Type": "A",
"Failover": "SECONDARY",
"ResourceRecords": [
{
"Value": "2.2.2.2"
}
],
"TTL": 60,
"SetIdentifier": "secondary-record"
}
]
注: このスクリプトのプレースホルダーを、値に置き換えてください。