Amazon API Gateway REST API를 Application Load Balancer로 통합하려고 합니다.
해결 방법
API Gateway REST API를 퍼블릭 Application Load Balancer로 통합
전제 조건: 퍼블릭 Application Load Balancer 및 DNS 이름에 대한 액세스 권한이 있어야 합니다. 또한 HTTP 메서드가 포함된 API Gateway REST API 리소스가 있어야 합니다.
API Gateway Rest API를 퍼블릭 Application Load Balancer와 통합하려면 다음 단계를 완료합니다.
- API Gateway 콘솔을 엽니다.
- Application Load Balancer로 통합하려는 API를 선택합니다.
- 리소스의 메서드에서 내 API가 사용하는 HTTP 메서드를 선택합니다.
- 통합 요청을 선택합니다.
- 통합 유형에서 HTTP를 선택합니다.
참고: API 요청과 그 파라미터를 백엔드 Application Load Balancer에 전달하려면 HTTP 프록시 통합이나 HTTP 사용자 지정 통합을 생성합니다. 자세한 내용은 API Gateway의 REST API에 대한 HTTP 통합을 참조하십시오.
- 엔드포인트 URL에 DNS 이름을 입력합니다. Application Load Balancer의 기본 DNS 이름 또는 사용자 지정 DNS 이름을 사용합니다.
- Application Load Balancer 리스너의 구성된 프로토콜을 추가합니다. 예를 들어 포트 8080에서 HTTPS 리스너로 구성된 Application Load Balancer에는 https://domain-name:8080/ 엔드포인트 URL 형식이 필요합니다.
중요: 포트와 리스너 규칙을 선택하여 Application Load Balancer용 HTTP 리스너 또는 HTTPS 리스너를 만듭니다. HTTPS 리스너로 구성된 Application Load Balancer의 경우 API Gateway 지원 인증 기관에서 관련 인증서를 발급해야 합니다. 자체 서명된 인증서 또는 사설 인증 기관에서 발급한 인증서를 사용하려면 통합의 tlsConfig 확장에서 insecureSkipVerification을 true로 설정합니다.
- Save(저장)를 선택합니다.
- API를 배포합니다.
퍼블릭 Application Load Balancer 보호
보안 그룹 규칙은 API AWS 리전의 API Gateway IP 주소에서 들어오는 트래픽을 허용해야 합니다.
x-amzn-apigateway-api-id 요청 헤더가 API ID와 일치해야 하는 Application Load Balancer 리스너 규칙을 구성하려면 HTTP 헤더 조건을 사용합니다.
API Gateway REST API를 프라이빗 Application Load Balancer와 통합
API Gateway Amazon Virtual Private Cloud(Amazon VPC) 링크를 사용하여 API를 프라이빗 Network Load Balancer와 통합합니다. 이 단계에서는 Amazon VPC 내 리소스에 액세스할 수 있습니다.
그런 다음 Network Load Balancer를 사용하여 API 요청을 프라이빗 Application Load Balancer로 전달합니다.
프라이빗 Application Load Balancer 보호
Network Load Balancer의 IP 주소만 허용 목록에 추가하는 Application Load Balancer에 대한 보안 그룹 규칙을 구성해야 합니다.
로드 밸런서를 사용하여 프라이빗 REST API 호출
로드 밸런서를 사용하여 프라이빗 REST API를 호출합니다. 자세한 내용은 Application Load Balancer 또는 Network Load Balancer를 사용하여 API Gateway 프라이빗 API를 호출하려면 어떻게 해야 합니까?를 참조하십시오.