Amazon API Gateway는 규모에 상관없이 개발자들이 쉽게 API를 공개, 유지, 모니터링 및 보호할 수 있는 전체 관리형 서비스입니다. 모바일 디바이스의 확산과 IoT(사물인터넷)의 증가로 인해 백엔드 시스템 및 데이터가 API를 통해 애플리케이션에 액세스하도록 하는 경우가 점점 더 많아지고 있습니다. 많은 애플리케이션에서 이러한 API를 사용하고 개발자 커뮤니티에서 이러한 API에 의존함에 따라 API 개발과 관리에 더욱 많은 시간과 노력이 사용되고 있습니다. Amazon API Gateway는 규모에 따라 API를 안전하고 안정적으로 실행하는 데 관련된 모든 획일적인 작업을 처리하는 종량 과금제 서비스입니다. 또한, JavaScript, iOS, Android를 비롯해 여러 언어로 클라이언트 SDK를 생성하여 이러한 API를 손쉽게 사용할 수 있게 해줍니다.

Amazon API Gateway 시작하기

무료 계정 생성

Amazon API Gateway 프리 티어에는 12개월 동안 매달 1백만 건의 API 호출이 포함됩니다.

API-Gateway_PDP-nodivide

Benefit_Tools_Yellow

Amazon API Gateway를 사용하면 AWS Lambda에서 실행되는 코드에 대한 사용자 지정 API를 쉽고 빠르게 생성한 후 API에서 Lambda 코드를 호출할 수 있습니다. Amazon API Gateway에서는 계정에서 AWS Lambda 코드를 실행하거나, AWS Step Functions 상태 머신을 시작하거나, AWS Elastic Beanstalk 또는 Amazon EC2를 호출하거나, 공개적으로 액세스 가능한 HTTP 엔드포인트를 통해 AWS 외부의 웹 서비스를 호출할 수 있습니다. Amazon API Gateway 콘솔을 사용하여 REST API 및 이와 관련된 리소스와 메서드를 정의하고, API 수명 주기를 관리하며, 클라이언트 SDK를 생성하고, API 지표를 볼 수 있습니다.

APIGateway_Diagram
Benefit_Delivery_Green

Amazon API Gateway는 API의 각 HTTP 메서드에 대해 초당 요청 수를 기준으로 제한 규칙을 설정함으로써 백엔드 시스템의 트래픽을 관리할 수 있도록 지원합니다. 또한, 요청 건마다 백엔드 서비스를 호출하지 않도록 사용자 지정이 가능한 키 및 TTL(초)을 사용하여 API 데이터에 대한 캐시를 설정할 수 있습니다. Amazon API Gateway는 API를 통해 수신한 모든 수준의 트래픽을 처리함으로써 인프라의 유지 관리보다는 비즈니스 로직에 집중할 수 있게 해줍니다.

워크플로우 제한 및 캐싱

(확대하려면 클릭)

워크플로우 제한 및 캐싱
AmazonMachineLearning_Benefit_EasilyCreate

Amazon API Gateway를 사용하면 같은 API를 여러 버전으로 실행할 수 있으므로 최신 버전이 게시된 후에도 애플리케이션에서 이전 API 버전을 계속 호출할 수 있습니다. 또한, Amazon API Gateway에서는 API 버전별로 알파, 베타, 프로덕션 등 여러 릴리스 단계를 관리할 수 있습니다. 각 API 단계는 사용자의 API 설정에 따라 다양한 백엔드 엔드포인트와 상호 작용하도록 구성될 수 있습니다. API의 특정 단계 및 버전은 커스텀 도메인 이름과 연동할 수 있으며, Amazon API Gateway를 통해 관리할 수 있습니다. 스테이지 및 버전 관리를 사용하면 이전 API 릴리스를 개선하거나 새로운 기능을 추가한 새로운 API 버전을 쉽게 테스트하고, 사용자 커뮤니티에서 최신 릴리스를 채택하기까지의 전환 기간에 이전 버전과의 호환성을 보장할 수 있습니다.

Benefit_Process_Orange

Amazon API Gateway에서는 다양한 플랫폼용 클라이언트 SDK를 생성할 수 있으며, 생성한 SDK를 이용하여 애플리케이션에서 새로운 API를 빠르게 테스트하고 타사 개발자에게 해당 SDK를 배포할 수 있습니다. 생성된 SDK는 AWS 자격 증명을 사용하여 API 키 및 서명을 처리합니다. Amazon API Gateway에서는 JavaScript, iOS 및 Android용 클라이언트 SDK를 생성할 수 있습니다.

benefit_search

API가 배포 및 사용된 후 Amazon API Gateway에서 제공하는 대시보드를 통해 서비스에 요청된 호출을 모니터링할 수 있습니다. Amazon API Gateway 콘솔은 Amazon CloudWatch와 통합되어 콘솔에서 API 호출, 지연 시간, 오류 발생률 등 백엔드 성능 지표를 확인할 수 있습니다. API Gateway에서 CloudWatch를 사용하여 모니터링 정보를 기록하므로 Amazon API Gateway API에 커스텀 경보를 설정할 수 있습니다. 또한, Amazon API Gateway에서는 디버깅하기 쉽도록 API 실행 오류를 CloudWatch 로그에 기록할 수 있습니다.

benefit_SecurityProductFeatures_network-security

API Gateway는 AWS 서비스에 대한 API 요청을 인증 및 확인하기 위해 AWS에서 자체 서비스에 사용하는 것과 같은 서명 버전 4를 사용하도록 지원합니다. 서명 버전 4 인증을 사용하면 Identity and Access Management(IAM) 및 액세스 정책을 통해 API 및 다른 모든 AWS 리소스에 대한 액세스 권한을 부여할 수 있습니다. 또한, AWS Lambda 함수를 사용하여 JWT 토큰이나 SAML 어설션과 같은 전달자 토큰을 확인 및 인증할 수 있습니다.

Benefit_Key-Management_Red

API Gateway는 API에 액세스하는 타사 개발자 에코시스템을 관리할 수 있도록 지원합니다. Amazon API Gateway상에 API 키를 생성하고, API 키별로 세부적인 액세스 권한을 설정하고, 타사 개발자가 API에 액세스할 수 있도록 해당 키를 타사 개발자에게 배포할 수 있습니다. 또한, 개별 API 키에 대해 제한을 설정하는 플랜을 정의하고 할당량 한도를 요청할 수 있습니다. API 키의 사용은 전적으로 선택 사항이며, 사용하려면 메서드별 수준에서 활성화되어야 합니다.