AWS16 [AWS] API GateWay로 Lambda를 호출하여 S3의 파일을 SFTP 서버로 데이터 전송하기 (lambda import) 본 포스팅에서는 Lambda로 SFTP 서버에 S3 버킷의 파일을 SFTP 서버로 전송하는 방법을 다룬다. Lambda는 AWS에서 제공하는 서버리스 서비스로 AWS 리소스와 연계가 용이하다는 장점이 있다. 이 Lambda는 특정 이벤트가 발생하였을 때 동작하며, 이를 트리거라고 한다. AWS에서는 EventBridge (cron을 작성하여 주기적으로 lambda 실행 가능), API GateWay 등 다양한 트리거를 제공하며 본 포스팅에서는 API GateWay로 REST API를 lambda에 보내는 방법을 테스트한다. (매월 28일 데이터 전송과 같이 주기적인 작업이 필요 할 경우 EventBridge를 사용하면 좋다) 본 테스트에는 다음과 같은 사전 준비가 필요하다. SFTP 서버 SFTP 서버에.. 2022. 3. 3. [AWS/Lambda] Lambda에 외부 라이브러리 import 하기 (Lambda layer) Lambda 개발을 하다보면, 파이썬에서 기본으로 제공하고있지 않은 외부 라이브러리나 패키지가 필요할 수 있다. 예를들어, 외부 라이브러리 중 하나인 paramiko를 사용하고자 할 때 람다 함수에 import paramiko 시도 후 테스트를 돌리면 다음과 같은 오류를 만나게된다. Unable to import module 'lambda_function': No moudle named ' ' Response { "errorMessage": "Unable to import module 'lambda_function': No module named 'paramiko'", "errorType": "Runtime.ImportModuleError", "stackTrace": [] } AWS에서는 이러한 외부 라.. 2022. 3. 3. [AWS/Transfer family, S3] AWS Transfer family와 S3로 SFTP 서버 구성하기 본 포스팅에서는 AWS Transfer family를 사용해서 S3를 SFTP 서버로 사용하고 접속하는 방법을 다룬다. Transfer family는 S3와 EFS에대해 보안전송을 지원하며, 지원 프로토콜은 다음과같다. Secure Shell (SSH) File Transfer Protocol (SFTP) File Transfer Protocol Secure (FTPS) File Transfer Protocol (FTP) 1. S3 버킷 생성 AWS S3 버킷을 생성한다. 버킷의 이름은 본인 계정과 다른 계정에 대해 모두 중복되지 않는 이름으로 정한다. 파블릭 액세스 접근은 사용 목적에 따라 다르게 설정한다. 나는 이 S3 객체에 대해서는 퍼블릭 액세스를 차단하고, SFTP 용도로만 사용할 것이므로 모든.. 2022. 2. 25. [CodeBuild] ECR 업로드시 CodeBuild Role 권한 오류 CodeBuild는 Build 과정에서 codecommit, s3, log 등의 작업을 수행하는데 이러한 서비스들에 대한 권한을 필요로한다. 이 권한은 IAM 역할을 위임받아 수행되는데 이때 CodeBuild IAM은 build project 생성 과정에서 ① 역할을 새로 생성하거나, ② 사전에 만들어 둔 역할을 사용할 수 있다. 역할을 새로 생성한다는 가정하에 부여되는 권한은 다음과 같다. logs: CloudWatch logs 그룹 생성 및 로깅 s3: 지정된 버킷 내 객체에 대한 PutObject codecommmit: git pull 새로 생성된 서비스 역할에는 ECR 접근에 대한 권한이 부여되어있지 않다. 따라서 "CodeBuild로 docker image를 생성 -> 이를 ECR (AWS에서 .. 2022. 2. 8. 이전 1 2 3 4 다음