Amazon CloudFront 웹 배포를 기반으로 하는 Amazon API Gateway 사용자 지정 도메인 엔드포인트를 사용하고 싶습니다. 그런 다음 기본 경로 매핑을 사용하여 API 요청을 여러 API로 전달하려고 합니다. 어떻게 해야 하나요?
해결 방법
REST API, HTTP API 또는 WebSocket API에 대한 사용자 지정 도메인 이름 만들기
아직 생성하지 않았다면 사용자 지정 도메인 이름을 만든 다음 두 개의 다른 API와 연결하세요.
참고: WebSocket API에 대한 리전 사용자 지정 도메인 이름은 REST API 또는 HTTP API에 매핑할 수 없습니다.
REST API의 경우 REST API에 대한 사용자 지정 도메인 이름 설정의 지침을 따릅니다.
HTTP API의 경우 HTTP API에 대한 사용자 지정 도메인 이름 설정의 지침을 따릅니다.
WebSocket API의 경우 WebSocket API에 대한 사용자 정의 도메인 이름 설정의 지침을 따릅니다.
참고: API Gateway에서 사용자 지정 도메인 이름을 생성한 후에는 API 엔드포인트에 매핑할 DNS 공급자의 리소스 레코드를 생성 또는 업데이트해야 합니다. 자세한 내용은 도메인 이름 등록을 참조하세요.
이 문서의 예시에서는 REST API 지역별 사용자 지정 도메인 이름 설정을 사용합니다.
API 엔드포인트 URL 예시
https://restapiId1.execute-api.us-west-2.amazonaws.com/example1/home
https://restapiId2.execute-api.us-west-2.amazonaws.com/example2/home
사용자 지정 도메인 URL 예시 (기본 경로 매핑 제외)
https://apigw.customdomain.com/example1/home
https://apigw.customdomain.com/example2/home
CloudFront 웹 배포 생성
1. CloudFront 콘솔을 열고 배포 생성을 선택합니다.
2. [콘텐츠 제공 방법 선택(Select a delivery method for your content)] 페이지의 [웹(Web)] 아래에서 [시작하기(Get Started)]를 선택합니다.
3. 배포 생성 페이지의 오리진 도메인에 다음 예와 유사하게 API의 사용자 지정 도메인 URL을 붙여넣습니다.
오리진 도메인 이름 예시
https://apigw.customdomain.com
- 오리진 경로의 경우 비워 두세요. 참고: CloudFront 웹 배포를 호출할 때 오리진 경로에 잘못된 기본 경로를 입력하면 오류가 발생할 수 있습니다. 예를 들어, “Missing Authentication Token(인증 토큰 누락)” 에러와 403 Forbidden 응답 코드를 반환하는 무단 요청 오류.
5. **최소 오리진 SSL 프로토콜(Minimum Origin SSL Protocol)**에는 TLSv1.2를 선택하는 것이 좋습니다. SSLv3은 선택하지 마세요. API Gateway는 SSLv3 프로토콜을 지원하지 않습니다.
6. 프로토콜에서 **HTTPS만(HTTPS Only)**을 선택합니다. 참고: API Gateway는 암호화되지 않은 HTTP 엔드포인트를 지원하지 않습니다. 자세한 내용은 Amazon API Gateway FAQ를 참조하십시오.
7. (선택 사항) 오리진에 사용자 지정 헤더를 전달하려면 헤더 추가를 선택하고 헤더 이름과 값을 입력합니다. 참고: CloudFront에서 추가할 수 없는 사용자 지정 헤더 목록은 CloudFront에서 오리진 요청에 추가할 수 없는 사용자 지정 헤더를 참조하세요.
8. **배포 생성(Create Distribution)**을 선택합니다.
CloudFront에서 배포를 생성한 후에는 배포에 대한 상태 열의 값이 InProgress에서 Deployed로 변경됩니다.
자세한 내용은 배포 생성을 참조하세요.
CloudFront 웹 배포 테스트
1. CloudFront 콘솔을 열고 다음 예와 같이 웹 배포의 도메인 이름을 클립보드에 복사합니다.
비사용자 지정 도메인 이름 예시
a222222bcdefg5.cloudfront.net
2. 배포 테스트 지침을 따르세요.
테스트가 성공하면 200 OK 응답이 반환됩니다. 500 서버 오류 코드를 받는 경우 웹 배포가 완료되지 않은 것일 수 있습니다. 응답을 받지 못한 경우 아직 CloudFront DNS 레코드가 아직 전파되지 않은 것일 수 있습니다.
CloudFront 배포가 생성되면 설정이 다음과 같이 구성됩니다.
a222222bcdefg5.cloudfront.net/example1/home --> apigw.customdomain.com/example1/home --> API-1
a222222bcdefg5.cloudfront.net/example2/home --> apigw.customdomain.com/example2/home --> API-2
이제 API Gateway 사용자 지정 도메인 이름을 사용하여 단일 CloudFront 배포에서 두 개의 API를 요청할 수 있습니다.
CloudFront 웹 배포의 수신 권한 부여 헤더에 대한 전달을 구성하려면 자체 CloudFront 배포로 API Gateway를 설정하려면 어떻게 해야 합니까?를 참조하세요.
관련 정보
API Gateway API에 대해 설정할 엔드포인트 유형 선택
Websocket API용 API 매핑 사용
REST API용 API 매핑 사용
HTTP API용 API 매핑 사용