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

上次更新时间:2020 年 6 月 11 日

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

解决方法

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

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


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?