Amazon API Gateway
개발자 안내서

프라이빗 API를 호출하는 방법

프라이빗 API를 배포한 후, 프라이빗 DNS(프라이빗 DNS 이름 지정을 활성화한 경우) 및 퍼블릭 DNS를 통해 그 API에 액세스할 수 있습니다.

프라이빗 API의 DNS 이름을 얻으려면 다음과 같이 하십시오.

  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔에 로그인합니다.

  2. 왼쪽의 탐색 창에서 엔드포인트를 선택한 후 API Gateway용 인터페이스 VPC 엔드포인트를 선택합니다.

  3. 세부 정보 창의 DNS 이름 필드에 값이 5개 표시됩니다. 처음 3개는 해당 API의 퍼블릭 DNS 이름입니다. 나머지 2개는 프라이빗 DNS 이름입니다.

프라이빗 DNS 이름으로 프라이빗 API 호출

프라이빗 DNS를 활성화했다면 다음과 같이 그 프라이빗 DNS 이름으로 프라이빗 API에 액세스할 수 있습니다.

{restapi-id}.execute-api.{region}.amazonaws.com

API를 호출하는 기본 URL의 형식은 다음과 같습니다.

https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}

예를 들어 이 예제에서 GET /petsGET /pets/{petId} 메서드를 설정했고 REST API ID가 0qzs2sy7bh이며 해당 리전은 us-west-2라고 가정하면, 브라우저에 다음 URL을 입력하여 API를 테스트할 수 있습니다.

https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets

https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets/1

또는 다음 cURL 명령을 사용할 수 있습니다.

curl -X GET https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets

curl -X GET https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets/2

엔드포인트 특정한 퍼블릭 DNS 호스트 이름을 사용하여 프라이빗 API 호출

엔드포인트 특정한 DNS 호스트 이름을 사용하여 프라이빗 API에 액세스할 수 있습니다. 이들 이름은 프라이빗 API에 대한 VPC 엔드포인트 ID 또는 API ID가 포함된 퍼블릭 DNS 호스트 이름입니다.

기본 URL의 형식은 다음과 같습니다.

https://{public-dns-hostname}.execute-api.{region}.vpce.amazonaws.com/{stage}

예를 들어, 이 예제에서 GET /petsGET /pets/{petId} 메서드를 설정했고 API의 API ID는 0qzs2sy7bh이고 퍼블릭 DNS 호스트 이름은 vpce-0c1308d7312217cd7-01234567이며 리전은 us-west-2라고 가정하면 다음 예와 같이 cURL 명령으로Host 헤더를 사용하여 VPCE ID를 통해 API를 테스트할 수 있습니다.

curl -v https://vpce-0c1308d7312217cd7-01234567.execute-api.us-east-1.vpce.amazonaws.com/test/pets -H 'Host: 0qzs2sy7bh.execute-api.us-west-2.amazonaws.com'

또는 다음 형식의 cURL 명령으로 x-apigw-api-id 헤더를 사용하여 API ID를 통해 프라이빗 API에 액세스할 수 있습니다.

curl -v https://{vpce-id}.execute-api.{region}.vpce.amazonaws.com/test -H'x-apigw-api-id:{api-id}'

AWS Direct Connect를 사용하여 프라이빗 API 액세스

또한 온프레미스 네트워크에서 AWS Direct Connect를 사용하여 Amazon VPC 전용 연결을 설정한 후, 이 연결을 통해 퍼블릭 DNS 이름으로 프라이빗 API 엔드포인트에 액세스할 수도 있습니다.

온프레미스 네트워크에서 프라이빗 API에 액세스하는 데는 프라이빗 DNS 이름을 사용할 수 없습니다.