클라이언트가 람다함수를 INVOKE 하고 싶을 때
- 방법 1 : ALB 이용, HTTP에 노출
- 방법 2 : API GATEWAY 사용 > HTTP 노출 외에 다양한 기능 지원함
API GATEWAY ; ALB와 달리 매우 많은 기능을 갖는다!!
- 람다 통합 시 완전 서버리스 APP > 관리 X
- WEB SOCKET 프로토콜 지원 > 실시간 스트림이 가능
- API 버저닝 및 다중환경 (dev/test/prod 등) 핸들링
- 보안기능 활성화 ; 인증 / 권한 부여 등
- API 키 생성 가능
- 스로틀링 가능 > 요청이 과도 시
- SWAGGER / OPENAPI 3.0 사용하여, 신속한 API 정의하여 가져오기/내보내기 가능
- 요청/응답 변형 및 유효성 검사
- SDK / API 스펙 생성 및 API 응답 캐싱
API GATEWAY와 통합
- 람다 함수 ; INVOKE 가능 / REST API를 서버리스 어플리케이션에 노출시키는 가장 간단한 방법!!
- HTTP와 통합 / 백엔드 HTTP 엔드포인트를 노출!!
- 로드밸런서와 > 스로틀링 / 캐싱 / 인증 / API키 등의 기능 추가
- AWS API 전부 노출 가능 > 즉, 특정 AWS 서비스에 위의 기능을 추가시킬 수 있음!!
API GATEWAY 배포 유형 ; ENDPOINT TYPE
1. 엣지 최적화 ; 글로벌 클라이언트 / 엣지 로케이션을 통해 라우팅 > 지연시간 개선
2. 리전 배포 ; APIGATEWAY 생성한 리전과 같은 리전에 속한 사용자 / 자체 CLOUDFRONT 배포 가능 / 더 많은 설정권한
3. 프라이빗 ; VPC 내에서만 액세스 / ENI 같은 VPC 엔드포인트 사용 / 리소스 정책 사용
API GATEWAY 보안
- IAM 역할
- AMAZON COGNITO ; 외부 사용자에 대한 보안 조치
- 자체 로직 > (사용자 지정 권한 부여자) 람다함수
- HTTPS
- AWS CERTIFICATE MANAGER 와 통합
- 엣지 최적화 엔드포인트 시 ; CLOUDFRONT 위치인 US-EAST-1 에 있어야
- 리전 엔드포인트 시, 인증서는 API GATEWAY와 동일리전
'IT 공부 > AWS Solution Architect Associate(완)' 카테고리의 다른 글
서버리스 아키텍쳐 구현 예시 (1) | 2024.03.05 |
---|---|
AWS STEP FUNCTIONS / COGNITO (0) | 2024.03.04 |
AWS RDS / DYNAMODB (0) | 2024.03.04 |
AWS LAMBDA (0) | 2024.03.01 |
AWS CONTAINER - ECS FARGATE ECR EKS 개요 (0) | 2024.03.01 |