Domain 등록하기

Route53에 새로운 도메인 등록하기

도메인 구매

도메인 구매는 AWS Route 53에서 손쉽게 구매하실 수 있습니다. 외부에서 구매한 도메인을 사용하셔도 무방합니다.

본 실습에서는 devops-art-factory.com 라는 도메인을 구입했다는 가정하에 정의하겠습니다.

Host zone 등록

코드 경로는 terraform/route53/art-id/devops-art-factory.com 입니다. 만약 도메인을 AWS 상에서 구매하셨다면 기본 host zone을 AWS에서 자동으로 생성해줍니다. 이 경우에는 해당 리소스를 importarrow-up-right 하시는 것이 좋습니다.

vim terraform/route53/art-id/devops-art-factory.com/route53.tf
# AWS Route53 Zone
resource "aws_route53_zone" "devopsartfactory_com" {
  name     = "devops-art-factory.com"
  comment  = "HostedZone created by Route53 Registrar - Manged Terraform"
}

서로 다른 Account에서 subdomain 등록하기

서비스를 운영하다보면, 환경별로 서로 다른 계정에서 도메인을 함께 쓰고 싶은 경우가 있습니다. 예를 들어 A 계정에서 example.com을 사용하고 있는데, B라는 계정에서 prod.example.com 도메인을 사용하는 것입니다. 이 경우에는 서브 도메인의 네임서버 리스트를 상위 도메인에 등록하면 됩니다.

정리하면, 과정은 아래와 같습니다.

  1. B 계정에 prod.example.com 이라는 aws route53 zone을 생성합니다.

  2. A 계정에서 example.com route53 zone에 NS 레코드로 prod.example.com 의 네임서버들을 등록합니다.

1번 과정 코드는 아래와 같습니다.

생성이 완료되면 아래 그림처럼 hosted zone이 생성되고, 레코드로 Name server들이 생성됩니다.

2번 작업은 아래와 같습니다.

1번에서 생성된 name server list를 코드 records에 넣어주시면 됩니다.

이렇게 등록이 마무리 되면, *.prod.example.com 형태로 ACM도 생성할 수 있고, sub domain을 추가로 만들어서 사용하실 수 있습니다.

작동 원리는 DNS 질의 원리와 동일합니다.

1) prod.example.com 을 질의하게 되면 .com 도메인에게 example.com 의 Name Server IP를 물어봅니다.

2) A 계정에 있는 example.com 네임서버가 이를 받아서 위에서 등록한 prod.example.com 네임서버 리스트 중에 하나를 반납해줍니다.

3) B 계정에 있는 prod.example.com 네임서버는 질의 받은 레코드에 대한 값을 반환합니다.

Last updated

Was this helpful?