VPC에서 API Gateway API에 연결할 때 HTTP 403 금지됨 오류가 발생하는 이유는 무엇입니까?

3분 분량
0

가상 프라이빗 클라우드(VPC)에서 Amazon API Gateway API를 호출할 때 HTTP 403 금지됨 오류가 발생합니다.

간략한 설명

HTTP 403 금지됨 오류는 VPC와 연결된 API Gateway 인터페이스 VPC 엔드포인트에 대해 DNS를 활성화하면 발생합니다. 이 경우 VPC에서 API Gateway API로의 모든 요청이 해당 인터페이스 VPC 엔드포인트로 해석됩니다. 하지만 VPC 엔드포인트를 사용하여 퍼블릭 API에 연결할 수는 없습니다.

VPC 엔드포인트의 프라이빗 DNS 이름은***.execute-api.exampleRegion.amazonaws.com** 형식입니다. 여기서 * 문자는 API ID의 자리 표시자입니다. 이 형식은 퍼블릭 및 프라이빗 API에 대한 API Gateway 기본 호출 URL과 일치합니다.

VPC 엔드포인트에 대해 프라이빗 DNS가 활성화되면 API의 호출 URL이 프라이빗 DNS 이름으로 가려집니다. VPC 내부의 퍼블릭 API에 대한 DNS 쿼리가 확인되면 DNS는 연결된 VPC 엔드포인트의 프라이빗 IP를 가리킵니다. 그러면 API 호출이 인터넷 대신 VPC 엔드포인트를 통해 퍼블릭 API로 라우팅됩니다. VPC 엔드포인트는 프라이빗 API로만 트래픽을 라우팅할 수 있기 때문에 HTTP 403 오류가 발생합니다.

또한 기본 execute-api 호출 URL을 사용하여 AWS Direct Connect를 통해 온프레미스에서 프라이빗 API에 연결하는 경우에도 403 오류가 발생합니다.

해결 방법

VPC와 연결된 인터페이스 VPC 엔드포인트에 대해 프라이빗 DNS가 활성화되어 있는지 확인

VPC를 확인하여 프라이빗 API에 액세스할 수 있는 인터페이스 VPC 엔드포인트가 있는지 확인합니다. 인터페이스 엔드포인트가 있는 경우 프라이빗 DNS 설정이 활성화되어 있는지 확인합니다. 자세한 내용은 VPC의 DNS 속성을 참조하십시오.

프라이빗 DNS를 활성화한 상태로 퍼블릭 API에 연결

프라이빗 DNS가 활성화되어 있는 경우 엣지에 최적화된 사용자 지정 도메인 이름 또는 리전별 사용자 지정 도메인 이름을 설정하여 퍼블릭 API에 연결합니다.

클라이언트가 온프레미스 네트워크에서 연결하는 경우 Amazon Route 53 Resolver 인바운드 엔드포인트를 설정합니다. execute-api 호출 URL을 사용하려면 원격 네트워크의 모든 프라이빗 DNS 쿼리를 인바운드 엔드포인트로 전달합니다.

중요: 퍼블릭 API에 연결하려면 VPC 리소스가 인터넷에 연결되어 있어야 합니다. 또한 A 유형 별칭 레코드를 사용하여 리전별 사용자 지정 도메인 이름에 대한 DNS 레코드를 구성합니다. 하지만 엣지에 최적화된 사용자 지정 도메인 이름에는 A 유형 별칭 레코드 또는 CNAME 레코드를 사용합니다.

프라이빗 DNS가 활성화되지 않은 상태로 퍼블릭 API에 연결

VPC에 퍼블릭 API에 액세스할 권한이 있는 경우 퍼블릭 DNS를 사용하여 퍼블릭 API에 연결하십시오. 자세한 내용은 API Gateway의 REST API에 대한 액세스 제어 및 관리를 참조하십시오.

(선택 사항) 인터페이스 VPC 엔드포인트의 프라이빗 DNS 설정 변경

인터페이스 VPC 엔드포인트의 프라이빗 DNS 설정은 언제든지 변경할 수 있습니다. 이 설정을 변경하면 인터페이스 VPC 엔드포인트의 프라이빗 IP에 대한 API 스테이지 URL의 해석에 영향을 줍니다.

인터페이스 VPC 엔드포인트의 프라이빗 DNS 설정을 변경하려면 다음 단계를 완료하십시오.

  1. Amazon VPC 콘솔을 엽니다.
  2. 엔드포인트 창을 엽니다.
  3. 인터페이스 VPC 엔드포인트를 선택합니다.
  4. 작업을 선택한 다음 프라이빗 DNS 이름 수정을 선택합니다.
  5. 프라이빗 DNS 이름 활성화에서 이 엔드포인트에 대해 활성화 확인란을 선택하거나 선택 취소합니다.
  6. 프라이빗 DNS 이름 수정을 선택합니다.

참고: 프라이빗 DNS 설정 변경은 사용자가 VPC에서 프라이빗 API퍼블릭 API에 연결할 수 있는 방법에 영향을 줍니다.

자세한 내용은 VPC의 DNS 속성 보기 및 업데이트를 참조하십시오.

관련 정보

인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스에 액세스

API Gateway의 REST API에 대한 사용자 지정 도메인 이름