lambda5 도커 컨테이너 이미지로 Lambda 함수 배포 Lambda에서 컨테이너 이미지를 사용하는 방법에는 세가지가 있으며, Python을 기준으로 설명한다. Lambda용 AWS 기본 이미지 사용 언어 runtime 지정됨 운영체제: Amazon Linux 2(Python 3.8 ~), Amazon Linux(Python 3.7) 런타임 인터페이스 클라이언트/에뮬레이터 포함 사용자 지정 런타임용 AWS 기본 이미지 사용 사용자가 runtime 설정 운영체제: Amazon Linux 또는 Amazon Linux 2 런타임 인터페이스 에뮬레이터 포함 Lambda 호환을 위해 런타임 인터페이스 클라이언트를 포함 시켜야함 AWS 이미지가 아닌 별개 이미지 사용 런타임, 운영체제 모두 사용자 지정 로컬 테스트를 하려면 런타임 인터페이스 에뮬레이터를 포함 시켜야함 (.. 2023. 10. 15. Lambda 이용해서 Cloudwatch Error 로그를 Slack으로 알림 보내기 Lambda를 작성하기 전에 알림을 보내고자 하는 슬랙 채널에 Webhook을 생성해야 한다. Webhook 생성방법은 아래의 블로그 글을 참고 했다. https://velog.io/@king/slack-incoming-webhook Lambda 생성 Lambda를 새로 생성한다. 여기서는 Python을 이용해서 코드를 작성할 예정이므로, Pyhon 버전을 3.9로 선택했다. IAM Role은 아래 정책을 포함하도록 만들어준다. 다수의 클라우드워치를 트리거로 설정할 예정이므로 클라우드워치 전체 엑세스 권한을 주었다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:*" ], "Resource": "arn:aw.. 2023. 9. 7. Presigned Url을 이용하여 외부에서 S3에 접근 S3에 파일을 업로드/다운로드 하기 위한 방법으로는 여러가지가 있다. 그 중에서도 Presigned Url(미리 서명된 URL)을 사용하면, S3버킷이 있는 계정의 IAM User/Role정보를 갖고 있지 않아도 버킷에 접근하도록 할 수 있다. 아래는 AWS 공식문서의 설명이다. 모든 객체 및 버킷은 기본적으로 프라이빗입니다. 그러나 미리 서명된 URL을 사용하여 선택적으로 객체를 공유하거나 고객/사용자가 AWS 보안 자격 증명이나 권한 없이 버킷에 객체를 업로드하는 것을 허용할 수 있습니다. 미리 서명된 URL을 사용하면 Amazon S3 버킷에 액세스하는 데 사용할 수 있는 URL을 생성할 수 있습니다. 미리 서명된 URL을 생성하면 특정 작업과 연결됩니다. URL을 공유할 수 있으며 URL에 액세스.. 2022. 12. 18. AWS Lambda에서 파이썬 모듈 추가하기 Python과 NodeJS의 경우에는 AWS Lambda 콘솔에서 코드를 작성하고 편집 할 수 있다. 콘솔에서 작성한 파이썬 코드를 배포하고 실행하다 보면, 아래와 같은 에러가 발생할 때가 있다. [ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'requests’ 이런 에러가 발생한 원인은 코드를 실행할 때 필요한 모듈이 없기 때문이다, 해결방법 필요한 모듈을 로컬에서 특정 디렉토리 위치에 설치해준다. #디렉토리 생성 및 이동 mkdir python cd python/ #모듈 설치 $ pip install requests -t . # 디렉토리 압축, 명령어로 해도 되고 직접 마우스로 해.. 2022. 12. 11. 이전 1 2 다음