Route 53 프라이빗 호스팅 영역을 다른 AWS 계정의 VPC와 연결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 9월 24일

Amazon Route 53 프라이빗 호스팅 영역을 다른 AWS 계정에 속한 가상 사설 클라우드와 연결하고 싶습니다. 어떻게 해야 합니까?

해결 방법

AWS 계정(계정 A)의 Route 53 프라이빗 호스팅 영역을 다른 AWS 계정(계정 B)에 속한 가상 사설 클라우드와 연결하려면 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 다음 단계를 따릅니다.

참고: 이 절차에서는 AWS SDK 또는 Route 53 API를 사용할 수도 있습니다.

1.    계정 A의 EC2 인스턴스에 연결합니다.

2.    다음 명령을 실행하여 AWS CLI 버전을 업데이트합니다. AWS CLI가 Route 53 액세스 권한이 있는 IAM 사용자의 자격 증명을 사용하도록 구성되어 있는지 확인합니다.

pip3 install awscli --upgrade --user

3.    이 명령을 실행하여 계정 A에서 사용 가능한 호스팅 영역을 나열합니다. 계정 B와 연결할 계정 A의 호스팅 영역 ID를 적어 둡니다.

aws route53 list-hosted-zones

4.    다음 명령을 실행하여 계정 A의 프라이빗 호스팅 영역과 계정 B의 가상 사설 클라우드 간에 연결을 승인합니다. 이전 단계의 호스팅 영역 ID와 계정 B의 가상 사설 클라우드의 지역 및 ID를 사용합니다.

aws route53 create-vpc-association-authorization --hosted-zone-id <hosted-zone-id> --vpc VPCRegion=<region>,VPCId=<vpc-id>

5.    계정 B의 EC2 인스턴스에 연결합니다.

6.    다음 명령을 실행하여 계정 A의 프라이빗 호스팅 영역과 계정 B의 가상 사설 클라우드 간에 연결을 생성합니다. 3단계의 호스팅 영역 ID와 계정 B의 가상 사설 클라우드의 지역 및 ID를 사용합니다.

aws route53 associate-vpc-with-hosted-zone --hosted-zone-id <hosted-zone-id> --vpc VPCRegion=<region>,VPCId=<vpc-id>

7.    연결이 생성된 후 연결 권한 부여를 삭제하는 것이 모범 사례입니다. 이렇게 하면 나중에 동일한 연결이 다시 생성되지 않도록 합니다. 권한 부여를 삭제하려면 계정 A에서 EC2 인스턴스에 다시 연결하고 다음 명령을 실행합니다.

aws route53 delete-vpc-association-authorization --hosted-zone-id <hosted-zone-id>  --vpc VPCRegion=<region>,VPCId=<vpc-id>

이제 계정 B의 가상 사설 클라우드에 있는 EC2 인스턴스가 계정 A의 프라이빗 호스팅 영역에 있는 레코드를 확인할 수 있습니다.