Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Serverless Web Apps using Amazon DynamoDB - Part 1 (Korean)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

개요

AWS 슈퍼 히어로를 호출합니다! DynamoDB를 사용하는 이 3부 실습 시리즈에서 DynamoDB를 사용하여 임무 문서 생성기를 빌드하십시오. 여러분은 1부를 완료하기 위한 단계별 지침을 손에 들고 있습니다. 이 실습에서는 다음 두 실습에서 필요한 인프라를 구축합니다. DynamoDB 테이블을 생성하고 데이터를 추가한 다음, 이 데이터에 대한 보안 액세스 권한을 부여하는 데 사용할 필수 IAM 역할 및 정책을 검토합니다.

실습 2 및 3에서는 DynamoDB와 상호 작용하는 Lambda 함수를 생성하고, API Gateway 서비스를 통해 API를 빌드하고, 마지막으로 세 실습을 통해 학습한 DynamoDB 기술을 모두 활용하여 퍼블릭 웹에 앱을 게시합니다. 3부까지 마치면 여러분은 세계를 구하기 위해 임무 문서를 생성하고 슈퍼 히어로를 파견할 수 있을 것입니다!

이 실습에서 다루는 주제

이 실습을 마치면 다음을 할 수 있게 됩니다.

  • Amazon DynamoDB 테이블 생성
  • Amazon DynamoDB 테이블에 항목 추가
  • 테이블에 액세스하는 데 필요한 IAM 역할 및 정책의 구조 이해

수강 전 권장 사항

Amazon DynamoDB 입문 및 AWS Identity and Access Management(IAM) 입문 실습을 이수하여 주요 개념을 숙지하고 있어야 합니다. 이 실습은 3부 실습 시리즈의 1부입니다. 세 실습은 독립적이지만, 실습은 이전에 배운 내용을 기반으로 구축되므로 세 부분을 모두 순서대로 이수하는 것이 가장 좋은 학습 경험입니다.

기타 AWS 서비스

IAM 정책에 따라 본 실습에 액세스하는 시간에는 실습에 필요한 서비스 외에 다른 AWS 서비스는 비활성화됩니다. 또한 이 실습에서 사용하는 서비스의 기능은 실습에서 필요한 수준으로 제한되며, 일부의 경우에는 실습 설계의 의도에 따라 추가로 제한될 수 있습니다. 다른 서비스에 액세스하거나 실습 안내서에서 제공하는 것 외의 작업을 수행하는 경우 오류가 발생할 수 있습니다.

AMAZON DYNAMODB

Amazon DynamoDB는 규모와 관계없이 10밀리초 미만의 지연 시간이 일관되게 요구되는 모든 애플리케이션을 위한 빠르고 유연한 NoSQL 데이터베이스 서비스입니다. 또한 완전관리형 클라우드 데이터베이스로서 문서 모델과 키-값 스토어 모델을 모두 지원합니다. 특히, 유연한 데이터 모델과 안정적인 성능을 갖추고 있어 모바일, 웹, 게임, 광고 기술, IoT 및 그 밖의 많은 애플리케이션에 매우 적합합니다.

Amazon DynamoDB를 사용하여 데이터 규모에 관계없이 데이터를 저장 및 검색하고, 어떤 수준의 요청 트래픽이라도 처리할 수 있는 데이터베이스 테이블을 생성할 수 있습니다. Amazon DynamoDB는 테이블의 데이터와 트래픽을 충분한 수의 서버로 자동 분산하여 고객이 지정한 요청 용량과 저장된 데이터 규모를 처리하면서도 일관되고 빠른 성능을 발휘합니다.

DYNAMODB 용어

테이블 다른 데이터베이스 관리 시스템과 마찬가지로 DynamoDB는 데이터를 테이블에 저장합니다. 테이블은 데이터의 모음입니다. 예를 들어, 이 실습에서는 임무 정보를 저장할 SuperMission이라는 테이블을 생성합니다. 친구, 가족 또는 관심 있는 사람에 대한 데이터를 저장하는 People 테이블 또는 사람들이 운전하는 차량에 대한 정보를 저장하는 Cars 테이블을 생성할 수도 있습니다.

항목 각 테이블에는 여러 항목이 포함되어 있습니다. 항목은 다른 모든 항목에 대해 고유하게 식별할 수 있는 속성의 그룹입니다. People 테이블에서 각 항목은 한 사람을 나타냅니다. Cars 테이블의 경우 각 항목은 하나의 차량을 나타냅니다. 항목은 관계형 데이터베이스 시스템의 행, 레코드 또는 튜플과 여러 가지 면에서 유사합니다. DynamoDB에서는 테이블에 저장할 수 있는 항목 수에 제한이 없습니다.

속성 각 항목은 하나 이상의 속성으로 구성됩니다. 속성은 기본 데이터 요소로서 더 이상 세분화할 필요가 없습니다. 이 실습에서는 SuperHero, MissionStatus, Villain1, Villain2, Villain3, SecretIdentity 등의 특성을 가진 Mission 아이템을 생성합니다. 또 다른 예로 Department 항목에는 DepartmentID, Name, Manager 등의 속성이 있을 수 있습니다. People 테이블의 항목에는 PersonID, LastName, FirstName 등의 속성이 포함될 수 있습니다. DynamoDB의 속성은 여러 면에서 다른 데이터베이스 관리 시스템의 필드 또는 열과 유사합니다.

기본 키 테이블을 생성할 때 테이블 이름 외에도 테이블의 기본 키를 지정해야 합니다. 다른 데이터베이스와 마찬가지로 DynamoDB의 기본 키는 테이블의 각 항목을 고유하게 식별하므로 두 항목이 동일한 키를 가질 수 없습니다. 테이블에서 항목을 추가, 업데이트 또는 삭제할 때 해당 항목에 대한 기본 키 속성 값을 지정해야 합니다. 키 값은 필수이므로 생략할 수 없습니다. DynamoDB는 파티션 키와 정렬 키의 두 가지 기본 키를 지원합니다.

보조 인덱스 DynamoDB에서는 기본 키 속성 값을 제공하여 테이블의 데이터를 읽을 수 있습니다. 키가 아닌 속성을 사용하여 데이터를 읽으려는 경우 보조 인덱스를 사용하면 됩니다. 테이블에 보조 인덱스를 생성한 후에는 테이블에서 데이터를 읽을 때와 거의 동일한 방식으로 인덱스에서 데이터를 읽을 수 있습니다. 보조 인덱스를 사용하면 애플리케이션에서 기본 키 값으로 데이터에 액세스할 수 있을 뿐 아니라 다양한 쿼리 패턴을 사용할 수 있습니다.

AWS IDENTITY AND ACCESS MANAGEMENT 설명서

AWS Identity and Access Management(IAM)는 Amazon Web Services(AWS) 고객이 AWS에서 사용자와 사용자 권한을 관리할 때 사용할 수 있는 서비스입니다. 이 서비스는 클라우드에서 Amazon DynamoDB, AWS Lambda, AWS 관리 콘솔과 같은 AWS 제품을 사용하는 여러 사용자 또는 시스템이 있는 조직을 위해 개발되었습니다. IAM으로 사용자 및 고객사가 어떤 AWS 리소스에 액세스할 수 있는지를 제어하는 액세스 키와 사용 권한과 같은 보안 자격 증명을 한 곳에서 관리할 수 있습니다. 자세한 내용은 https://aws.amazon.com/iam/ 단원을 참조하십시오.

AWS LAMBDA

AWS Lambda는 개발자가 웹 규모 컴퓨팅을 더 쉽게 수행할 수 있도록 클라우드에서 조정 가능한 컴퓨팅 용량을 제공하는 컴퓨팅 서비스입니다. 사용자가 코드를 AWS Lambda로 업로드하면 AWS Lambda가 코드를 실행하는 데 사용되는 서버를 프로비저닝하고 관리합니다. AWS Lambda는 Node.js, Java, Python 등 여러 코딩 언어를 지원합니다. AWS Lambda는 다음 두 가지 방법으로 사용할 수 있습니다.

  • 이벤트 중심 컴퓨팅 서비스입니다. 이 실습에서 볼 수 있듯이 AWS Lambda는 이미지 파일 업로드와 같은 이벤트에 응답하여 코드를 실행합니다.
  • Amazon API 게이트웨이 또는 API 호출을 사용하여 HTTP 요청에 대한 응답으로 코드를 실행하는 컴퓨팅 서비스입니다.

AWS Lambda는 Amazon의 규모의 경제에 따른 혜택을 고객에게 전달합니다. Lambda는 필요할 때만 코드를 실행하고 하루 몇 건의 요청에서 초당 수천 건까지 자동으로 확장하도록 지원합니다. Lambda를 사용하면 손쉽게 Amazon S3 및 Amazon DynamoDB와 같은 AWS 서비스에 대한 트리거를 빌드하거나, Amazon Kinesis에 저장된 스트리밍 데이터를 처리하거나, AWS 규모, 성능 및 보안에 따라 작동하는 자체 백엔드를 구축할 수 있습니다.

이 실습 안내서에서는 AWS의 기본 개념을 단계별로 설명합니다. 그러나 여기서는 Lambda 개념을 개략적으로만 소개합니다. 자세한 내용은 Lambda에 대한 공식 Amazon Web Services 설명서(https://aws.amazon.com/documentation/lambda/)를 참조하십시오. 요금에 대한 자세한 내용은 https://aws.amazon.com/lambda/pricing/을 참조하십시오.

Reviews

Start your review of Serverless Web Apps using Amazon DynamoDB - Part 1 (Korean)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.