본문 바로가기

분류 전체보기19

[AWS/ECS] ECS 클러스터 구성 및 컨테이너 서비스하기 Amazon Elastic Container Service(Amazon ECS)는 클러스터에서 컨테이너를 손쉽게 실행, 중지 및 관리할 수 있게 하는 컨테이너 관리 서비스이다. 본 포스팅에서는 인스턴스로 구성된 ECS 클러스터를 생성하고, 해당 클러스터에서 컨테이너를 ALB를 통해 서비스하는 과정을 다룬다. 본 포스팅에서는 아래 사항들이 준비되었다는 가정 하에 진행된다. 이미지 저장소 (Amaon ECR, Docker hub 등)에 저장된 컨테이너 이미지 서비스와 연결될 LoadBalancer (Blue/Green의 경우 2개 필요) 작업 단계는 다음과 같이 세 단계로 진행된다. ECS 작업 정의 ECS 클러스터 생성 서비스 생성 ​이미지는 Amazon ECR로부터 가져오며, internet-faced .. 2022. 3. 9.
[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.