본문 바로가기

개발/AWS

AWS API Gateway 개요

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