API Gateway에서 퍼블릭 또는 프라이빗 API 엔드포인트 유형 변경 - Amazon API Gateway

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

API Gateway에서 퍼블릭 또는 프라이빗 API 엔드포인트 유형 변경

API 엔드포인트 유형을 변경하려면 API의 구성을 업데이트해야 합니다. API Gateway 콘솔, AWS CLI 또는 API Gateway용 AWS SDK를 사용하여 기존 API 유형을 변경할 수 있습니다. 업데이트 작업은 완료하는 데 최대 60초까지 걸릴 수 있습니다. 이 시간 동안 API를 사용할 수 있지만 현재 변경이 완료될 때까지 API의 엔드포인트 유형을 다시 변경할 수는 없습니다.

다음과 같은 엔드포인트 유형 변경이 지원됩니다.

  • 엣지 최적화에서 리전 또는 프라이빗으로 변경

  • 리전에서 엣지 최적화 또는 프라이빗으로 변경

  • 프라이빗에서 리전으로 변경

프라이빗 API를 엣지 최적화된 API로 바꿀 수는 없습니다.

퍼블릭 API의 유형을 엣지 최적화에서 리전으로, 또는 리전에서 엣지 최적화로 변경할 때는 엣지 최적화된 API가 리전 API와 다르게 동작할 수 있다는 점에 유의해야 합니다. 예를 들어 엣지 최적화 API는 Content-MD5 헤더를 제거합니다. 백엔드로 전달되는 모든 MD5 해시 값은 요청 문자열 파라미터 또는 본문 속성으로 표현될 수 있습니다. 그러나 리전 API는 헤더 이름을 다른 이름으로 다시 매핑하기는 하지만 이 헤더를 빠져나갑니다. 그 차이를 이해하면 엣지 최적화 API를 리전 API로 또는 리전 API를 엣지 최적화 API로 업데이트하는 방법을 결정하는 데 도움이 됩니다.

API Gateway 콘솔을 사용하여 API 엔드포인트 유형 변경

API의 API 엔드포인트 유형을 변경하려면 다음 단계 세트 중 하나를 수행하십시오.

리전에서 엣지 최적화로 또는 그 반대로 퍼블릭 엔드포인트를 전환하려면

  1. https://console.aws.amazon.com/apigateway에서 API Gateway 콘솔에 로그인합니다.

  2. REST API를 선택합니다.

  3. [Settings]를 선택합니다.

  4. 엔드포인트 구성에서 엔드포인트 유형 옵션을, Edge Optimized에서 Regional로 또는 Regional에서 Edge Optimized로 변경합니다.

  5. 변경 사항 저장을 선택하여 업데이트를 시작합니다.

프라이빗 엔드포인트를 리전 엔드포인트로 전환하려면

  1. https://console.aws.amazon.com/apigateway에서 API Gateway 콘솔에 로그인합니다.

  2. REST API를 선택합니다.

  3. API의 리소스 정책에서 VPC 또는 VPC 엔드포인트에 대한 언급을 삭제하여 VPC 내부는 물론 VPC 외부에서 오는 API 호출도 성공하도록 합니다.

  4. [Settings]를 선택합니다.

  5. 엔드포인트 유형Regional로 변경합니다.

  6. 변경 사항 저장을 선택하여 업데이트를 시작합니다.

  7. API에서 리소스 정책을 제거합니다.

  8. API를 다시 배포하여 변경 사항을 적용합니다.

AWS CLI를 사용하여 API 엔드포인트 유형 변경

AWS CLI를 사용하여 API ID가 {api-id}인 엣지 최적화 API를 업데이트하려면 다음과 같이 update-rest-api를 호출합니다.

aws apigateway update-rest-api \ --rest-api-id {api-id} --patch-operations op=replace,path=/endpointConfiguration/types/EDGE,value=REGIONAL

성공적인 응답에는 다음과 같이 200 OK 상태 코드와 페이로드가 있습니다.

{ "createdDate": "2017-10-16T04:09:31Z", "description": "Your first API with Amazon API Gateway. This is a sample API that integrates via HTTP with our demo Pet Store endpoints", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0gsnjtjck8", "name": "PetStore imported as edge-optimized" }

반대로 다음과 같이 리전 API를 엣지 최적화 API로 업데이트합니다.

aws apigateway update-rest-api \ --rest-api-id {api-id} --patch-operations op=replace,path=/endpointConfiguration/types/REGIONAL,value=EDGE

put-rest-api는 API 정의를 업데이트하기 위한 것이므로 API 엔드포인트 유형을 업데이트하는 데는 적용할 수 없습니다.