기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
API 관리
적절한 API 관리를 통해 내부 및 외부 소비자가 마이크로서비스에 액세스할 수 있습니다.는 마이크로서비스 APIs를 안전하게 노출하는 데 함께 사용할 수 있는 다양한 서비스를 AWS 제공합니다. 이러한 서비스는 API 보안을 적용하고 중앙 위치에서 모니터링과 관찰성을 구현할 수 있게 해줍니다. 또한 APIs 사용자가 서비스가 호스팅되는에서 지리적으로 멀리 떨어져 AWS 리전 있는 경우 Amazon CloudFront를 사용하여 성능을 개선할 수 있습니다.
Amazon API Gateway
Amazon API Gateway는 개발자가 REST 및 WebSocket API를 어떤 규모에서든 생성, 게시, 유지 관리, 모니터링, 보안할 수 있도록 지원하는 완전 관리형 서비스입니다. API Gateway를 사용하면 이 가이드의 통신 패턴 섹션에서 설명한 많은 패턴을 구현할 수 있습니다.
REST API에는 REST와 HTTP 두 가지 주요 유형이 있습니다. 두 유형 모두 RESTful API를 지원하지만 제공하는 기능은 다릅니다. 어떤 유형이 요구 사항에 가장 적합한지 확인하려면 API Gateway 설명서의 REST API와 HTTP API 선택을 참조하세요. 이 가이드 섹션에서는 API Gateway REST API에 중점을 둡니다.
API Gateway를 API 진입점으로 사용하면 요청 검증, 보안 등 공통 기능을 한 곳에서 구현할 수 있습니다. API Gateway REST API는 JSON 스키마
인증 및 권한 부여
API Gateway REST API는 다음과 같은 인증(authN) 및 권한 부여(authZ) 메커니즘을 지원합니다.
-
IAM – IAM을 사용하는 경우, API 요청은 AWS Signature Version 4(SigV4)를 사용하여 서명해야 합니다.
-
Amazon Cognito – API Gateway는 제시된 보유자 토큰이 Amazon Cognito 사용자 풀에서 발급되었는지 검증합니다. 이미 사용 중인 경우, Amazon Cognito 사용자 풀을 타사 ID 제공업체(IdP)와 통합하도록 구성할 수도 있습니다. 또한 시스템 간(M2M) 인증에도 Amazon Cognito 사용자 풀을 사용할 수 있습니다.
-
AWS Lambda 권한 부여자 - API Gateway는 요청을 승인해야 하는지 여부를 결정하기 위해 원하는 검사를 수행하기 위해 지정한 Lambda 함수를 호출합니다.
자세한 내용은 API Gateway 설명서의 REST API 액세스 제어 및 관리를 참조하세요.
API 키 및 속도 제한
API 키와 사용량 계획을 사용하면 API 직접 호출이 허용된 사람과 호출 속도를 제어할 수 있습니다. API 키는 인증용으로 사용해서는 안 되지만, 앞서 언급한 인증 방식과 함께 사용할 수 있습니다. 사용자가 항상 자체 API 키를 제공할 필요는 없으며, 예를 들어 Lambda 권한 부여자가 사용자에게 API 키를 반환할 수 있습니다. 사용량 계획을 통해 처리량, 버스트 제한, 월별 할당량을 지정할 수 있습니다. 자세한 내용은 API Gateway 설명서의 REST API 사용량 계획 및 API 키를 참조하세요.
퍼블릭 및 프라이빗 API
인터넷을 통해 액세스할 수 있는 API Gateway REST API는 두 가지 엔드포인트 유형을 지원합니다.
-
엣지 최적화: 호출자의 요청이 가장 가까운 CloudFront 접속 지점(POP)으로 라우팅됩니다. 이로 인해 지리적으로 분산된 클라이언트의 성능 향상에 도움이 됩니다.
-
리전 기반: 요청이 특정 AWS 리전리전 내의 리소스로 라우팅됩니다. 모든 클라이언트가 API가 배포된 리전 근처에 있는 경우 적합한 선택입니다.
또한 API Gateway REST API는 가상 프라이빗 클라우드(VPC)에서 인터페이스 VPC 엔드포인트를 통해 액세스할 수 있는 프라이빗 API 엔드포인트도 지원합니다. 다른 VPC나 다른 AWS 계정계정에서도 인터페이스 VPC 엔드포인트를 생성하여 프라이빗 REST API를 안전하게 공유할 수 있습니다. 자세한 내용은 API Gateway 설명서의 REST API 엔드포인트 유형을 참조하세요.
API Gateway 사용 시기
API Gateway는 RESTful 웹 서비스와 실시간 WebSocket 연결에 적합합니다. WebSocket API를 사용하면 클라이언트 속성과 연결된 외부 데이터 저장소에 연결 ID를 저장하는 등 연결 및 연결 해제 이벤트에 대한 동작을 추가할 수 있습니다. 또한 메시지 속성을 사용하여 요청을 사용자 정의 동작으로 라우팅할 수 있습니다.
REST 및 WebSocket API 모두 Lambda 함수와 같은 별도의 컴퓨팅 리소스 없이 여러 AWS 서비스 서비스와 직접 통합할 수 있습니다. 이렇게 하면 성능을 개선하고 비용을 절감할 수 있습니다.
REST API는 경로 기반 라우팅과 헤더 기반 라우팅을 모두 지원하며, 각각 또는 함께 사용할 수 있습니다. 일반적인 패턴은 여러 API의 프론트 도어로 REST API를 제공하고, 앞서 설명한 공통 기능을 구현한 뒤, 역방향 프록시처럼 동작하여 승인된 요청을 올바른 API 엔드포인트로 라우팅하는 것입니다.