API Gateway에서 REST API의 배포 생성 - Amazon API Gateway

API Gateway에서 REST API의 배포 생성

API Gateway에서 REST API 배포는 Deployment 리소스로 표현됩니다. RestApi 리소스로 표현되는 API의 실행 파일과 유사합니다.

클라이언트가 API를 호출하기 위해서는 배포를 생성하여 단계를 배포에 연결해야 합니다. 단계는 Stage 리소스로 표시됩니다. 이 리소스는 메서드, 통합, 모델, 매핑 템플릿 및 Lambda 권한 부여자(이전에는 사용자 지정 권한 부여자라고 함)를 포함한 API의 스냅샷을 나타냅니다. API를 업데이트하면 새 단계를 기존 배포에 연결하여 API를 다시 배포할 수 있습니다. 단계 생성은 API Gateway에서 REST API에 대한 스테이지 설정에서 다루고 있습니다.

배포 만들기

다음 절차에서는 REST API의 배포를 생성하는 방법을 보여줍니다.

AWS Management Console

REST API를 처음 배포하기 이전에 생성해야 합니다. 자세한 내용은 API Gateway에서 REST API 개발 단원을 참조하십시오.

API Gateway 콘솔에서 배포를 생성하고 새 단계 또는 기존 단계에 연결하여 API를 배포할 수 있습니다.

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

  2. 배포하고자 하는 API를 API(APIs) 탐색 창에서 선택합니다.

  3. 리소스 창에서 API 배포를 선택합니다.

  4. 스테이지의 경우 다음 중 하나를 선택합니다.

    1. 새 스테이지를 생성하려면 새 스테이지를 선택한 다음 스테이지 이름에 이름을 입력합니다. 선택적으로 배포 설명에 배포에 대한 설명을 제공할 수 있습니다.

    2. 기존 스테이지를 선택하려면 드롭다운 메뉴에서 스테이지 이름을 선택합니다. 배포 설명에 새 배포에 대한 설명을 입력할 수 있습니다.

    3. 스테이지와 연결되지 않은 배포를 생성하려면 스테이지 없음을 선택합니다. 나중에 이 배포를 스테이지와 연결할 수 있습니다.

  5. 배포를 선택합니다.

AWS CLI

배포를 생성할 때 Deployment 리소스를 인스턴스화합니다. API Gateway 콘솔, AWS CLI, AWS SDK 또는 API Gateway REST API를 사용하여 배포를 생성할 수 있습니다.

CLI를 사용하여 배포를 생성하려면 create-deployment 명령을 사용하세요.

aws apigateway create-deployment --rest-api-id <rest-api-id> --region <region>

이 배포를 단계에 연결할 때까지는 API를 호출할 수 없습니다. 기존 단계의 경우, 단계의 deploymentId 속성을 새로 생성된 배포 ID(<deployment-id>)로 업데이트하여 이 작업을 수행할 수 있습니다.

aws apigateway update-stage --region <region> \ --rest-api-id <rest-api-id> \ --stage-name <stage-name> \ --patch-operations op='replace',path='/deploymentId',value='<deployment-id>'

API를 처음 배포할 때 단계 생성과 배포 생성을 동시에 조합할 수 있습니다.

aws apigateway create-deployment --region <region> \ --rest-api-id <rest-api-id> \ --stage-name <stage-name>

이 작업은 API를 처음 배포하거나 API를 새 단계에 다시 배포할 때 API Gateway 콘솔의 백그라운드에서 수행됩니다.

API를 재배포하려면 동일한 단계를 수행합니다. 원하는 만큼 같은 단계를 재사용할 수 있습니다.

API 배포를 위한 다음 단계

다음은 API 배포를 위한 다음 단계입니다.

스테이지 설정 수정

API를 배포한 후 스테이지 설정을 수정하여 API 캐시, 로깅 또는 요청 스로틀을 활성화 또는 비활성화할 수 있습니다. 또한 백엔드에서 API Gateway를 인증하기 위한 클라이언트 인증서를 선택하고, 실행 시간에 배포 컨텍스트를 API 통합에 전달하도록 단계 변수를 설정할 수 있습니다. 자세한 내용은 스테이지 설정 수정 단원을 참조하세요.

단계 설정을 수정한 후에는 API를 다시 배포해야 변경 사항이 적용됩니다.

참고

업데이트된 설정(예: 로깅 활성화)에 새 IAM 역할이 필요한 경우 API를 다시 배포하지 않고 필요한 IAM 역할을 추가할 수 있습니다. 하지만 새 IAM 역할을 적용하려면 몇 분 정도 걸릴 수 있습니다. 적용이 되기 전에는 로깅 옵션을 활성화한 경우에도 API 호출에 대한 트레이스가 기록되지 않습니다.

다양한 배포 스테이지 조합 선택

배포는 API 스냅샷을 나타내고 단계는 스냅샷에 대한 경로를 정의하므로 다른 배포-단계 조합을 선택하여 사용자가 API의 다른 버전을 호출하는 방법을 제어할 수 있습니다. 이 기능은 API 상태를 이전 배포로 롤백하거나 API의 '프라이빗 분기'를 퍼블릭 분기로 병합하려는 경우 등에 유용합니다.

다음 절차에서는 API Gateway 콘솔에서 Stage Editor(단계 편집기)를 사용하여 이 작업을 수행하는 방법을 보여 줍니다. 여기서는 API를 두 번 이상 배포했다고 가정합니다.

  1. 아직 스테이지 창에 있지 않은 경우 기본 탐색 창에서 스테이지를 선택합니다.

  2. 업데이트할 스테이지를 선택합니다.

  3. 배포 기록 탭에서 스테이지를 사용하고자 하는 배포를 선택합니다.

  4. 활성 배포 변경을 선택합니다.

  5. 활성 배포를 변경할지 확인하고 활성 배포로 설정 대화 상자에서 활성 배포 변경을 선택합니다.

배포별 데이터를 API로 전달합니다.

배포를 위해 실행 시간에 배포 관련 데이터를 API 통합에 전달하도록 스테이지 변수를 설정하거나 수정할 수 있습니다. 이 작업은 단계 편집기(Stage Editor)단계 변수(Stage Variables) 탭에서 수행할 수 있습니다. 자세한 내용은 API Gateway에서 REST API용 스테이지 변수 사용 단원의 지침을 참조하세요.