AWS CLI를 사용하여 Amazon Route 53에서 간단한 리소스 레코드 세트를 만들어 보자
AWS 공식 사이트에 의하면...
Route 53 API에 대해 ChangeResourceRecordSets 요청을 사용하여
리소스 레코드 세트를 생성, 삭제 또는 변경(upsert)할 수 있습니다.
가능하다고 한다..!
지난 번 글에서 Route53 에서 Geolocation Routing policy를 적용한 레코드 셋을 생성 했었는데 이러한 설정을 한 두 레코드가
아닌 여러개의 곳, 또는 미국 전체 주에 배포 하려 할때 작업 효율이 떨어져 해당 명령어를 통해 진행 해보려고 한다.
지난 번 글
https://vipdeveloper.tistory.com/7
AWS Geolocation / sublocation setting (지리적 위치 / 하위 위치 설정 법) US states routing settings
Route 53 내 라우팅 설정을 통해 미국 주별 라우팅 설정을 해보기 Service / Route 53 선택 Create Record set 선택 후 Routing Policy : Geolocation 선택 Sublocation : 메뉴가 등장 -> 원하는 주 (state) 선택..
vipdeveloper.tistory.com
일단 기본 옵션 및 작업 명령어(Commend) 를 알아보자.
AWS 안내에 따르면 ChangeResourceRecordSets 요청 생성은 다음과 같은 작업을 수행 할 수 있다.
'Action' : CREATE | DELETE | UPSERT
- CREATE 호스팅 영역에서 지정된 값으로 레코드 세트를 생성
- DELETE 호스팅 영역에서 지정된 값으로 레코드 세트를 삭제
- UPSERT 지정된 값으로 새 레코드 세트를 만들거나, 해당 레코드 세트가 이미 있는 경우 지정된 값으로 레코드 세트를 업데이트
ResourceRecordSet
Name : 도메인 이름 | -+ fully qualified domain name
Type : DNS 레코드 유형 | DNS record type
TTL : time to live in seconds
ResourceRecords : applicable value for the record type
AliasTarget : 별칭 호스팅 영역 ID | hosted zone ID for your AWS resource or Route 53 hosted zone
DNSName : 별칭 대상 | DNS domain name for your AWS resource or another resource record set in this hosted zone
Geolocation : 지리적 위치 기반 설정
CountryCode : 국가 코드 | country code
SubdivisionCode : 미국 주 별 코드 | subdivision code
ChangeResourceRecordSets 예시
{
"Comment": ""CREATE/DELETE/UPSERT a record ",",
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "a.example.com",
"Type": "A",
"TTL": 300,
"ResourceRecords": [
{
"Value": "4.4.4.4"
}
]
}
}
]
}
실제 사용 ChangeResourceRecordSets 예시
{
"Comment": "Testing creating a record set",
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "test.en.vipdeveloper.com.",
"Type": "A",
"SetIdentifier": "ID_0",
"GeoLocation": {
"CountryCode": "US",
"SubdivisionCode": "OR"
},
"AliasTarget": {
"HostedZoneId": "Z1UJRXOUMOOFQ8",
"DNSName": "abc.execute-api.us-east-1.amazonaws.com.",
"EvaluateTargetHealth": false
}
}
}
]
}
AWS Cli 명령어
명령어 예시 1 )
aws route53 change-resource-record-sets --hosted-zone-id XXXXXXXXXX --change-batch file://sample.json
명령어 예시 2 )
파일로 명령을 전송해도 되나 명령어로 전송 해도 된다.
aws route53 change-resource-record-sets --hosted-zone-id XXXXXXXXXX --change-batch '{
"Comment": "creating a record set",
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "test.vipdeveloper.com.",
"Type": "A",
"SetIdentifier": "id_0",
"GeoLocation": {
"CountryCode": "US",
"SubdivisionCode": "OR"
},
"AliasTarget": {
"HostedZoneId": "ZZZZZZZZZZZ",
"DNSName": "abc.execute-api.us-east-1.amazonaws.com.",
"EvaluateTargetHealth": false
}
}
}
]
}
'
-- 참고 사이트
https://aws.amazon.com/premiumsupport/knowledge-center/simple-resource-record-route53-cli/?nc1=h_ls