AWS 라우트53 다른 계정으로 도메인 이전하기
API를 사용하면 AWS 계정에서 다른 AWS 계정으로 라우트53에 등록된 도메인을 쉽게 이전할 수 있습니다. 국내 서비스에서는 소유권 이전 등에 대한 서류 처리가 필요한 경우가 있는데 소유권 변동이 있는 경우 이에 대해서는 별도로 확인이 필요합니다. 여기서는 같은 소유자의 AWS 계정 간에 도메인 이전을 가정합니다.
도메인 이전은 route53domains
의 transfer-domain-to-another-aws-account
API를 이용합니다. 여기서는 AWS CLI를 사용합니다. AWS CLI 사용법에 대해서는 아래 문서를 참고해주세요.
- 아마존 웹서비스 커맨드라인 인터페이스(AWS CLI) 기초 | 44BITS
- transfer-domain-to-another-aws-account — AWS CLI 2.0.26 Command Reference
정확한 이유는 모르겠지만 AWS CLI 2.0.5에서는 transfer-domain-to-another-aws-account
API가 없다고 에러가 나서, 먼저 AWS CLI를 업그레이드하고 진행했습니다.
$ brew upgrade awscli
==> Upgrading 1 outdated package:
awscli 2.0.5 -> 2.0.26
여기서는 5555555566 계정에 등록된 44bits.tv
도메인을 66666666677으로 이전하는 경우를 생각해보겠습니다. 각각의 숫자는 어카운트 아이디를 의미합니다.*
* 어카운트 아이디는 웹 콘솔의 내 계정 정보나 aws sts get-caller-identity
명령어로 확인할 수 있습니다.
첫 번째 단계로 44bits.tv
도메인을 소유한 계정의 권한으로 transfer-domain-to-another-aws-account
를 실행합니다. --domain-name
에는 이전할 도메인 이름, --account-id
에는 이전할 다른 계정의 어카운트 아이디를 지정합니다.
# 5555555566 계정의 권한으로 다음 명령어 실행
aws route53domains transfer-domain-to-another-aws-account --domain-name 44bits.tv --account-id 66666666677
{
"OperationId": "<OperationId>",
"Password": "<PASSWORD>"
}
출력 결과에 OperationId
와 Password
가 출력됩니다. 이 패스워드는 상대방 계정에서 도메인 이전 요청을 승일할 때 사용됩니다.
두 번째 단계로 도메인을 이전 받는 쪽(어카운트 아이디 66666666677 계정)에서 5555555566 계정의 44bits.tv
도메인 이전 요청을 승인합니다. --domain-name
에는 도메인 이름을 적어주고, --password
옵션에는 위에서 출력된 <PASSWORD>
정보를 입력합니다.
# 66666666677 계정의 권한으로 실행
$ aws route53domains accept-domain-transfer-from-another-aws-account --domain-name 44bits.tv --password <PASSWORD>
{
"OperationId": "1b685287-c92a-457b-9002-20a215570c29"
}
도메인 이전에는 약간의 시간이 걸릴 수 있는데, 몇 분내로 끝나는 걸로 보입니다. 이제 AWS 웹 콘솔의 라우트 53 메뉴에서 도메인이 이전되었는지 확인해봅니다.

단, 도메인 이전을 하더라도 호스팅 영역(Hosted Zone)은 자동적으로 마이그레이션되지 않습니다. 5555555566 계정의 호스팅 영역(Hosted Zone)에서 DNS 정보를 관리하고 있었다면 이 정보는 별도로 마이그레이션을 진행해야합니다. 이에 대해서는 다음 글에서 소개하도록 하겠습니다.