REST API와 HTTP API 중에서 선택
REST API와 HTTP API는 모두 RESTful API 제품이다. REST API는 HTTP API보다 더 많은 기능을 지원하지만 HTTP API는 최소한의 기능으로 설계되어 더 낮은 가격으로 제공될 수 있다. API 키, 클라이언트별 제한, 요청 검증, AWS WAF 통합 또는 프라이빗 API 엔드포인트와 같은 기능이 필요한 경우 REST API를 선택한다. REST API에 포함된 기능이 필요하지 않은 경우 HTTP API를 선택한다.
다음 섹션에는 REST API 및 HTTP API에서 사용할 수 있는 핵심 기능이 요약되어 있다.
1. 엔드포인트 유형
엔드포인트 유형은 API Gateway가 API용으로 생성하는 엔드포인트를 나타냅니다. 자세한 정보는 API Gateway API에 대해 설정할 엔드포인트 유형 선택을 참조한다.
엔드포인트 유형 | REST API | HTTP API |
---|---|---|
엣지 최적화 | ✓ | |
리전 | ✓ | ✓ |
프라이빗 | ✓ |
2. 보안
API Gateway는 악의적 행위자나 트래픽 스파이크 같은 특정 위협으로부터 API를 보호할 수 있는 여러 가지 방법을 제공한다. 자세한 내용은 REST API 보호 및 HTTP API 보호 섹션을 참조한다.
보안 기능 | REST API | HTTP API |
---|---|---|
상호 TLS 인증 | ✓ | ✓ |
백엔드 인증을 위한 인증서 | ✓ | |
AWS WAF | ✓ |
3. 승인
API Gateway는 API 액세스 제어 및 관리에 다중 메커니즘을 지원한다. 자세한 정보는 API Gateway의 REST API에 대한 액세스 제어 및 관리 및 API Gateway의 HTTP API에 대한 액세스 제어 및 관리 단원을 참조한다.
권한 부여 옵션 | REST API | HTTP API |
---|---|---|
IAM | ✓ | ✓ |
리소스 정책 | ✓ | |
Amazon Cognito | ✓ | ✓1 |
AWS Lambda 함수를 사용한 사용자 지정 권한 부여 | ✓ | ✓ |
JWT(JSON Web Token)2 | ✓ |
1JWT 권한 부여자와 함께 Amazon Cognito를 사용할 수 있다.
2Lambda 권한 부여자를 사용하여 REST API용 JWT를 검증할 수 있다.
4. API 관리
API 키 및 클라이언트별 속도 제한과 같은 API 관리 기능이 필요한 경우 REST API를 선택한다. 자세한 내용은 클라이언트에 REST API 배포, REST API에 대한 사용자 지정 도메인 이름 설정, HTTP API에 대한 사용자 지정 도메인 이름 설정 단원을 참조한다.
기능 | REST API | HTTP API |
---|---|---|
사용자 지정 도메인 | ✓ | ✓ |
API 키 | ✓ | |
클라이언트별 속도 제한 | ✓ | |
클라이언트별 사용 제한 | ✓ |
5. 개발
API Gateway API를 개발할 때 API의 여러 특성을 결정한다. 이러한 특성은 API의 사용 사례에 따라 달라집니다. 자세한 내용은 API Gateway에서 REST API 개발 및 API Gateway에서 HTTP API 개발 단원을 참조한다.
기능 | REST API | HTTP API |
---|---|---|
CORS 구성 | ✓ | ✓ |
테스트 호출 | ✓ | |
캐싱 | ✓ | |
사용자 제어 배포 | ✓ | ✓ |
자동 배포 | ✓ | |
사용자 지정 게이트웨이 응답 | ✓ | |
Canary 릴리스 배포 | ✓ | |
요청 검증 | ✓ | |
요청 파라미터 변환 | ✓ | ✓ |
요청 본문 변환 | ✓ |
6. 모니터링(Monitoring)
API Gateway는 API 요청을 로그하고 API를 모니터링하는 몇 가지 옵션을 지원한다. 자세한 정보는 REST API 모니터링 및 HTTP API 모니터링 단원을 참조한다.
특징 | REST API | HTTP API |
---|---|---|
Amazon CloudWatch 지표 | ✓ | ✓ |
CloudWatch Logs에 대한 액세스 로그 | ✓ | ✓ |
Amazon Kinesis Data Firehose에 대한 액세스 로그 | ✓ | |
실행 로그 | ✓ | |
AWS X-Ray 추적 | ✓ |
7. 통합
통합 기능은 API Gateway API를 백엔드 리소스에 연결한다. 자세한 정보는 REST API 통합 설정 및 HTTP API에 대한 통합 구성 단원을 참조한다.
특징 | REST API | HTTP API |
---|---|---|
퍼블릭 HTTP 엔드포인트 | ✓ | ✓ |
AWS 서비스 | ✓ | ✓ |
AWS Lambda 함수 | ✓ | ✓ |
Network Load Balancer와의 프라이빗 통합 | ✓ | ✓ |
Application Load Balancer와의 프라이빗 통합 | ✓ | |
AWS Cloud Map와의 프라이빗 통합 | ✓ | |
모의 통합 | ✓ |