AWS 시작하기
서버리스 웹 애플리케이션 구축
AWS Lambda, Amazon API Gateway, AWS Amplify, Amazon DynamoDB, Amazon Cognito 사용
소개: 서버리스 웹 애플리케이션 구축
단계별 지침에 따라 사용자가 Wild Ryde 플릿에서 유니콘 탑승을 요청할 수 있는 간단한 서버리스 웹 애플리케이션을 생성합니다.
개요
이 자습서에서는 사용자가 Wild Ryde 플릿에서 유니콘 탑승을 요청할 수 있는 간단한 서버리스 웹 애플리케이션을 생성합니다. 이 애플리케이션은 사용자가 픽업할 위치를 나타내기 위해 HTML 기반 사용자 인터페이스를 제공하고, 백엔드에서 RESTful 웹 서비스와 연결하여 요청을 제출하고 근처의 유니콘을 디스패치합니다. 또한 이 애플리케이션은 사용자가 서비스에 등록하고 탑승 요청 전에 로그인하기 위한 시설을 제공합니다.
애플리케이션 아키텍처
애플리케이션 아키텍처는 AWS Lambda, Amazon API Gateway, Amazon DynamoDB, Amazon Cognito, AWS Amplify 콘솔을 사용합니다. Amplify Console은 사용자 브라우저에 로드되는 HTML, CSS, JavaScript 및 이미지 파일을 포함한 정적 웹 리소스의 지속적인 배포 및 호스팅을 제공합니다. 브라우저에서 실행된 JavaScript는 Lambda 및 API Gateway를 사용하여 내장된 퍼블릭 백엔드 API로부터 데이터를 전송하고 수신합니다. Amazon Cognito는 백엔드 API를 보호하기 위한 인증 기능과 사용자 관리 기능을 제공합니다. 마지막으로, DynamoDB는 API의 Lambda 함수가 데이터를 저장할 수 있는 영구 계층을 제공합니다.
정적 웹 호스팅
AWS Amplify는 HTML, CSS, JavaScript, 이미지 파일 등과 같이 사용자의 브라우저에 로드되는 정적 웹 리소스를 호스팅합니다.
사용자 관리
Amazon Cognito는 백엔드 API를 보호하기 위한 인증 기능과 사용자 관리 기능을 제공합니다.
서버리스 백엔드
Amazon DynamoDB는 API의 Lambda 함수가 데이터를 저장할 수 있는 영구 계층을 제공합니다.
RESTful API
브라우저에서 실행된 JavaScript는 Lambda 및 API Gateway를 사용하여 내장된 퍼블릭 백엔드 API로부터 데이터를 전송하고 수신합니다.
AWS 경험
초보자
소요 시간
2시간
완료 비용
이 아키텍처에 사용되는 각 서비스는 AWS 프리 티어 대상입니다. 프리 티어 사용 한도를 넘어선 경우, 이 자습서를 완료하는 데 0.25 USD*가 필요합니다.
필요 사항
사용 기술:
- AWS 계정**
- AWS CLI
- 앱에 매핑을 추가하기 위한 ArcGIS 계정
- 텍스트 편집기
- 권장 브라우저: 최신 버전의 Chrome
- AWS Lambda
- Amazon API Gateway
- AWS Amplify
- Amazon DynamoDB
- Amazon Cognito
*자습서를 진행하는 동안 권장 구성에 따르고 모든 리소스를 24시간 이내에 종료한다고 가정한 경우의 추정치입니다.
**생성된 지 24시간이 지나지 않은 계정은 이 자습서를 완료하는 데 필요한 리소스에 액세스할 권한이 아직 없을 수 있습니다.
최종 업데이트 날짜
2023년 9월 5일
모듈
이 자습서는 5개의 모듈로 구성되어 있습니다. 각 모듈은 아키텍처를 구현하고 작업을 확인하는 데 도움이 되는 구축 및 단계별 지침에 대한 시나리오를 설명합니다.
- 정적 웹 사이트 호스팅(15분): 지속적인 배포가 내장된 웹 애플리케이션의 정적 리소스를 호스팅하도록 AWS Amplify를 구성합니다.
- 사용자 관리(30분): 사용자의 계정을 관리하기 위한 Amazon Cognito 사용자 풀을 만들어 봅니다.
- 서버리스 백엔드 구축(30분): 웹 애플리케이션에 대한 요청을 처리하기 위한 백엔드 프로세스를 만듭니다.
- RESTful API 배포(15분): Amazon API Gateway를 사용하여 이전 모듈에서 구축한 Lambda 함수를 RESTful API로 공개합니다.
- 리소스 종료(10분): 이 자습서에서 생성한 리소스를 모두 종료합니다.