API 엔드포인트 유형을 변경하려면 API의 구성을 업데이트해야 합니다. API Gateway 콘솔, AWS CLI 또는 API Gateway용 AWS SDK를 사용하여 기존 API 유형을 변경할 수 있습니다. 이 시간 동안 API를 사용할 수 있지만 현재 변경이 완료될 때까지 엔드포인트 유형을 다시 변경할 수는 없습니다.
다음과 같은 엔드포인트 유형 변경이 지원됩니다.
-
엣지 최적화에서 리전 또는 프라이빗으로 변경
-
리전에서 엣지 최적화 또는 프라이빗으로 변경
-
프라이빗에서 리전으로 변경
프라이빗 API를 엣지 최적화된 API로 바꿀 수는 없습니다.
퍼블릭 API의 유형을 엣지 최적화에서 리전으로, 또는 리전에서 엣지 최적화로 변경할 때는 엣지 최적화된 API가 리전 API와 다르게 동작할 수 있다는 점에 유의해야 합니다. 예를 들어 엣지 최적화 API는 Content-MD5
헤더를 제거합니다. 백엔드로 전달되는 모든 MD5 해시 값은 요청 문자열 파라미터 또는 본문 속성으로 표현될 수 있습니다. 그러나 리전 API는 헤더 이름을 다른 이름으로 다시 매핑하기는 하지만 이 헤더를 빠져나갑니다. 그 차이를 이해하면 엣지 최적화 API를 리전 API로 또는 리전 API를 엣지 최적화 API로 업데이트하는 방법을 결정하는 데 도움이 됩니다.
API Gateway 콘솔을 사용하여 API 엔드포인트 유형 변경
API의 API 엔드포인트 유형을 변경하려면 다음 단계 세트 중 하나를 수행하세요.
지역에서 엣지 최적화로 또는 그 반대로 퍼블릭 엔드포인트를 전환하려면
-
https://console.aws.amazon.com/apigateway
에서 API Gateway 콘솔에 로그인합니다. REST API를 선택합니다.
API 설정을 선택합니다.
API 세부 정보 섹션에서 편집을 선택합니다.
-
API 엔드포인트 유형으로 엣지 최적화 또는 지역을 선택합니다.
-
Save changes(변경 사항 저장)를 선택합니다.
-
API를 다시 배포하여 변경 사항을 적용합니다.
프라이빗 엔드포인트를 리전 엔드포인트로 전환하려면
-
https://console.aws.amazon.com/apigateway
에서 API Gateway 콘솔에 로그인합니다. REST API를 선택합니다.
-
API의 리소스 정책에서 VPC 또는 VPC 엔드포인트에 대한 언급을 삭제하여 VPC 내부는 물론 VPC 외부에서 오는 API 호출도 성공하도록 합니다.
API 설정을 선택합니다.
API 세부 정보 섹션에서 편집을 선택합니다.
-
API 엔드포인트 유형에서 지역을 선택합니다.
-
Save changes(변경 사항 저장)를 선택합니다.
-
API에서 리소스 정책을 제거합니다.
-
API를 다시 배포하여 변경 사항을 적용합니다.
리전 엔드포인트를 프라이빗 엔드포인트로 전환하려면
-
https://console.aws.amazon.com/apigateway
에서 API Gateway 콘솔에 로그인합니다. REST API를 선택합니다.
-
VPC 또는 VPC 엔드포인트에 대한 액세스 권한을 부여하는 리소스 정책을 생성합니다. 자세한 내용은 3단계: 프라이빗 API에 대한 리소스 정책 설정 단원을 참조하십시오.
API 설정을 선택합니다.
API 세부 정보 섹션에서 편집을 선택합니다.
-
API 엔드포인트 유형에서 프라이빗을 선택합니다.
-
(옵션) VPC 엔드포인트 ID의 경우 프라이빗 API와 연결하려는 VPC 엔드포인트 ID를 선택합니다.
-
Save changes(변경 사항 저장)를 선택합니다.
-
API를 다시 배포하여 변경 사항을 적용합니다.
AWS CLI를 사용하여 API 엔드포인트 유형 변경
다음 update-rest-api 명령은 엣지 최적화 API를 리전 API로 업데이트합니다.
aws apigateway update-rest-api \ --rest-api-id a1b2c3 \ --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": "a1b2c3", "name": "PetStore imported as edge-optimized" }
다음 update-rest-api 명령은 리전 API를 엣지 최적화 API로 업데이트합니다.
aws apigateway update-rest-api \ --rest-api-id a1b2c3 \ --patch-operations op=replace,path=/endpointConfiguration/types/REGIONAL,value=EDGE
put-rest-api는 API 정의를 업데이트하기 위한 것이므로 API 엔드포인트 유형을 업데이트하는 데는 적용할 수 없습니다.