본문 바로가기
IT/클라우드

[AWS] #4 기본 웹 애플리케이션 구축

by 옥탑방개발자 2020. 6. 10.
728x90

데이터 테이블 생성

사용되는 서비스 : Amazon DynaonDB, AWS IAM, AWS Lambda

 Amazon DynamoDB를 사용하여 데이터를 유지하는 테이블을 생성합니다. DynamoDB는 키-값 데이터베이스 서비스이므로 데이터의 스키마를 생성할 필요가 없습니다. 규모에 관계없이 일정한 성능을 제공하며 사용 시에 서버를 관리할 필요가 없습니다.

AWS Identity and Access Management(IAM) 서비스를 사용하여 서비스가 서로 상호 작용하는 데 필요한 권한을 안전하게 부여합니다. 구체적으로 설명하자면, 모듈 2에서 생성한 Lambda 함수가 새로 생성된 DynamoDB 테이블에 데이터를 쓸 수 있도록 IAM 정책을 통해 허용합니다. 이렇게 하기위해서 Lambda함수에서 SDK(python, Javascript, java)를 사용해야한다.

1. DynamonDB 테이블 생성

  • Amazon DynamonDB 콘솔 접속

 

  • 테이블 생성 및 리전 확인

 

  • 테이블 이름, 기본키(파티션키) 입력

 

  • Amazon 리소스 이름(ARN) 복사.

 

2.IAM 정책을 생성하여 Lambda 함수에 추가

  • AWS Lambda콘솔 열기, 함수 클릭

 

  • 권한 탭에 함수이름으로 된 링크 클릭(새 탭으로 이동)

 

 

  • Lambda 함수가 항목을 읽거나 편집하거나 삭제할 수 있도록 하지만, 여기서 생성한 테이블에 대해서만 해당 작업을 수행할 수 있도록 제한합니다.
  • DynamonDB에서 얻은 ARN을 Resource에 입력한다.

 

  • 이름 입력
  • 현재 탭 닫고 Lambda 함수 탭으로 이동

 

3.DynamoDB 테이블에 데이터를 쓰도록 Lambda 함수 수정

  • Lambda 함수 수정

4.변경 사항 테스트

 

  • DynamoDB콘솔에 테이블으로 이동

  • Lambda 함수가 실행될 때마다 DynamoDB 테이블이 업데이트됩니다. 같은 이름을 사용할 경우 타임스탬프만 변경됩니다.

 

현재 아키텍처

이 모듈에서는 스토리지를 지원하는 DynamoDB 서비스와 권한을 안전하게 관리하기 위한 IAM 서비스라는 두 가지 서비스를 추가했습니다. 두 서비스 모두 데이터베이스에 데이터를 쓸 수 있도록 Lambda 함수에 연결됩니다. 마지막 단계로, API Gateway를 호출하는 코드를 클라이언트에 추가합니다.

 

*서비스 및 인스턴스는 사용하지 않으면 중지 및 삭제 한다. (과금발생방지)

728x90