DevOps
[ DevOps ] - (부록) AWS SAM 개요 및 실습
AWS SAM은 서버시르 애플리케이션 개발을 위한 기능들을 코드로 저장해서 코드로 관리하게 도와주는 오픈소스 서비스입니다. 그래서 이번시간에는 AWS Lambda 콘솔에서 하던 일들을 코드화, 체계화를 해보도록 하겠습니다. 우선 아래 링크를 따라서 기본적인 사전준비를 해보겠습니다. https://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/serverless-sam-cli-install-mac.html 다음 설치AWS SAMmacOS용 CLI - AWS Serverless Application Model Docker는 응용 프로그램을 로컬에서 테스트하고 다음을 사용하여 배포 패키지를 빌드하기 위한 전제 조건입니다..
[ DevOps ] - (DynamoDB) Python으로 DynamoDB 접근
이번 시간에는 python에서 바로 DynamoDB에 접근해서 Item을 수정하고 Item을 조회하는 실습을 진행해 보도록 하겠습니다. dynamoaccess.py import boto3 client = boto3.client('dynamodb') data = client.put_item( TableName = 'Orders', Item = { 'OrderID': { 'S': '2' }, 'Date': { 'S': '20221111' } } ) 이는 일단 boto3를 가상환경에서 설치했다는 가정하에 진행됩니다. 이는 현재 aws-cli에 등록한 사용자의 region에 있는 dynamodb client를 가져옵니다. 그리고 Orders라는 테이블에 OrderID가 '1'이고 Date가 '20221111'인..
[ DevOps ] - (DynamoDB) Lambda로 DynamoDB 접근
일단 바로 Lambda 함수를 만들어보도록 하겠습니다. 그런데, 기존에는 python3.9를 선택했지만, 이를 python을 통해서 하기에는 어렵지만, 이번에는 Node를 통해서 진행해 보도록 하겠습니다. 그리고 Lambda에서 DynamoDB에 접근할 수 있게끔 권한을 추가해 주겠습니다. 그리고 Node코드로 DynamoDB에 접근해서 항목을 추가하는 코드를 작성해 보도록 하겠습니다. https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/http-api-dynamo-db.html 자습서: Lambda 및 DynamoDB를 사용한 CRUD API 구축 - Amazon API Gateway 자습서: Lambda 및 DynamoDB를 사용한 ..
[ DevOps ] - (DynamoDB) DynamoDB 구성하기
DynamoDB 실습 바로 테이블을 생성해 보도록 하겠습니다. 테이블 이름은 Orders라고하고 파티션키와 정렬키의 조합으로 아이템을 구분한다고 했습니다. 이 둘을 각각 OrderID, Date로 해보겠습니다. 그 다음에는 온디멘드, 프로비저닝을 고를 수 있습니다. 만약에 스케일링을 접속에 따라 해주고 싶다면 프로비저닝을 하시면 되고, 그냥 단순하게 가고 싶으면 온디맨드를 선택하면 됩니다. 그리고 보조 인덱스에서 글로벌 인덱스인 GSI를 설정해 줄 수 있습니다. 이는 나중에 설정해 주겠습니다. 대부분의 데이터베이스 워크로드는 원래 주기적으로 반복되나 미리 예측하기가 어렵습니다. 낮 시간 동안에는 대부분의 사용자가 활성 상태인 소셜 네트워킹 앱을 예를 들어보겠습니다. 이러한 데이터베이스에서는 주간 활동을 ..