如何将另一个 AWS 账户中的 Route 53 运行状况检查与我的账户中的记录集关联?

上次更新日期:2020 年 6 月 15 日

如何将另一个 AWS 账户中的 Amazon Route 53 运行状况检查与我的账户中的记录集关联?

解决方法

注意:如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您运行的是最新版本的 AWS CLI。

您可以将 Route 53 运行状况检查与记录集关联,即使运行状况检查和记录集不在同一个 AWS 账户中也可以。要执行此操作,请使用 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

注意:确保使用相应的值替换上述命令中的占位符。

账户之间不需要 AWS Identity and Access Management (IAM) 信任关系。但是,您必须创建一个 IAM 信任关系,以执行以下操作:

从 Route 53 控制台中的运行状况检查下拉列表中查看其他账户的运行状况检查。 使用get-health-check命令。

确认运行状况检查可在其他账户中使用:

在Route 53 控制台中,选择运行状况检查。然后,选中“运行状况检查 ID”列,以确认在 route53.json 文件中使用了正确的运行状况检查。 使用list-resource-record-sets命令。

route53.json 文件包含以下数据:

{
    "Comment": "This is route53.json file",
    "Changes": ,
                "HealthCheckId": "0385ed2d-d65c-4f63-a19b-2412a31ef431"
            }
        },
        {
            "Action": "CREATE",
            "ResourceRecordSet": {
                "Name": "abc.example.com",
                "Type": "A",
                "SetIdentifier": "secondary-record",
                "Failover": "SECONDARY",
                "TTL": 60,
                "ResourceRecords": 
            }
        }
    ]

重要提示:Route 53 控制台不会在 RRSet 上显示关联的运行状况检查,因为运行状况检查属于另一个账户。但是,您可以使用 AWS CLI 查看 RRSet 的关联运行状况检查:

$ aws route53 list-resource-record-sets --hosted-zone-id Z1XYZ123XYZ --query "ResourceRecordSets" --output json

, 
        "TTL": 60, 
        "SetIdentifier": "primary-record"
    }, 
    {
    "Name": "abc.example.com.", 
        "Type": "A", 
        "Failover": "SECONDARY", 
        "ResourceRecords": , 
    "TTL": 60, 
        "SetIdentifier": "secondary-record"
    }
]

注意:确保使用相应的值替换此脚本中的占位符。</p