Amazon API Gateway

2023. 6. 23. 23:46AWS (Amazon Web Services)

※ 해당 블로그는 AWS에서 제공하는 설명서와 AWS Builders Online Series 강의를 듣고 개인적으로 공부한 내용을 정리한 블로그입니다.

 

Amazon API Gateway

  • 클라이언트 애플리케이션과 백엔드 서비스 간의 통신을 관리하는 완전 관리형 서비스
  • Amazon API Gateway를 사용하여 간단하게 API 구축, 배포, 관리 할 수 있으며 다양한 기능을 제공하여 안정적이고 확장 가능한 웹 서비스 구축 가능
  • 클라이언트 요청에 대한 인증과 인가를 처리 할 수 있음
  • 클라이언트 요청과 백엔드 서비스 간에 데이터 변환을 수행 할 수 있음 (JSON, XML 등)
  • 서버리스 컴퓨팅 서비스인 AWS Lambda와 함께 가장 많이 활용되며 주로 클라이언트 요청을 API Gateway를 통해 받아 AWS Lambda 함수에서 처리하는 방식으로 사용됨

 

예시 문제

1. 회사는 3계층 웹 애플리케이션을 개발했다. 프런트 엔드는 모두 정적 정보로 구성된다. 마이크로서비스는 애플리케이션 계층에 있다. 사용자 데이터는 최소한의 지연으로 액세스할 수 있는 JSON 문서 형식으로 보관된다. 회사는 첫 해에 월별 트래픽 급증과 함께 최소한의 정규 트래픽을 예상한다. 스타트업 팀의 운영 간접비는 최소한으로 유지되어야 한다.

 

솔루션 아키턱트는 이를 달성하기 위해 어떤 솔루션을 제안해야 하는가?

 

1) Amazon S3 정적 웹사이트 호스팅을 사용하여 프런트 엔드를 저장하고 제공한다. 애플리케이션 계층에 AWS Elastic Beanstalk를 사용한다. Amazon DynamoDB를 사용하여 사용자 데이터를 저장한다.

 

2) Amazon S3 정적 웹사이트 호스팅을 사용하여 프런트 엔드를 저장하고 제공한다. 애플리케이션 계층에 Amazon Elastic kubernetesService(Amazon EKS)를 사용한다. Amazon DynamoDB를 사용하여 사용자 데이터를 저장한다.

 

3) Amazon S3 정적 웹사이트 호스팅을 사용하여 프런트 엔드를 저장하고 제공한다. 애플리케이션 계층에 Amazon API Gateway 및 AWS Lambda 함수를 사용한다. Amazon DynamoDB를 사용하여 사용자 데이터를 저장한다.

 

4) Amazon S3 정적 웹사이트 호스팅을 사용하여 프런트 엔드를 저장하고 제공한다. 애플리케이션 계층에 Amazon API Gateway 및 AWS Lambda 함수를 사용한다. 읽기 전용 복제본과 함께 Amazon RDS를 사용하여 사용자 데이터를 저장한다.

 

정답 3

프론드 엔드는 모두 정적 정보로 구성되어 있기 때문에 Amazon S3에 저장한다. 마이크로 서비스는 JSON 형태로 응답을 하기 때문에 Amazon API Gateway와 AWS Lambda 함수를 사용한다. Amazon API Gatway로 사용자의 요청을 받으면 AWS Lambda 함수가 처리하고 그 응답을 JSON 형식으로 변환하는 방식으로 사용한다. 또한 JSON 형식의 데이터는 관계형 데이터베이스가 아닌 NoSQL 데이터베이스여야 저장 할 수 있기 때문에 NoSQL 데이터베이스인 Amazon DynamoDB를 사용한다.

'AWS (Amazon Web Services)' 카테고리의 다른 글

AWS Storage Gateway  (0) 2023.07.04
Amazon Redshift  (0) 2023.07.04
Amazon SQS  (0) 2023.06.21
Amazon Kinesis Data Firehose  (0) 2023.06.17
Amazon ECS  (0) 2023.06.16