내용으로 건너뛰기

VPC에서 프라이빗 API Gateway 엔드포인트에 액세스하고 퍼블릭 API에 대한 연결을 유지하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Virtual Private Cloud(Amazon VPC)에서 Amazon API Gateway 프라이빗 API에 액세스하고 퍼블릭 API에 대한 연결을 유지하려고 합니다.

간략한 설명

API Gateway 프라이빗 REST API에는 Amazon VPC 인터페이스 엔드포인트에서 액세스할 수 있습니다. 하지만 프라이빗 DNS가 활성화되었는지 비활성화되었는지에 따라 프라이빗 및 퍼블릭 API에 동시에 연결하지 못할 수 있습니다.

해결 방법

API Gateway에 대한 VPC 인터페이스 엔드포인트 만들기

다음 단계를 완료하십시오.

  1. VPC 콘솔을 엽니다.
  2. 엔드포인트를 선택하고 엔드포인트 만들기를 선택합니다.
  3. 유형에서 AWS Services를 선택합니다.
  4. 서비스 검색 창에 execute-api를 입력합니다.
  5. 서비스 이름에서 com.amazonaws.region.execute-api를 선택합니다.
  6. VPC 드롭다운 목록을 선택한 다음, VPC 엔드포인트를 만드는 데 사용하려는 VPC를 선택합니다.
  7. (선택 사항) 프라이빗 DNS를 비활성화하려면 추가 설정을 선택하고 프라이빗 DNS 이름 활성화의 체크 표시를 해제합니다.
    참고: 프라이빗 DNS는 기본적으로 활성화되어 있습니다.
  8. 서브넷에서 해당하는 서브넷을 선택합니다.
  9. 보안 그룹에서 엔드포인트 네트워크 인터페이스와 연결하려는 보안 그룹을 선택합니다.
  10. 엔드포인트 만들기를 선택합니다.
  11. 세부 정보 탭을 선택하고 엔드포인트 ID를 기록해 둡니다(다음 섹션에서 사용하게 됨).

자세한 내용은 VPC 엔드포인트 만들기를 참조하십시오.

프라이빗 API 만들기

다음 단계를 완료하십시오.

  1. API Gateway 콘솔을 엽니다.
  2. API 만들기를 선택합니다.
  3. REST API 프라이빗에서 빌드를 선택합니다.
    참고: 프라이빗 REST API는 VPC 안에서만 사용할 수 있습니다.
  4. API 이름에 프라이빗 API의 이름을 입력합니다.
  5. VPC 엔드포인트 ID에 VPC 엔드포인트 ID를 입력하고 추가를 선택합니다.
  6. API 만들기를 선택합니다.
  7. API를 스테이지에 배포합니다.

자세한 내용은 프라이빗 API 만들기를 참조하십시오.

퍼블릭 API 만들기

다음 단계를 완료하십시오.

  1. API Gateway 콘솔을 엽니다.
  2. API 만들기를 선택합니다.
  3. HTTP API 또는 REST API에서 빌드를 선택합니다.
  4. API 이름에 퍼블릭 API의 이름을 입력합니다.
  5. API 만들기를 선택합니다.

자세한 내용은 HTTP API 만들기를 참조하십시오.

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

중요: VPC 리소스가 인터넷에 연결되어 있어야 퍼블릭 API에 연결할 수 있습니다.

프라이빗 DNS를 활성화한 채로 퍼블릭 API에 연결하려면 엣지 최적화 사용자 지정 도메인 이름 또는 리전별 사용자 지정 도메인 이름을 설정합니다. 그러면 해당 사용자 지정 도메인 이름(예: api.example.com)을 사용하여 API Gateway 퍼블릭 API를 호출할 수 있습니다. 프라이빗 REST API에 대한 연결은 프라이빗 REST API 엔드포인트를 통해 계속 작동합니다.

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

프라이빗 DSN를 비활성화한 상태로 프라이빗 API에 연결

참고: 기본 execute-api 호출 URL은 프라이빗 DNS를 비활성화한 상태로 프라이빗 REST API에 연결할 수 없습니다.

프라이빗 DNS를 비활성화한 상태로 프라이빗 API에 연결하려면 Route 53의 사용자 지정 도메인에 대하여 프라이빗 호스팅 영역을 만드십시오. 해당 프라이빗 호스팅 영역에서 API 식별자에 대한 A 레코드를 추가합니다. A 레코드가 VPC 엔드포인트의 IP 주소를 가리키게 해야 프라이빗 REST API의 기본 execute-api 호출 URL을 사용할 수 있습니다.

관련 정보

프라이빗 API 호출

API Gateway의 REST API에 대한 액세스 제어 및 관리

VPC 엔드포인트가 온프레미스 DNS를 사용하는 경우 프라이빗 API Gateway API에 액세스하려면 어떻게 해야 합니까?

VPC에서 API Gateway 퍼블릭 API에 연결하려 하면 HTTP "403 Forbidden" 오류가 발생하는 이유는 무엇입니까?