

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

# 를 사용하여 Amazon Route 53 및 Route 53 VPC Resolver 리소스 생성 AWS CloudFormation
<a name="creating-resources-with-cloudformation"></a>

Amazon Route 53 및 Route 53 VPC Resolver는 AWS 리소스 및 인프라를 생성하고 관리하는 데 소요되는 시간을 줄일 수 있도록 리소스를 모델링하고 설정하는 데 도움이 되는 AWS CloudFormation서비스인와 통합됩니다. 원하는 모든 AWS 리소스를 설명하는 템플릿을 생성하면가 해당 리소스를 CloudFormation 프로비저닝하고 구성합니다.

를 사용할 때 템플릿을 재사용하여 Route 53 및 VPC Resolver 리소스를 일관되고 반복적으로 설정할 CloudFormation수 있습니다. 리소스를 한 번 설명한 다음 여러 AWS 계정 및 리전에서 동일한 리소스를 반복적으로 프로비저닝합니다.

## Route 53, VPC Resolver 및 CloudFormation 템플릿
<a name="working-with-templates"></a>

Route 53, VPC Resolver 및 관련 서비스에 대한 리소스를 프로비저닝하고 구성하려면 [CloudFormation 템플릿을](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html) 이해해야 합니다. 템플릿은 JSON 또는 YAML로 서식 지정된 텍스트 파일입니다. 이러한 템플릿은 CloudFormation 스택에서 프로비저닝하려는 리소스를 설명합니다. JSON 또는 YAML에 익숙하지 않은 경우 CloudFormation Designer를 사용하여 CloudFormation 템플릿을 시작할 수 있습니다. 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [CloudFormation Designer란 무엇입니까?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html)를 참조하세요.

Route 53는 CloudFormation에서 다음 리소스 유형 생성을 지원합니다.
+ `AWS::Route53::DNSSEC`
+ `AWS::Route53::HealthCheck`
+ `AWS::Route53::HostedZone`
+ `AWS::Route53::KeySigningKey`
+ `AWS::Route53::RecordSet`
+ `AWS::Route53::RecordSetGroup`

 Route 53 리소스에 대한 JSON 및 YAML 템플릿의 예를 비롯한 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [Amazon Route 53 리소스 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Route53.html)를 참조하십시오.

VPC Resolver는 CloudFormation에서 다음 리소스 유형 생성을 지원합니다.
+ `AWS::Route53Resolver::FirewallDomainList`
+ `AWS::Route53Resolver::FirewallDomainList`
+ `AWS::Route53Resolver::FirewallRuleGroupAssociation`
+ `AWS::Route53Resolver::ResolverDNSSECConfig`
+ `AWS::Route53Resolver::ResolverEndpoint`
+ `AWS::Route53Resolver::ResolverQueryLoggingConfig`
+ `AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation`
+ `AWS::Route53Resolver::ResolverRule`
+ `AWS::Route53Resolver::ResolverRuleAssociation`

 VPC Resolver 리소스용 JSON 및 YAML 템플릿의 예를 비롯한 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [Route 53 VPC Resolver 리소스 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Route53Resolver.html)를 참조하세요.

## Route 53 및 모범 사례 CloudFormation
<a name="cloudformation-route53-best-practices"></a>

 CloudFormation 를 사용하여 Route 53 리소스를 관리할 때는 다음 모범 사례를 따라 일반적인 문제를 방지하고 안정적인 배포를 보장합니다.

### 최종 일관성 이해
<a name="cloudformation-route53-eventual-consistency"></a>

Route 53는 DNS 변경에 최종적으로 일관된 모델을 사용합니다. 이는 CloudFormation 작업, 그 중에서도 특히 롤백 및 빠른 연속 변경 중에 영향을 미칠 수 있습니다.

**중요**  
DNS 레코드 변경 사항을 롤백하려고 CloudFormation 하면 Route 53 최종 일관성 모델로 인해 롤백이 실패할 수 있습니다. CloudFormation 가 최근에 삭제되었지만 최종 일관성으로 인해 여전히 존재하는 것으로 보이는 레코드를 다시 생성하려고 하면 DNS가 중단된 상태로 유지되는 `InvalidChangeBatch` 오류가 발생할 수 있습니다.

최종 일관성과 관련된 문제를 최소화하기 위한 권장 사항:
+ **변경을 신중히 계획** - 동일한 DNS 레코드를 빠르게 연속적으로 변경하지 않도록 합니다.
+ **먼저 비프로덕션 환경에서 테스트** - 프로덕션에 적용하기 전에 항상 개발 환경에서 DNS 변경을 테스트합니다.
+ **배포 모니터링** - DNS 관련 배포 중에 CloudFormation 스택 이벤트를 면밀히 관찰합니다. 모니터링 지침은 [Amazon Route 53 모니터링](monitoring-overview.md) 섹션을 참조하세요.
+ **롤백 절차 준비** - 자동 롤백이 실패할 경우에 대비해 수동 복구 절차를 준비합니다.

### DNS 레코드 순서 및 논리적 ID
<a name="cloudformation-route53-record-ordering"></a>

에서 여러 DNS 레코드를 생성할 때는 레코드 순서 지정 및 논리적 ID 할당에 주의해야 CloudFormation합니다.

**주의**  
 CloudFormation 템플릿 내의 배열 또는 목록에 DNS 레코드를 정의하면 목록 중간에 새 레코드를 삽입하면 CloudFormation 가 기존 레코드에 논리적 IDs 재할당할 수 있습니다. 이는 레코드 교체를 트리거하여 서비스 중단 및 롤백 실패로 이어질 수 있습니다.

DNS 레코드 관리 모범 사례:
+ **명시적 논리적 ID 사용** - 배열 인덱스에 의존하는 대신 항상 DNS 레코드에 명시적이고 의미 있는 논리적 ID를 할당합니다. CloudFormation 논리적 IDs [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) *AWS CloudFormation *
+ **새 레코드 추가** - 기존 목록에 새 DNS 레코드를 추가할 때 중간에 삽입하지 않고 끝에 추가합니다.
+ **그룹 관련 레코드** - `AWS::Route53::RecordSetGroup`을 사용하여 관련 레코드를 함께 관리하는 것이 좋습니다. 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [AWS::Route53::RecordSetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)을 참조하세요.
+ **변경 세트 검토** - 예상치 못한 레코드 교체를 식별하기 위해 배포 전에 항상 CloudFormation 변경 세트를 검토합니다. 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [변경 집합을 사용하여 스택 업데이트](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html)를 참조하세요.

### 롤백 실패 처리
<a name="cloudformation-route53-rollback-failures"></a>

DNS 관련 문제로 인해 CloudFormation 롤백이 실패하는 경우 수동 복구를 수행해야 할 수 있습니다.

**실패한 DNS 롤백에서 수동 복구 수행**

1.  CloudFormation 스택 이벤트 및 Route 53 호스팅 영역 레코드를 검토하여 실패한 DNS 레코드 식별

1. Route 53 콘솔 또는 API를 통해 누락된 DNS 레코드를 수동으로 생성하거나 업데이트합니다. 레코드 생성에 대한 자세한 내용은 [레코드 작업](rrsets-working-with.md) 섹션을 참조하세요.

1. DNS가 복원되면 현재 상태와 일치하도록 CloudFormation 템플릿을 업데이트합니다.

1. 수정된 템플릿을 배포하여 실제 리소스와 CloudFormation 동기화합니다.

롤백 실패 방지를 위한 권장 사항:
+ 트래픽이 높은 기간 동안에는 DNS 레코드 교체를 트리거할 수 있는 변경을 피합니다.
+ 상태 확인 및 모니터링을 구현하여 DNS 문제를 빠르게 감지합니다. 상태 확인에 대한 자세한 내용은 [상태 확인의 생성 및 업데이트](health-checks-creating.md) 섹션을 참조하세요.
+ 중요한 DNS 변경에는 블루/그린 배포 전략을 사용하는 것이 좋습니다. 배포 모범 사례에 대한 자세한 내용은 [Amazon Route 53 모범 사례](best-practices.md) 섹션을 참조하세요.
+ 수동 DNS 복구를 위한 긴급 절차를 문서화합니다.

## 에 대해 자세히 알아보기 CloudFormation
<a name="learn-more-cloudformation"></a>

에 대해 자세히 알아보려면 다음 리소스를 CloudFormation참조하세요.
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation 사용 설명서](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation API Reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation 명령줄 인터페이스 사용 설명서](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)