Amazon API Gateway API에 기본 URL 대신 사용자 지정 도메인 이름을 사용하려고 합니다.
간략한 설명
API Gateway API용으로 만들 수 있는 사용자 지정 도메인 이름에는 다음의 두 가지 유형이 있습니다: 리전별 또는 (REST API의 경우에만) 엣지 최적화.
참고: API Gateway는 프라이빗 API에 대한 사용자 지정 도메인 이름을 지원합니다.
API Gateway API에 대한 사용자 지정 도메인 이름을 설정하려면 다음을 수행하십시오.
사용자 지정 도메인을 성공적으로 구성하려면 사용자 지정 도메인 이름 유형 간의 차이점을 이해해야 합니다. 다음은 리전별 및 엣지에 최적화된 사용자 지정 도메인 이름 간의 몇 가지 주요 차이점입니다.
- 대상 엔드포인트의 경우 리전별 사용자 지정 도메인 이름은 리전 API 엔드포인트를 사용합니다. 엣지 최적화 사용자 지정 도메인 이름은 Amazon CloudFront 배포를 사용합니다.
- SSL/TLS 인증서의 경우 리전별 사용자 지정 도메인 이름은 API와 동일한 AWS 리전에 있는 SSL/TLS 인증서를 사용해야 합니다. 엣지 최적화 사용자 지정 도메인 이름은 다음 리전에 있는 인증서를 사용해야 합니다: 미국 동부(버지니아 북부) (us-east-1).
- 사용자 지정 도메인 이름의 경우 여러 AWS 리전에서 리전별 사용자 지정 도메인 이름을 공유할 수 있습니다. 엣지 최적화 사용자 지정 도메인 이름은 고유합니다. 사용자 지정 도메인 이름은 둘 이상의 CloudFront 배포와 연결할 수 없습니다.
- 도메인 이름의 경우 WebSocket API의 리전별 사용자 지정 도메인 이름을 REST API 또는 HTTP API에 매핑할 수 없습니다. 그러나 리전별 사용자 지정 도메인을 REST API 및 HTTP API와 연결할 수 있습니다. REST API의 경우 엣지 최적화 및 리전별 사용자 지정 도메인 이름 모두 엣지 최적화 API 엔드포인트, 리전 API 엔드포인트 또는 둘 모두에 대한 매핑을 가질 수 있습니다. WebSocket API 및 HTTP API의 경우 TLS 1.2만이 지원되는 유일한 TLS 버전입니다.
해결 방법
SSL/TLS 인증서 요청 또는 가져오기
API의 사용자 지정 도메인 이름을 생성하기 전에 다음 중 하나를 수행해야 합니다.
- AWS Certificate Manager(ACM)에서 SSL/TLS 인증서를 요청합니다.
- SSL/TLS 인증서를 ACM으로 가져옵니다.
참고: 자세한 내용은 AWS Certificate Manager에서 인증서 준비하기를 참조하십시오.
인증서를 요청하거나 가져올 때는 다음 요구 사항을 충족해야 합니다.
- 도메인 유효성 검사를 통과하려면 인증서에 사용자 지정 도메인 이름을 대체 도메인 이름으로 포함해야 합니다.
참고: 엣지 최적화 사용자 지정 도메인 이름에 대한 CloudFront 배포의 유효성 검사 관련 자세한 내용은 Amazon CloudFront에서 도메인 보안의 지속적 강화를 참조하십시오. 리전별 사용자 지정 도메인 이름에 대해서도 유사한 유효성 검사가 있습니다.
- 리전별 사용자 지정 도메인 이름의 경우 ACM 인증서는 API와 동일한 리전에 있어야 합니다.
REST API, HTTP API 또는 WebSocket API의 사용자 지정 도메인 이름 생성
REST API의 경우 API Gateway의 퍼블릭 REST API에 대한 사용자 지정 도메인 이름의 지침을 따릅니다.
HTTP API의 경우 API Gateway의 HTTP API에 대한 사용자 지정 도메인 이름의 지침을 따릅니다.
WebSocket API의 경우 API의 WebSocket API에 대한 사용자 지정 도메인 이름의 지침을 따릅니다.
API Gateway API로 트래픽 라우팅
사용자 지정 도메인으로 트래픽을 라우팅하려면 Amazon Route 53을 사용합니다.
트래픽을 API Gateway API로 라우팅하려면 Route 53을 구성하여 트래픽을 API Gateway 엔드포인트로 라우팅의 지침을 따릅니다.
Route 53을 구성할 때는 퍼블릭 호스트 영역 또는 프라이빗 호스트 영역을 만들어야 합니다. 사용자가 사용할 수 있도록 하려는 리소스가 있는 인터넷 연결 애플리케이션의 경우 퍼블릭 호스트 영역을 선택하십시오. 자세한 내용은 호스트 영역으로 작업하기를 참조하십시오.
도메인에 대한 트래픽이 라우팅되는 위치를 결정하기 위해 Route 53은 레코드를 사용합니다. 별칭 레코드는 AWS 리소스에 대한 DNS 쿼리를 더 쉽게 제공하는 반면, CNAME(별칭 아님) 레코드는 DNS 쿼리를 AWS 리소스 외부로 리디렉션할 수 있습니다. 자세한 내용은 별칭 레코드와 비별칭 레코드 중에서 선택을 참조하십시오.
구성 테스트
구성을 테스트하려면 새 사용자 지정 도메인 이름을 사용하여 API를 호출할 수 있습니다.
- 사용자 지정 도메인 이름을 만들 때 지정한 기본 경로 매핑을 사용하여 도메인 이름에서 curl 명령을 실행합니다.
참고: curl에 대한 자세한 내용을 보려면 curl 프로젝트 웹사이트를 참조하세요.
- 사용자 지정 도메인 이름에 대한 응답이 API 단계 URL을 호출할 때 받은 응답과 동일한지 확인합니다.
관련 정보
사용자 지정 도메인 이름을 API Gateway의 다른 API 엔드포인트 유형으로 마이그레이션
AWS Certificate Manager에서 퍼블릭 인증서 요청