를 사용하여 Route 53 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용하여 Route 53 예제 AWS CLI

다음 코드 예제에서는 Route 53과 AWS Command Line Interface 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 change-resource-record-sets을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 레코드 세트를 생성, 업데이트 또는 삭제하려면

다음 change-resource-record-sets 명령은 파일에서 hosted-zone-id Z1R8UBAEXAMPLE 및 JSON 형식 구성을 사용하여 리소스 레코드 세트를 생성합니다. C:\awscli\route53\change-resource-record-sets.json

aws route53 change-resource-record-sets --hosted-zone-id Z1R8UBAEXAMPLE --change-batch file://C:\awscli\route53\change-resource-record-sets.json

자세한 내용은 Amazon Route 53 POST 참조의 Word ChangeResourceRecordSets 를 참조하세요. Amazon Route 53 API

JSON 파일의 구성은 생성하려는 리소스 레코드 세트의 종류에 따라 달라집니다.

BasicWeightedAliasWeighted AliasLatencyLatency AliasFailoverFailover Word 별칭

기본 구문:

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ] } }, {...} ] }

가중치 기반 구문:

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Weight": value between 0 and 255, "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ], "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

별칭 구문:

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "AliasTarget": { "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone", "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone", "EvaluateTargetHealth": true|false }, "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

가중치 기반 별칭 구문:

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Weight": value between 0 and 255, "AliasTarget": { "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone", "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone", "EvaluateTargetHealth": true|false }, "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

지연 시간 구문:

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Region": "Amazon EC2 region name", "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ], "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

지연 시간 별칭 구문:

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Region": "Amazon EC2 region name", "AliasTarget": { "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone", "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone", "EvaluateTargetHealth": true|false }, "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

장애 조치 구문:

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Failover": "PRIMARY" | "SECONDARY", "TTL": time to live in seconds, "ResourceRecords": [ { "Value": "applicable value for the record type" }, {...} ], "HealthCheckId": "ID of an Amazon Route 53 health check" } }, {...} ] }

장애 조치 별칭 구문:

{ "Comment": "optional comment about the changes in this change batch request", "Changes": [ { "Action": "CREATE"|"DELETE"|"UPSERT", "ResourceRecordSet": { "Name": "DNS domain name", "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA", "SetIdentifier": "unique description for this resource record set", "Failover": "PRIMARY" | "SECONDARY", "AliasTarget": { "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone", "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone", "EvaluateTargetHealth": true|false }, "HealthCheckId": "optional ID of an Amazon Route 53 health check" } }, {...} ] }

다음 코드 예시에서는 change-tags-for-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

다음 명령은 ID로 지정된 상태 확인 리소스owner에 라는 태그를 추가합니다.

aws route53 change-tags-for-resource --resource-type healthcheck --resource-id 6233434j-18c1-34433-ba8e-3443434 --add-tags Key=owner,Value=myboss

다음 명령은 ID로 지정된 호스팅 영역 리소스owner에서 라는 태그를 제거합니다.

aws route53 change-tags-for-resource --resource-type hostedzone --resource-id Z1523434445 --remove-tag-keys owner

다음 코드 예시에서는 create-health-check을 사용하는 방법을 보여 줍니다.

AWS CLI

상태 확인을 생성하려면

다음 create-health-check 명령은 파일에서 호출자 참조 2014-04-01-18:47 및 JSON 형식 구성을 사용하여 상태 확인을 생성합니다. C:\awscli\route53\create-health-check.json

aws route53 create-health-check --caller-reference 2014-04-01-18:47 --health-check-config file://C:\awscli\route53\create-health-check.json

JSON 구문:

{ "IPAddress": "IP address of the endpoint to check", "Port": port on the endpoint to check--required when Type is "TCP", "Type": "HTTP"|"HTTPS"|"HTTP_STR_MATCH"|"HTTPS_STR_MATCH"|"TCP", "ResourcePath": "path of the file that you want Amazon Route 53 to request--all Types except TCP", "FullyQualifiedDomainName": "domain name of the endpoint to check--all Types except TCP", "SearchString": "if Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string to search for in the response body from the specified resource", "RequestInterval": 10 | 30, "FailureThreshold": integer between 1 and 10 }

Route 53 리소스 레코드 세트에 상태 확인을 추가하려면 change-resource-record-sets 명령을 사용합니다.

자세한 내용은 Amazon Route 53 개발자 안내서의 Amazon Route 53 상태 확인 및 DNS 장애 조치를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateHealthCheck를 참조하세요.

다음 코드 예시에서는 create-hosted-zone을 사용하는 방법을 보여 줍니다.

AWS CLI

호스팅 영역을 생성하려면

다음 create-hosted-zone 명령은 호출자 참조 2014-04-01-18:47를 사용하여 example.com라는 호스팅 영역을 추가합니다. 선택적 주석에는 공백이 포함되므로 따옴표로 묶어야 합니다.

aws route53 create-hosted-zone --name example.com --caller-reference 2014-04-01-18:47 --hosted-zone-config Comment="command-line version"

자세한 내용은 Amazon Route 53 개발자 안내서의 호스팅 영역 작업 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateHostedZone를 참조하세요.

다음 코드 예시에서는 delete-health-check을 사용하는 방법을 보여 줍니다.

AWS CLI

상태 확인을 삭제하려면

다음 delete-health-check 명령은 health-check-id의를 사용하여 상태 확인을 삭제합니다e75b48d9-547a-4c3d-88a5-ae4002397608.

aws route53 delete-health-check --health-check-id e75b48d9-547a-4c3d-88a5-ae4002397608
  • API 세부 정보는 AWS CLI 명령 참조DeleteHealthCheck를 참조하세요.

다음 코드 예시에서는 delete-hosted-zone을 사용하는 방법을 보여 줍니다.

AWS CLI

호스팅 영역을 삭제하려면

다음 delete-hosted-zone 명령은 Z36KTIQEXAMPLEid를 사용하여 호스팅 영역을 삭제합니다.

aws route53 delete-hosted-zone --id Z36KTIQEXAMPLE
  • API 세부 정보는 AWS CLI 명령 참조DeleteHostedZone를 참조하세요.

다음 코드 예시에서는 get-change을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 레코드 세트에 대한 변경 상태를 가져오려면

다음 get-change 명령은의 Id가 있는 change-resource-record-sets 요청에 대한 상태 및 기타 정보를 가져옵니다/change/CWPIK4URU2I5S.

aws route53 get-change --id /change/CWPIK4URU2I5S
  • API 세부 정보는 AWS CLI 명령 참조GetChange를 참조하세요.

다음 코드 예시에서는 get-health-check을 사용하는 방법을 보여 줍니다.

AWS CLI

상태 확인에 대한 정보를 가져오려면

다음 get-health-check 명령은 health-check-id의가 있는 상태 확인에 대한 정보를 가져옵니다02ec8401-9879-4259-91fa-04e66d094674.

aws route53 get-health-check --health-check-id 02ec8401-9879-4259-91fa-04e66d094674
  • API 세부 정보는 AWS CLI 명령 참조GetHealthCheck를 참조하세요.

다음 코드 예시에서는 get-hosted-zone을 사용하는 방법을 보여 줍니다.

AWS CLI

호스팅 영역에 대한 정보를 가져오려면

다음 get-hosted-zone 명령은 Z1R8UBAEXAMPLEid를 사용하여 호스팅 영역에 대한 정보를 가져옵니다.

aws route53 get-hosted-zone --id Z1R8UBAEXAMPLE
  • API 세부 정보는 AWS CLI 명령 참조GetHostedZone를 참조하세요.

다음 코드 예시에서는 list-health-checks을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 AWS 계정과 연결된 상태 확인을 나열하려면

다음 list-health-checks 명령은 현재 AWS 계정과 연결된 처음 100개의 상태 확인에 대한 자세한 정보를 나열합니다.

aws route53 list-health-checks

상태 확인이 100개 이상 있거나 100개 미만의 그룹으로 나열하려면 --maxitems 파라미터를 포함하세요. 예를 들어 상태 확인을 한 번에 하나씩 나열하려면 다음 명령을 사용합니다.

aws route53 list-health-checks --max-items 1

다음 상태 확인을 보려면 이전 명령에 대한 응답NextToken에서의 값을 가져와--starting-token서 파라미터에 포함시킵니다. 예:

aws route53 list-health-checks --max-items 1 --starting-token Z3M3LMPEXAMPLE
  • API 세부 정보는 AWS CLI 명령 참조ListHealthChecks를 참조하세요.

다음 코드 예시에서는 list-hosted-zones-by-name을 사용하는 방법을 보여 줍니다.

AWS CLI

다음 명령은 도메인 이름별로 최대 100개의 호스팅 영역을 나열합니다.

aws route53 list-hosted-zones-by-name

출력:

{ "HostedZones": [ { "ResourceRecordSetCount": 2, "CallerReference": "test20150527-2", "Config": { "Comment": "test2", "PrivateZone": false }, "Id": "/hostedzone/Z119WBBTVP5WFX", "Name": "2.example.com." }, { "ResourceRecordSetCount": 2, "CallerReference": "test20150527-1", "Config": { "Comment": "test", "PrivateZone": false }, "Id": "/hostedzone/Z3P5QSUBK4POTI", "Name": "www.example.com." } ], "IsTruncated": false, "MaxItems": "100" }

다음 명령에는 www.example.com으로 시작하는 이름순으로 정렬된 호스팅 영역이 나열됩니다.

aws route53 list-hosted-zones-by-name --dns-name www.example.com

출력:

{ "HostedZones": [ { "ResourceRecordSetCount": 2, "CallerReference": "mwunderl20150527-1", "Config": { "Comment": "test", "PrivateZone": false }, "Id": "/hostedzone/Z3P5QSUBK4POTI", "Name": "www.example.com." } ], "DNSName": "www.example.com", "IsTruncated": false, "MaxItems": "100" }

다음 코드 예시에서는 list-hosted-zones을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 AWS 계정과 연결된 호스팅 영역을 나열하려면

다음 list-hosted-zones 명령은 현재 AWS 계정과 연결된 처음 100개의 호스팅 영역에 대한 요약 정보를 나열합니다.

aws route53 list-hosted-zones

100개 이상의 호스팅 영역이 있거나 100개 미만의 그룹으로 나열하려면 --max-items 파라미터를 포함합니다. 예를 들어, 호스팅 영역을 한 번에 하나씩 나열하려면 다음 명령을 사용합니다.

aws route53 list-hosted-zones --max-items 1

다음 호스팅 영역에 대한 정보를 보려면 이전 명령에 대한 응답에서 NextToken의 값을 가져와 --starting-token 파라미터에 포함합니다. 예를 들면 다음과 같습니다.

aws route53 list-hosted-zones --max-items 1 --starting-token Z3M3LMPEXAMPLE
  • API 세부 정보는 AWS CLI 명령 참조ListHostedZones를 참조하세요.

다음 코드 예시에서는 list-query-logging-configs을 사용하는 방법을 보여 줍니다.

AWS CLI

쿼리 로깅 구성을 나열하려면

다음 list-query-logging-configs 예제에서는 호스팅 영역에 대한 AWS 계정의 처음 100개 쿼리 로깅 구성에 대한 정보를 나열합니다Z1OX3WQEXAMPLE.

aws route53 list-query-logging-configs \ --hosted-zone-id Z1OX3WQEXAMPLE

출력:

{ "QueryLoggingConfigs": [ { "Id": "964ff34e-ae03-4f06-80a2-9683cexample", "HostedZoneId": "Z1OX3WQEXAMPLE", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/route53/example.com:*" } ] }

자세한 내용은 Amazon Route 53 개발자 안내서 DNS 쿼리 로깅을 참조하세요.

다음 코드 예시에서는 list-resource-record-sets을 사용하는 방법을 보여 줍니다.

AWS CLI

호스팅 영역의 리소스 레코드 세트를 나열하려면

다음 list-resource-record-sets 명령은 지정된 호스팅 영역의 처음 100개 리소스 레코드 세트에 대한 요약 정보를 나열합니다.

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE

호스팅 영역에 100개 이상의 리소스 레코드 세트가 포함되어 있거나 100개 미만의 그룹으로 나열하려는 경우 --maxitems 파라미터를 포함합니다. 예를 들어 리소스 레코드 세트를 한 번에 하나씩 나열하려면 다음 명령을 사용합니다.

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --max-items 1

호스팅 영역의 다음 리소스 레코드 세트에 대한 정보를 보려면 이전 명령에 대한 응답NextToken에서의 값을 가져와--starting-token서 파라미터에 포함시킵니다. 예:

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --max-items 1 --starting-token Z3M3LMPEXAMPLE

특정 이름의 모든 리소스 레코드 세트를 보려면 --query 파라미터를 사용하여 필터링합니다. 예:

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --query "ResourceRecordSets[?Name == 'example.domain.']"