routing-traffic-with-route53-and-cloudfront은(는) 무엇을 하나요?
Amazon Route 53을 구성하여 커스텀 도메인으로 CloudFront 배포에 트래픽을 라우팅합니다. DNS 별칭 레코드, 대체 도메인 이름(CNAME), HTTPS용 ACM 인증서 및 CloudFront의 IPv6 지원을 설정할 때 사용합니다.
개요
이 스킬은 AWS 인프라에서 커스텀 도메인(예: www.example.com)을 CloudFront 배포에 연결하는 전체 과정을 안내합니다. 주요 구성 요소는 다음과 같습니다.
- Route 53 호스팅 영역에 별칭 레코드(A/AAAA) 생성
- CloudFront 배포에 대체 도메인 이름(CNAME) 추가
- ACM 인증서를 통한 HTTPS 활성화
- CloudFront IPv6 지원 구성
사전 요구 사항
- AWS 계정 및 적절한 IAM 권한
- Route 53에 등록된 도메인(호스팅 영역)
- CloudFront 배포(ID 필요)
- ACM 인증서(us-east-1 리전에서 발급)
사용 방법
- Route 53 호스팅 영역에서 CloudFront 배포를 가리키는 별칭 레코드를 생성합니다.
aws cloudfront update-distribution명령어를 사용하여 CloudFront 배포에 대체 도메인 이름을 추가합니다.- ACM 인증서를 CloudFront 배포에 연결합니다.
- IPv6 지원이 필요한 경우, CloudFront 배포에서
IsIPV6Enabled플래그를true로 설정합니다.
예제 명령어
Route 53 별칭 레코드 생성(Route 53 CLI 사용):
aws route53 change-resource-record-sets \
--hosted-zone-id ZONE_ID \
--change-batch '{
"Changes": [
{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "www.example.com",
"Type": "A",
"AliasTarget": {
"HostedZoneId": "Z2FDTNDATAQYW2",
"DNSName": "d123.cloudfront.net",
"EvaluateTargetHealth": false
}
}
}
]
}'
CloudFront 배포 업데이트:
aws cloudfront get-distribution-config --id DISTRIBUTION_ID > config.json
# config.json 수정: Aliases.Items에 대체 도메인 이름 추가, IsIPV6Enabled 활성화
aws cloudfront update-distribution --id DISTRIBUTION_ID --if-match ETAG --distribution-config file://config.json
지원 플랫폼
- AWS CLI
- AWS CloudFormation
- Terraform (AWS 프로바이더)
- AWS SDK (Python, JavaScript 등)
참고 사항
- ACM 인증서는 반드시
us-east-1리전에서 발급되어야 CloudFront에서 사용 가능합니다. - CloudFront 배포 업데이트는 전파에 시간이 소요될 수 있습니다(보통 5-15분).
- IPv6 지원이 활성화되면 CloudFront는 AAAA 레코드 쿼리에도 응답합니다.
문제 해결
- "CNAMEAlreadyExists" 오류: 대체 도메인 이름이 이미 다른 CloudFront 배포에 연결되어 있음. 해당 배포에서 제거 후 다시 시도하세요.
- 인증서가 CloudFront에 표시되지 않음: 인증서가
us-east-1리전에 있는지 확인하세요. - DNS 전파 지연: Route 53 변경 사항이 완전히 전파되는 데 최대 48시간이 걸릴 수 있습니다.
관련 리소스
이 스킬은 CloudFront 배포에 대한 DNS 및 HTTPS 구성을 단순화하여 커스텀 도메인을 통한 안전하고 빠른 콘텐츠 전송을 가능하게 합니다.