AWS 시작하기

서버리스 웹 애플리케이션 구축

AWS Lambda, Amazon API Gateway, AWS Amplify, Amazon DynamoDB, Amazon Cognito 사용

서버리스 웹 애플리케이션 구축

소개: 서버리스 웹 애플리케이션 구축

단계별 지침에 따라 사용자가 Wild Ryde 플릿에서 유니콘 탑승을 요청할 수 있는 간단한 서버리스 웹 애플리케이션을 생성합니다.

개요

이 자습서에서는 사용자가 Wild Ryde 플릿에서 유니콘 탑승을 요청할 수 있는 간단한 서버리스 웹 애플리케이션을 생성합니다. 이 애플리케이션은 사용자가 픽업할 위치를 나타내기 위해 HTML 기반 사용자 인터페이스를 제공하고, 백엔드에서 RESTful 웹 서비스와 연결하여 요청을 제출하고 근처의 unicorn을 디스패치합니다. 또한 이 애플리케이션은 사용자가 서비스에 등록하고 탑승 요청 전에 로그인하기 위한 시설을 제공합니다.

애플리케이션 아키텍처

애플리케이션 아키텍처는 AWS Lambda, Amazon API Gateway, Amazon DynamoDB, Amazon Cognito, AWS Amplify Console을 사용합니다. Amplify Console은 사용자 브라우저에 로드되는 HTML, CSS, JavaScript 및 이미지 파일을 포함한 정적 웹 리소스의 지속적인 배포 및 호스팅을 제공합니다. 브라우저에서 실행된 JavaScript는 Lambda 및 API Gateway를 사용하여 내장된 퍼블릭 백엔드 API로부터 데이터를 전송하고 수신합니다. Amazon Cognito는 백엔드 API를 보호하기 위한 인증 기능과 사용자 관리 기능을 제공합니다. 마지막으로, DynamoDB는 API의 Lambda 함수가 데이터를 저장할 수 있는 영구 계층을 제공합니다.

Serverless_Architecture
Serverless_Web_App_LP_assets-18

정적 웹 호스팅

AWS Amplify는 HTML, CSS, JavaScript, 이미지 파일 등과 같이 사용자의 브라우저에 로드되는 정적 웹 리소스를 호스팅합니다.

Serverless_Web_App_LP_assets-19

사용자 관리

Amazon Cognito는 백엔드 API를 보호하기 위한 인증 기능과 사용자 관리 기능을 제공합니다.

Serverless_Web_App_LP_assets-20

서버리스 백엔드

Amazon DynamoDB는 API의 Lambda 함수가 데이터를 저장할 수 있는 영구 계층을 제공합니다.

Serverless_Web_App_LP_assets-21

RESTful API

브라우저에서 실행된 JavaScript는 Lambda 및 API Gateway를 사용하여 내장된 퍼블릭 백엔드 API로부터 데이터를 전송하고 수신합니다.

 AWS 경험

초보자

 소요 시간

2시간

 완료 비용

이 아키텍처에 사용되는 각 서비스는 AWS 프리 티어 대상입니다. 프리 티어 사용 한도를 넘어선 경우, 이 자습서를 완료하는 데 0.25 USD*가 필요합니다.

 자습서 선행 조건

사용 기술:


*자습서를 진행하는 동안 권장 구성에 따르고 모든 리소스를 24시간 이내에 종료한다고 가정한 경우의 추정치입니다.
**생성된 지 24시간이 지나지 않은 계정은 이 자습서를 완료하는 데 필요한 리소스에 액세스할 권한이 아직 없을 수 있습니다.

모듈

이 워크숍은 5개의 모듈로 나뉩니다. 각 모듈은 아키텍처를 구현하고 작업을 확인하는 데 도움이 되는 구축 및 단계별 지침에 대한 시나리오를 설명합니다. 

  1. 정적 웹 사이트 호스팅(15분): 지속적인 배포가 내장된 웹 애플리케이션의 정적 리소스를 호스팅하도록 AWS Amplify를 구성합니다.
  2. 사용자 관리(30분): 사용자의 계정을 관리하기 위한 Amazon Cognito 사용자 풀을 만들어 봅니다.
  3. 서버리스 백엔드 구축(30분): 웹 애플리케이션에 대한 요청을 처리하기 위한 백엔드 프로세스를 만듭니다.
  4. RESTful API 배포(15분): Amazon API Gateway를 사용하여 이전 모듈에서 구축한 Lambda 함수를 RESTful API로 공개합니다.
  5. 리소스 종료(10분): 이 자습서에서 생성한 리소스를 모두 종료합니다.

정적 웹 사이트 호스팅