AWS 계정 간 Route 53 도메인 공유

우리의 노트 앱에는 API Gateway 엔드포인트가 있습니다. 이번 장에서는 각 환경에 대한 커스텀 도메인을 설정하는 방법을 살펴보겠습니다. 우리의 환경은 여러 AWS 계정으로 나뉘어 있다는 점을 기억하세요.

다음과 같은 커스텀 도메인 스키마를 설정할 예정입니다:

  • prod ⇒ ext-api.sst.dev
  • dev ⇒ dev.ext-api.sst.dev

도메인이 Production AWS 계정에서 호스팅된다고 가정합니다. Development AWS 계정이 위의 서브도메인을 사용할 수 있도록 설정하려면 추가 작업이 필요합니다.

AWS 계정 간 도메인 위임

dev.ext-api.sst.dev 서브도메인을 Development AWS 계정에서 호스팅하도록 위임할 예정입니다. 이 단계를 따라가면서 스크린샷의 오른쪽 상단에 표시된 계정 이름에 주의하세요. 현재 작업 중인 계정을 알려줄 것입니다.

먼저 Development 계정의 Route 53 콘솔로 이동합니다.

Route 53 서비스 선택

왼쪽 메뉴에서 Hosted zones를 클릭한 후 Create Hosted Zone을 선택합니다.

Hosted Zone 생성 선택

상단의 Create Hosted Zone을 선택합니다. 다음을 입력합니다:

  • Domain Name: dev.ext-api.sst.dev

그런 다음 Create를 클릭합니다.

Route 53에서 Hosted Zone 생성

방금 생성한 존을 선택합니다.

Route 53에서 Hosted Zone 선택

NS 타입의 행을 클릭합니다. 그리고 Value 필드의 4줄을 복사합니다. 이 값은 다음 단계에서 필요합니다.

Route 53에서 NS 레코드 세트 표시

이제 도메인이 호스팅된 Production 계정으로 전환합니다. 그리고 Route 53 콘솔로 이동합니다.

도메인을 선택합니다.

Production 계정에서 Route 53 선택

Create Record Set을 클릭합니다.

레코드 세트 생성 선택

다음을 입력합니다:

  • Name: dev.ext-api
  • Type: NS - Name server

그리고 위에서 복사한 4줄을 Value 필드에 붙여넣습니다.

Create를 클릭합니다.

Route 53에서 레코드 세트 생성

테이블에 새로운 dev.ext-api.sst.dev 행이 표시됩니다.

Development 계정에 위임된 서브도메인 표시

이제 sst.devdev.ext-api 서브도메인을 Development AWS 계정에 위임했습니다. 이제 앱이나 Seed로 이동하여 이를 커스텀 도메인으로 추가할 수 있습니다.

API 앱으로 이동하여 앱 설정으로 들어갑니다.

Seed에서 앱 설정 선택

Edit Custom Domains를 선택합니다.

커스텀 도메인 편집 선택

devprod 엔드포인트가 나열됩니다. prod 엔드포인트에서 Add를 선택합니다.

prod 단계에 도메인 추가 선택

도메인 sst.dev를 선택하고 서브도메인 ext-api를 입력합니다. 그런 다음 Add Custom Domain을 선택합니다.

기본 도메인과 서브도메인 선택

생성 프로세스는 다음 단계를 거칩니다:

  • 도메인이 Route 53에서 호스팅되었는지 확인
  • SSL 인증서 생성
  • API Gateway 커스텀 도메인 생성

마지막 단계는 CloudFront 배포를 업데이트하는 것으로, 최대 40분이 소요될 수 있습니다.

이제 dev API에 대한 도메인을 설정합니다. Add를 선택합니다.

dev 단계에 도메인 추가 선택

도메인 dev.ext-api.sst.dev를 선택하고 서브도메인은 비워둡니다. 그런 다음 Add Custom Domain을 선택합니다.

dev 단계에 기본 도메인 선택

마찬가지로 최대 40분 정도 기다려야 할 수 있습니다.

이제 notes-app.comdev.api 서브도메인을 Development AWS 계정에 위임했습니다. 이후 장에서 이 도메인을 사용하도록 앱을 구성할 예정입니다.

다음으로, 두 AWS 계정의 비용과 사용량을 관리하는 방법을 간단히 살펴보겠습니다.