API Gateway
- WebSocket Protocol 지원하므로 실시간 스트리밍 가능.
- API 버저닝 가능 → Not break Client
- dev, test, prod 등 다양한 환경 처리 가능
- API Key 생성 후 해당 API Key 사용량에 따라 쓰로틀링 요청가능.
- Swagger 또는 Open API 3.0 로 내보내기 가능
- API Response Cache 지원
- SDK 및 API규격을 생성 할 수 있음
통합
API Gateway의 통합
- Lambda에서 지원하는 RESTAPI를 노출해 완전한 Serverless Application을 손쉽게 운영할 수 있음
HTTP와의 통합
- HTTP Endpoint → 온프로미스 HTTP API, ALB 등…
- API Gateway를 활용해 속도제한, 캐싱, User 인증, API Key등 사용가능
API Gateway의 배포방식 (Endpoint Type)
- Edge-Optimized (default)
- 글로벌 클라이언트에 이용
- 세계어디서든 접근, Cloud Front Edge를 통해 라우팅
- Regional
- CloudFront Edge Location을 사용하지 않을때 사용
- 모든 사용자가 API Gateway를 만든 Region내에 위치 할 것으로 예상할 때 사용
- 원하는 경우 CloudFront 배포를 자체적으로 만들 수 있음 → 결과적으로 Edge-Optimized와 같아지는 것이나 caching strategies 와 distribution을 더 많이 제어 할 수 있음)
- Private
- VPC 내에서만 엑세스 가능 (Interface VPC endpoint / ENI)
- API Gateway Access를 정의하는데 Resource 정책을 사용할 수 있음
보안
사용자 인증
- IAM Role 사용 (내부 App의 경우)
- 외부 사용자의 경우 Amazon Cognito를 사용(Mobile, Web App)
- 자체적으로 구현하려면 Custom Authorizer로 구현할 수 있음 (Lambda Function)
Custom Damain Name HTTPS 보안
- AWS ACM(Amazon Certificate Manager)와 통합시 HTTPS 보안 설정 가능.
- Edge-Optimized 의 경우 (us-east-1) Reginal endpoint의 경우 같은 region에 인증서 있어야함.
- Route 53을 통해 CNAME이나 A레코드를 API Gateway와 연결 해야함.
반응형
'개발 > AWS' 카테고리의 다른 글
[AWS] EFS 생성하기 (Elastic File System) (0) | 2023.04.22 |
---|