REST 또는 HTTP API에 대한 API 게이트웨이 기본 엔드포인트를 비활성화하려면 어떻게 해야 합니까?

2분 분량
0

클라이언트가 사용자 지정 도메인 이름만 사용하여 내 API를 호출할 수 있도록 허용하고 싶습니다. Amazon API Gateway REST 또는 HTTP API에 대한 기본 API execute-api 엔드포인트 URL을 비활성화하려면 어떻게 해야 합니까?

간략한 설명

API 게이트웨이 REST APIHTTP API는 "https://{api_id}.execute-api.{region}.amazonaws.com" 형식의 기본 API 엔드포인트를 사용합니다. API Gateway REST 또는 HTTP API에 사용자 지정 도메인 이름을 사용하는 경우 기본 엔드포인트를 비활성화할 수 있습니다. 이렇게 하면 모든 트래픽이 사용자 지정 도메인 이름을 통해 API로 라우팅될 수 있습니다.

해결 방법

다음 단계에 따라 API 게이트웨이 콘솔, AWS Command Line Interface(AWS CLI) 또는 AWS CloudFormation을 사용하여 기본 엔드포인트를 비활성화합니다.

참고:

API Gateway 콘솔

REST API

  1. API Gateway 콘솔을 엽니다.
  2. 탐색 창에서 API를 선택하고 REST API를 선택합니다.
  3. 탐색 창에서 설정을 선택합니다.
  4. 기본 엔드포인트에서 Disabled를 선택한 다음 변경 내용 저장을 선택합니다.
  5. 탐색 창에서 리소스, 작업을 선택한 다음 API 배포를 선택합니다.

HTTP API

  1. API Gateway 콘솔을 엽니다.
  2. 탐색 창에서 API를 선택하고 HTTP API를 선택합니다.
  3. 탐색 창에서 설정을 선택합니다.
  4. 기본 엔드포인트에서 Disabled를 선택한 다음 변경 내용 저장을 선택합니다.
  5. 탐색 창에서 리소스, 작업을 선택한 다음 API 배포를 선택합니다.

AWS CLI

REST API

다음과 유사한 AWS CLI 명령 update-rest-api를 실행합니다.

aws apigateway update-rest-api --rest-api-id abcdef123 --patch-operations op=replace,path=/disableExecuteApiEndpoint,value='True'

업데이트된 API를 배포하려면 다음과 유사한 AWS CLI 명령 create-deployment를 실행합니다.

aws apigateway create-deployment --rest-api-id abcdef123 --stage-name dev

참고: api_id abcdef123 및 stage_name dev을 REST API ID 및 각 단계로 대체합니다.

HTTP API

다음과 유사한 AWS CLI 명령 update-api를 실행합니다.

aws apigatewayv2 update-api --api-id abcdef123 --disable-execute-api-endpoint

업데이트된 API를 배포하려면 다음과 유사한 AWS CLI 명령 create-deployment를 실행합니다.

aws apigatewayv2 create-deployment --api-id abcdef123 --stage-name dev

참고: api_id abcdef123 및 stage_name dev을 HTTP API ID 및 각 단계로 대체합니다.

CloudFormation 템플릿

CloudFormation 템플릿에서 기본 엔드포인트를 비활성화하려면 disableExecuteAPIendpoint 매개변수를 True로 설정할 수 있습니다. REST API 또는 HTTP API에 대한 CloudFormation 템플릿을 업데이트합니다.

중요: 기본 엔드포인트 URL을 사용하여 API를 호출하는 경우 기본 엔드포인트를 비활성화하면 HTTP 403 Forbidden 오류가 발생합니다.


관련 정보

API Gateway의 HTTP 403 오류를 해결하려면 어떻게 해야 합니까?