자습서: API Gateway 프라이빗 통합으로 REST API 빌드 - Amazon API Gateway

자습서: API Gateway 프라이빗 통합으로 REST API 빌드

프라이빗 통합이 포함된 API Gateway API를 생성하여 Amazon Virtual Private Cloud(Amazon VPC) 내의 HTTP/HTTPS 리소스에 액세스할 수 있는 권한을 고객에게 제공할 수 있습니다. 이러한 VPC 리소스는 VPC에서 Network Load Balancer 뒤에 있는 EC2 인스턴스의 HTTP/HTTPS 엔드포인트입니다. Network Load Balancer는 VPC 리소스를 캡슐화하고 수신되는 요청을 대상 지정된 리소스로 라우팅합니다.

클라이언트가 API를 호출하면 미리 구성된 VPC 링크를 통해 API Gateway가 Network Load Balancer에 연결합니다. VPC 링크는 VpcLink의 API Gateway 리소스에 의해 캡슐화됩니다. VPC 링크는 API 메서드 요청을 VPC 리소스에 전달하는 일을 담당하며, 백엔드 응답을 호출자에게 반환합니다. API 개발자에게 VpcLink는 통합 엔드포인트와 기능적으로 동등합니다.

프라이빗 통합이 포함된 API를 생성하려면 새 VpcLink를 만들거나, 원하는 VPC 리소스를 대상으로 하는 Network Load Balancer와 연결된 기존 VPC 링크를 선택해야 합니다. VpcLink를 생성하고 관리하려면 적절한 권한이 있어야 합니다. 그런 다음 API 메서드를 설정한 다음 VpcLink 또는 HTTP통합 유형으로, HTTP_PROXY를 통합 연결 유형으로 설정하고 통합 VPC_LINK에서 VpcLink 식별자를 설정하여 connectionId와 통합합니다.

참고

Network Load Balancer와 API는 동일한 AWS 계정에서 소유해야 합니다.

빠르게 API 생성을 시작해 VPC 리소스에 액세스할 수 있도록 API Gateway 콘솔을 사용하여 프라이빗 통합이 포함된 API를 구축하기 위한 필수 단계를 안내합니다. API를 생성하기 전에 다음을 수행하십시오.

  1. VPC 리소스를 만들고, 같은 리전의 계정에서 Network Load Balancer를 만들거나 선택한 다음 Network Load Balancer의 대상으로 리소스를 호스팅하는 EC2 인스턴스를 추가합니다. 자세한 내용은 API Gateway 프라이빗 통합을 위한 Network Load Balancer 설정 단원을 참조하세요.

  2. 프라이빗 통합을 위한 VPC 링크를 생성할 수 있는 권한을 부여합니다. 자세한 내용은 VPC 링크를 생성할 수 있는 권한 부여 단원을 참조하세요.

대상 그룹에 구성된 VPC 리소스로 VPC 리소스 및 Network Load Balancer를 생성한 다음, 아래 지침에 따라 API를 생성하고 프라이빗 통합에 있는 VpcLink로 이를 VPC 리소스와 통합합니다.

프라이빗 통합을 통해 API를 생성하려면
  1. https://console.aws.amazon.com/apigateway에서 API Gateway 콘솔에 로그인합니다.

  2. API Gateway를 처음 사용하는 경우, 서비스의 기능을 소개하는 페이지가 나타납니다. REST API에서 빌드를 선택합니다. 예제 API 생성 팝업이 나타나면 확인을 선택합니다.

    API Gateway를 처음 사용하는 것이 아닌 경우 API 생성을 선택합니다. REST API에서 빌드를 선택합니다.

  3. 엣지 최적화 또는 리전 REST API를 생성합니다.

  4. 해당 API를 선택합니다.

  5. 메서드 생성을 선택하고 다음을 수행합니다.

    1. 메서드 유형에서 GET를 선택합니다.

    2. 통합 유형에서 VPC 링크를 선택합니다.

    3. VPC 프록시 통합을 켭니다.

    4. HTTP 메서드에서 GET을 선택합니다.

    5. VPC 링크에서 [단계 변수 사용]을 선택하고 아래 텍스트 상자에 ${stageVariables.vpcLinkId}를 입력합니다.

      API를 스테이지에 배포한 후 vpcLinkId 스테이지 변수를 정의하고, 그 값을 VpcLink의 ID로 설정합니다.

    6. 엔드포인트 URL에 URL(예: http://myApi.example.com)을 입력합니다.

      여기서 호스트 이름(예: myApi.example.com)을 사용하여 통합 요청의 Host 헤더를 설정합니다.

    7. 메서드 생성을 선택합니다.

      프록시 통합의 경우, API를 배포할 준비가 됩니다. 그렇지 않다면 계속해서 적절한 메서드 응답과 통합 응답을 설정해야 합니다.

  6. API 배포를 선택하고 다음을 수행합니다.

    1. 스테이지에서 새 스테이지를 선택합니다.

    2. 스테이지 이름에 스테이지 이름을 입력합니다.

    3. (선택 사항) 설명에 설명을 입력합니다.

    4. [배포]를 선택합니다.

  7. 스테이지 세부 정보 섹션에서 결과 호출 URL을 기록해 둡니다. API 호출 시 필요합니다. 그 전에 vpcLinkId 단계 변수를 설정해야 합니다.

  8. 스테이지 창에서 스테이지 변수 탭을 선택한 후 다음을 수행합니다.

    1. 변수 관리를 선택한 다음 스테이지 변수 추가를 선택합니다.

    2. 이름vpcLinkId를 입력합니다.

    3. VPC_LINK의 ID(예: gix6s7)를 입력합니다.

    4. Save(저장)를 선택합니다.

      단계 변수를 사용하면 단계 변수 값을 변경하여 API의 다른 VPC 링크로 쉽게 전환할 수 있습니다.