API Gateway에서 REST API 배포
API를 생성한 후, 사용자가 호출할 수 있도록 배포해야 합니다.
API를 배포하려면 API 배포를 생성해 단계에 연결합니다. 스테이지는 API의 수명 주기 상태에 대한 논리적 참조(예: dev
, prod
, beta
, v2
)입니다. API 스테이지는 API ID 및 스테이지 이름으로 식별됩니다. 이러한 스테이지는 API를 호출하는 데 사용하는 URL에 포함됩니다. 각 스테이지는 API 배포에 대한 명명된 참조이며, 클라이언트 애플리케이션 프로그램에서 호출을 하는 데 사용할 수 있습니다.
중요
API를 업데이트할 때마다 API를 기존 스테이지 또는 새 스테이지에 다시 배포해야 합니다. API를 업데이트하면 라우팅, 메서드, 통합, 권한 부여자, 리소스 정책 및 스테이지 설정 이외의 다른 항목이 수정됩니다.
API가 개선됨에 따라 다른 단계에 다른 API 버전으로 계속 API를 배포할 수 있습니다. API 업데이트를 Canary 릴리스 배포 형태로 배포할 수도 있습니다. 이렇게 하면 API 클라이언트가 동일한 스테이지에서 프로덕션 릴리스를 통해 프로덕션 버전에 액세스하고, Canary 릴리스를 통해 업데이트된 버전에 액세스할 수 있습니다.
배포된 API를 호출하기 위해 클라이언트는 API의 URL에 대해 요청을 제출합니다. 이 URL은 API의 프로토콜(HTTP(S) 또는 (WSS)), 호스트 이름, 단계 이름, 리소스 경로(REST API에 대한)에 의해 결정됩니다. 호스트 이름과 스테이지 이름에 따라 API의 기본 URL이 결정됩니다.
API의 기본 도메인 이름을 사용하면 지정된 스테이지(
)의 REST API 기본 URL은 다음 형식이 됩니다.{stageName}
https://
{restapi-id}
.execute-api.{region}
.amazonaws.com/{stageName}
API의 기본 URL을 사용자에게 더욱 친숙하게 만들기 위해 사용자 지정 도메인 이름(예: api.example.com
)을 생성하여 API의 기본 호스트 이름을 대체할 수 있습니다. 사용자 지정 도메인 이름 아래서 여러 API를 지원하려면 API 단계를 기본 경로에 매핑해야 합니다.
의 사용자 지정 도메인 이름과 사용자 지정 도메인 이름 아래의 기본 경로({api.example.com}
)에 매핑된 API 단계를 사용하면 기본 REST API URL은 다음과 같이 됩니다.{basePath}
https://
{api.example.com}
/{basePath}
각 단계에 대해 기본 계정 수준 요청 조절 한도를 조정하고 API 캐싱을 활성화하여 API 성능을 최적화할 수 있습니다. 또한 CloudTrail 또는 CloudWatch에 대한 API 호출 로깅을 활성화할 수 있으며, 백엔드에서 API 요청을 인증하기 위한 클라이언트 인증서를 선택할 수 있습니다. 뿐만 아니라, 개별 메서드에 대해 스테이지 수준의 설정을 재정의하고, 실행 시간에 스테이지별 환경 컨텍스트를 API 통합에 전달하도록 스테이지 변수를 정의할 수 있습니다.
단계를 통해 API의 강력한 버전 관리가 가능합니다. 예를 들어 API를 test
단계와 prod
단계에 배포하고, test
단계를 테스트 빌드로, prod
단계를 안정적 빌드로 사용할 수 있습니다. 업데이트가 테스트를 통과한 후 test
단계를 prod
단계로 승격할 수 있습니다. 승격은 API를 prod
스테이지에 재배포하거나 스테이지 변수 값을 test
의 스테이지 이름에서 prod
의 스테이지 이름으로 업데이트하면 가능합니다.
이 단원에서는 API Gateway 콘솔