AWS CLI를 사용하여 Amazon Route 53에 간단한 리소스 레코드 세트를 생성하려면 어떻게 해야 하나요?

3분 분량
0

 AWS Command Line Interface(AWS CLI)를 사용하여 Amazon Route 53에 간단한 리소스 레코드 세트를 생성하려고 합니다.

해결 방법

리소스 레코드 세트를 생성, 삭제 또는 변경(upsert)하려면 Route 53 API에 대해 ChangeResourceRecordSets 요청을 사용하세요.

참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

ChangeResourceRecordSets 요청 생성

ChangeResourceRecordSets 요청으로 다음 작업을 수행할 수 있습니다.

  • CREATE: 호스팅 영역에 지정된 값을 지닌 레코드 세트를 생성합니다.
  • DELETE: 호스팅 영역에 지정된 값을 지닌 레코드 세트를 삭제합니다.
  • UPSERT: 지정된 값으로 새 레코드 세트를 생성하거나 해당 레코드 세트가 이미 있는 경우 지정된 값으로 레코드 세트를 업데이트합니다.

간단한 A 레코드 세트를 생성, 삭제 또는 변경하려면 다음 예제 JSON 파일(sample.json)을 수정하세요. 요청 본문에는 다음과 같이 변경 배치라고 하는 변경 항목 목록이 포함됩니다.

{
            "Comment": "CREATE/DELETE/UPSERT a record ",
            "Changes": [{
            "Action": "CREATE",
                        "ResourceRecordSet": {
                                    "Name": "a.example.com",
                                    "Type": "A",
                                    "TTL": 300,
                                 "ResourceRecords": [{ "Value": "4.4.4.4"}]
}}]
}

호스팅 영역에서 도메인에 대한 리소스 레코드 세트를 생성하려면 Route 53 API를 change-resource-record-sets명령과 함께 사용하세요. sample.json 파일은 다음과 같이 레코드 생성을 위한 값을 지정합니다.

$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXX --change-batch file://sample.json

PENDING 상태가 다음과 같이 고유 ID와 함께 반환됩니다.

$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXXX --change-batch file://sample.json
{
    "ChangeInfo": {
        "Status": "PENDING",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }
}

ID에 이 상태가 표시되지 않으면 JSON 파일에 오류가 있는 것입니다.

변경 상태를 확인하려면 API 호출 get-changechange-resource-record-sets 응답의 Id 값과 함께 다음과 같이 사용하세요.

  • PENDING은 이 요청의 변경 사항이 아직 모든 Route 53 DNS 서버에 전파되지 않았음을 나타냅니다. 모든 변경 배치 요청의 초기 상태입니다.
  • INSYNC는 해당 변경 사항이 모든 Route 53 DNS 서버에 전파됨을 나타냅니다.

전파 전의 PENDING 상태는 다음과 같습니다.

aws route53  get-change --id /change/C3QYC83OA0KX5K
{
    "ChangeInfo": {
        "Status": "PENDING",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }
}

전파 후의 INSYNC 상태는 다음과 같습니다.

$ aws route53  get-change --id /change/C3QYC83OA0KX5K
{
    "ChangeInfo": {
        "Status": "INSYNC",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }

동시 요청 생성

각 동시 요청마다 별도의 작업 키를 사용해야 합니다. 예를 들어 한 개의 요청으로 A 레코드와 MX 레코드를 생성할 수는 없습니다. 대신 동일한 도메인 이름에 대해 다음과 같은 형식의 레코드 세트 두 개를 생성해야 합니다.

{
                "Comment": "CREATE/DELETE/UPDATE",
                 "Changes": [ {
                             "Action": "CREATE",
                            "ResourceRecordSet": {
                                "Name": "a.example.com",
                                    "Type": "A",
                                     "TTL": 300,
                                  "ResourceRecords": [{"Value": "5.5.5.5"}]
                            }},
{
                            "Action": "CREATE",
                            "ResourceRecordSet": {
                                 "Name": "a.example.com",
                                 "Type": "MX",
                                  "TTL": 300,
                                  "ResourceRecords": [{"Value": "10 example.com"}]
                           }}
]
}

관련 정보

AWS CLI를 사용하여 Route 53 리소스 레코드 세트를 생성하는 동안 발생한 오류를 해결하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 일 년 전