Amazon VPC와 다른 AWS 계정에서 생성한 프라이빗 호스팅 영역의 연결

신동수·2024년 2월 24일
0

AWS

목록 보기
2/26

Cross account private hosted zone association

Route 53 프라이빗 호스팅 영역(PHZ)을 다른 AWS 계정의 VPC 또는 리전에 연결하기 위해서 사용한다. 콘솔에서는 association 작업을 할 수 없고 CLI에서만 가능하다.

사전 준비 사항

  1. 서로 다른 Account 2개
  2. 각 account의 VPC

계정 A에 Route53 생성


계정 A 에서 test.com이란 이름으로 private hosted zone을 생성한다.


계정 A 의 VPC 와 연결한다.


테스트를 위해 레코드 생성한다. (www.test.com)

계정 A와 B 의 차이


계정 A EC2를 생성한 후 계정 A의 EC2에서 nslookup을 통해 Private Hosted Zone의 레코드를 조회하면 생성해둔 www.test.com의 도메인 IP가 잘 뜨는 것을 확인할 수 있다.


계정 B에서도 EC2를 생성한 후, nslookup 명령어를 통해 레코드를 조회해보면 다른 결과가 나오는 것을 확인할 수 있다.

Cross account Private Hosted Zone association


Cross account Private Hosted Zone association 전 Hosted Zone ID를 확인한다.


association 작업을 할 계정 B의 VPC ID를 확인한다.

인증 요청

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

AWS CLI 를 사용하여 계정 A 에서 인증 요청을 진행한다.

cross association

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

동일하게 CLI 를 통해 계정 B 에서 연결을 진행한다.


계정 A의 Route53에서 Private Hosted Zone를 확인하면 계정 B의 VPC가 추가된 것을 확인할 수 있다.


VPC가 추가 되었기 때문에 계정 B에서 다시 한 번 nslookup을 통해 레코드를 조회해보면 계정 A의 Route53 레코드 도메인 IP가 잘 뜨는 것을 확인할 수 있다.

인증 요청 제거

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

연결이 생성된 후 연결 권한 부여를 삭제하는 것이 가장 좋다. 연결 권한 부여를 삭제해두면 나중에 동일한 연결이 다시 생성되지 않기 때문이다. 따라서 계정 A에서 인증 요청 제거를 진행한다.

association 제거

$ aws route53 disassociate-vpc-from-hosted-zone --hosted-zone-id <연결 hosted-zone-id> --vpc VPCRegion=<연결 region>,VPCId=<연결 vpc-id>

Route 53 프라이빗 호스팅 영역을 다른 AWS 계정의 VPC에서 사용하지 않는다면 association 연결을 제거한다. 계정 A 또는 B에서 연결 삭제를 진행한다.


계정 A의 Route53에서 Private Hosted Zone를 확인하면 계정 B의 VPC가 제거된 것을 확인할 수 있다.


계정 B에서 nslookup으로 조회해보면 다시 Private Hosted Zone의 레코드가 보이지 않는 것을 알 수 있다.

profile
조금씩 성장하는 DevOps 엔지니어가 되겠습니다. 😄

0개의 댓글