서버 인프라/Aws

AWS 운영중인 도메인 호스팅 이전하기

트리맨스 2024. 10. 1. 00:01
반응형

 

현재 상황은 예전 계정인 A에 호스팅 되어 있는 설정들을 현재 계정인 B 계정으로 모두 이동하는 작업이 필요한 상태이다. 현재 생성된 레코드는 100개가 조금 넘는 상황으로, 수동으로 옮기기에는 문제가 있는 상황이다. 그래서 AWS의 document를 참고하여 호스팅 영역을 이전한 내용을 정리하려 한다. 다음의 문서를 참고했다.

https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/hosted-zones-migrating.html

 

호스팅 영역을 다른 AWS 계정으로 이전 - Amazon Route 53

새 호스팅 영역을 위한 이름 서버를 사용하도록 도메인 등록을 업데이트하지 않으면 Route 53가 계속 기존 호스팅 영역을 사용하여 도메인에 대한 트래픽을 라우팅하게 됩니다. 도메인 등록의 이

docs.aws.amazon.com

 

먼저 aws-cli 를 컴퓨터에 설치한다. aws-cli 설치법은 설명서에 잘 나와있다.

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

 

최신 버전의 AWS CLI설치 또는 업데이트 - AWS Command Line Interface

이전 버전에서 업데이트하는 경우 unzip 명령을 실행하면 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 스크립트 자동화와 같은 경우에 이러한 프롬프트를 건너뛰려면 unzip에 대한 -u 업데이

docs.aws.amazon.com

 

다음으로는 B 계정에 수동으로 호스팅 영역을 생성한다. 

호스팅 영역이 생성되었으면, A 계정에 저장된 레코드를 파일로 뽑아낼 필요가 있다. 해당 파일을 살짝 변형하여 B 계정에 적용할 것이다.

 

먼저 A 계정으로 aws-cli에 로그인한 다음, 아래의 명령어를 입력하여 file을 생성한다. (hosted-zone-id 와 path-to-output-file 은 직접 확인 후 수정해야한다)

aws route53 list-resource-record-sets --hosted-zone-id hosted-zone-id > path-to-output-file

 

해당 명령어를 입력하게 되면 레코드의 정보가 파일로 나오게 된다.

 

이제 해당 파일을 수정한다. 맨 위에 Changes 필드를 배열로 선언하고, 해당 배열에 Action: CREATE 필드와 ResouceRecordSet 필드에 위에서 생성한 레코드 정보를 입력한다. 수정된 새 파일의 형식은 다음과 같이 나오게 된다.

 

이제 해당 파일을 B 계정에 적용하자. B 계정으로 aws-cli 로그인한 다음, 해당 파일을 적용하는 다음 명령어를 입력한다.

aws route53 change-resource-record-sets --hosted-zone-id id-of-new-hosted-zone --change-batch file://path-to-file-that-contains-records

 

이제 B 계정에 레코드가 적용이 되어 있다.

 

이제 네임서버를 변경하면 된다. 네임서버는 도메인 등록 업체에서 B 계정에 있는 네임서버를 적용하면된다. 이렇게 등록해 두면 라우팅이 B의 네임서버를 타고 가게 된다. 이렇게 했을 경우에 정상적으로 이전이 되었다면 상용 서비스에 영향을 미치지 않고 도메인 이전이 가능해진다.

 

마지막으로 네임서버가 정상적으로 이전이 되어 보이면, A 계정에 있는 기존의 레코드를 모두 지우면은 호스팅 이전이 끝이 나게 된다.

 

 

반응형