API Gateway에서 리전 API 설정 - Amazon API Gateway

API Gateway에서 리전 API 설정

API 요청이 API가 배포되는 리전 내의 EC2 인스턴스 또는 서비스에서 주로 발신되는 경우 리전 API 엔드포인트는 일반적으로 연결 지연 시간을 줄이므로 그러한 시나리오에 권장됩니다.

참고

API 클라이언트가 지리적으로 분산되어 있는 경우, API Gateway가 API를 서비스 제어 CloudFront 배포와 연결하지 않도록 하기 위해 리전 API 엔드포인트를 자체 Amazon CloudFront 배포와 함께 사용할 수 있습니다. 이 사용 사례에 대한 자세한 내용은 고유의 CloudFront 배포를 사용하여 API Gateway를 설정하려면 어떻게 해야 합니까?를 참조하세요.

리전 API를 생성하려면 엣지 최적화 API 생성의 단계를 따르되 REGIONAL 유형을 API endpointConfiguration의 유일한 옵션으로 명시적으로 설정해야 합니다.

다음 예제에서는 API Gateway 콘솔, AWS CLI, Node.js JavaScript용 AWS SDK를 사용하여 리전 API를 생성하는 방법을 보여줍니다.

API Gateway 콘솔을 사용하여 리전 API 생성

API Gateway 콘솔을 사용하여 리전 API를 생성하려면

  1. API Gateway 콘솔에 로그인하고 + API 생성을 선택합니다.

  2. 새 API 생성(Create new API)에서 새 API(New API) 옵션을 선택합니다.

  3. API 이름(API name)에 이름(예: Simple PetStore (Console, Regional))을 입력합니다.

  4. 엔드포인트 유형에서 Regional을 선택합니다.

  5. API 생성(Create API)을 선택합니다.

여기서부터는 엣지 최적화 API 생성에 설명된 대로 API 메서드와 이에 연결된 통합을 설정하는 단계로 나아갈 수 있습니다.

AWS CLI를 사용하여 리전 API 생성

AWS CLI를 사용하여 리전 API를 생성하려면 다음과 같이 create-rest-api 명령을 호출하세요.

aws apigateway create-rest-api \ --name 'Simple PetStore (AWS CLI, Regional)' \ --description 'Simple regional PetStore API' \ --region us-west-2 \ --endpoint-configuration '{ "types": ["REGIONAL"] }'

성공적인 응답은 다음과 비슷한 페이로드를 반환합니다.

{ "createdDate": "2017-10-13T18:41:39Z", "description": "Simple regional PetStore API", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (AWS CLI, Regional)" }

여기서부터는 AWS CLI 명령을 사용한 엣지 최적화 API 설정에 제공된 지침에 따라 이 API에 대해 메서드와 통합을 설정할 수 있습니다.

JavaScript용 AWS SDK를 사용하여 리전 API를 생성

JavaScript용 AWS SDK를 사용하여 리전 API를 생성하는 방법:

apig.createRestApi({ name: "Simple PetStore (node.js SDK, regional)", endpointConfiguration: { types: ['REGIONAL'] }, description: "Demo regional API created using the AWS SDK for node.js", version: "0.00.001" }, function(err, data){ if (!err) { console.log('Create API succeeded:\n', data); restApiId = data.id; } else { console.log('Create API failed:\n', err); } });

성공적인 응답은 다음과 비슷한 페이로드를 반환합니다.

{ "createdDate": "2017-10-13T18:41:39Z", "description": "Demo regional API created using the AWS SDK for node.js", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (node.js SDK, regional)" }

이전 단계를 완료한 후에 Node.js용 AWS SDK를 사용한 엣지 최적화 API 설정의 지침에 따라 이 API에 대해 메서드와 통합을 설정할 수 있습니다.

리전 API 테스트

일단 배포된 리전 API의 기본 URL 호스트 이름은 그 형식이 다음과 같습니다.

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

API를 호출할 기본 URL은 다음과 같습니다.

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

이 예제에서는 GET /petsGET /pets/{petId}를 설정했다는 가정 하에 브라우저에 다음 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