다른 AWS 계정의 Route 53 상태 확인을 내 계정의 레코드 세트에 연결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 6월 11일

다른 AWS 계정의 Amazon Route 53 상태 확인을 내 계정의 레코드 세트에 연결하려면 어떻게 해야 합니까?

해결 방법

Route 53 상태 확인과 레코드 세트가 동일한 AWS 계정에 있지 않은 경우에도 상태 확인을 레코드 세트에 연결할 수 있습니다. 이렇게 하려면 AWS Command Line Interface(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"
    }
]

참고: 이 스크립트의 자리 표시자를 해당 값으로 바꿔야 합니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?