AWS Cli를 사용하여 Route53 설정하기 (생성, 변경, 삭제) | How can I create a simple resource record set in Amazon Route 53 using the AWS Command Line Interface (AWS CLI)?
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