본문 바로가기

전체 글44

AWS CDK 개발 시작 전 사전 고려 사항 AWS CDK를 이용해 IaC 개발을 시작하기 전에 아래의 고려사항을 확인하여 진행하는 것이 좋습니다. 1. CDK 개발을 위한 프로그래밍 언어 선정 AWS CDK는 현재 아래의 5가지 주요 프로그래밍 언어를 지원합니다. TypeScript JavaScript Python Java C# 위 5가지 언어중에서 어떤걸 사용해도 무방하며, 프로젝트 관리자와 논의하여 사용할 언어를 선정하는게 좋습니다. 만약, 어느것을 사용해도 무방하다면 되도록 “TypeScript”를 사용하는 것이 가장 좋습니다. 왜냐하면, AWS CDK 자체는 TypeScript로 개발 후, AWS가 직접 개발하여 오픈소스로 공개한 JSii 라는 언어 변환 도구를 이용하여 다른 언어들로 변환 과정을 거쳤으며, 많은 AWS CDK 예제들이 T.. 2023. 6. 23.
AWS Chalice (챌리스) https://github.com/aws/chalice 1. 개요 Chalice는 Python으로 서버리스 앱을 작성하기 위한 프레임워크입니다. 이 Python용 프레임워크를 사용하면 AWS Lambda를 사용하는 애플리케이션을 빠르게 생성하고 배포할 수 있습니다. > 앱을 생성, 배포 및 관리하기 위한 Command line tool. Amazon API Gateway, Amazon S3, Amazon SNS, Amazon SQS 및 기타 AWS 서비스와의 통합을 위한 데코레이터 기반 API. IAM Policy 생성. AWS SAM(Serverless Application Model) 과 기능이 비슷하지만, AWS SAM과는 다르게 App 정의를 YAML 문법의 Template file이 아닌, La.. 2023. 6. 23.
AWS Lambda 런타임 중 Python에서 사용가능한 기본 Package 목록 https://insidelambda.com/ 에 가져옴. 저 사이트를 만든 사람이 아래의 코드를 이용했다고 하며, # $Id$ # # Locate all standard modules present in the AWS Lambda environment # # To launch call the "main" function in Lambda # # Based on listmodules.py written by Fredrik Lundh, January 2005 # http://svn.python.org/projects/python/tags/r252/Doc/tools/listmodules.py # from __future__ import print_function import imp, sys, os, re, .. 2023. 6. 8.
AWS SAM Local Testing 시 Docker desktop이 아닌 'minikube' 사용하기 (macOS 기준) SAM 배포(deploy)를 하기 전에 개발중인 Lambda 나 API Gateway에 대한 테스트를 local에서 하고 싶을때는 다음과 같이 가능합니다. # API Gateway, Lambda 실행 $ sam local start-api # Lambda 함수를 지정해 한번 호출 $ sam local invoke "함수이름" 이와 같이 sam local 명령어를 이용할 때에는 docker가 구동상태에서 사용을 해야 하는데, Docker desktop이 지난 2021년 8월에 회사내 사용자는 유료구매후에 사용해야 한다고 라이센스 정책을 변경했습니다. 사용자들이 지속적으로 aws sam 개발팀에게 docker 대안으로 minikube를 사용할 수 있도록 요청하고 있던 상태에서 github의 mmidenhal.. 2023. 2. 1.
리눅스 초보자가 꼭 배워야 하는 37가지 Linux 커맨드 갑자기 생각나서 정리. ls pwd cd mkdir mv cp rm whereis touch cat clear echo less man whoami tar ps top df find grep head tail diff zip unzip ssh kill pkill chown chmod vim sed netstat wget curl nslookup 2022. 8. 1.
AWS Lambda Function 퍼포먼스 비교: python에서 boto3와 aioboto3의 병렬처리 https://www.trek10.com/blog/aws-lambda-python-asyncio 에서 비교한 자료 요약. 다음 3가지 코드로 퍼포먼스 비교함. 병렬처리 없이 순차적으로 실행하는 코드 aioboto3(boto3 라이브러리에 비동기 처리를 할 수 있게 해주는 라이브러리)를 이용한 병렬처리 코드 boto3 라이브러리를 Python 기본 라이브러리인 ayncio를 이용해 작성한 병렬처리 코드 코드 구성 기본 순차 처리 코드 import os import boto3 s3 = boto3.client('s3') BUCKET_NAME = os.getenv('BUCKET_NAME') def main(): bucket_contents = s3.list_objects_v2(Bucket=BUCKET_NAME).. 2022. 7. 14.