AWS Lambda와 AWS Infrastructure Composer 사용하기

AWS Lambda와 AWS Infrastructure Composer 사용하기

AWS Infrastructure Composer는 AWS에서 현대적인 애플리케이션을 설계하기 위한 비주얼 빌더예요. 비주얼 캔버스에서 AWS 서비스를 끌어다 놓고, 그룹화하고, 연결하면서 애플리케이션 아키텍처를 설계합니다. Infrastructure Composer는 설계를 기반으로 infrastructure as code(IaC) 템플릿을 만들어서 AWS SAM이나 CloudFormation으로 배포할 수 있게 해줍니다.

출처: AWS Lambda 개발자 안내서

본문

Lambda 함수를 Infrastructure Composer로 내보내기

Lambda 콘솔에서 기존 Lambda 함수의 구성을 기반으로 새 프로젝트를 만들어 Infrastructure Composer 사용을 시작할 수 있어요. 함수의 구성과 코드를 Infrastructure Composer로 내보내 새 프로젝트를 만들려면 다음을 수행하세요:

  1. Lambda 콘솔의 Functions 페이지를 엽니다.
  2. Infrastructure Composer 프로젝트의 기반으로 사용할 함수를 선택합니다.
  3. Function overview(함수 개요) 창에서 Export to Infrastructure Composer(Infrastructure Composer로 내보내기)를 선택합니다. 함수의 구성과 코드를 Infrastructure Composer로 내보내기 위해 Lambda는 이 데이터를 임시 저장할 Amazon S3 버킷을 계정에 만듭니다.
  4. 대화 상자에서 Confirm and create project(확인하고 프로젝트 만들기)를 선택해 이 버킷의 기본 이름을 수락하고 함수의 구성과 코드를 Infrastructure Composer로 내보냅니다.
  5. (선택 사항) Lambda가 만드는 Amazon S3 버킷의 다른 이름을 선택하려면 새 이름을 입력하고 Confirm and create project(확인하고 프로젝트 만들기)를 선택합니다. Amazon S3 버킷 이름은 전역적으로 고유해야 하며 버킷 명명 규칙을 따라야 해요.
  6. Infrastructure Composer에서 프로젝트와 함수 파일을 저장하려면 로컬 동기화 모드를 활성화합니다.

참고

이전에 Export to Application Composer 기능을 사용해 기본 이름으로 Amazon S3 버킷을 만든 적이 있다면, 그 버킷이 여전히 존재할 때 Lambda는 그 버킷을 재사용할 수 있어요. 대화 상자에서 기본 버킷 이름을 수락하면 기존 버킷을 재사용합니다.

Amazon S3 전송 버킷 구성

Lambda가 함수 구성을 전송하기 위해 만드는 Amazon S3 버킷은 AES 256 암호화 표준으로 객체를 자동으로 암호화합니다. 또한 Lambda는 버킷이 버킷 소유자 조건을 사용하도록 구성해 여러분의 AWS 계정만 버킷에 객체를 추가할 수 있게 합니다.

Lambda는 업로드된 지 10일 후에 객체를 자동 삭제하도록 버킷을 구성합니다. 다만 Lambda가 버킷 자체를 자동 삭제하지는 않아요. AWS 계정에서 버킷을 삭제하려면 버킷 삭제의 지침을 따르세요. 기본 버킷 이름은 lambdasam 프리픽스, 10자리 영숫자 문자열, 그리고 함수를 만든 AWS 리전을 사용합니다:

lambdasam-06f22da95b-us-east-1

AWS 계정에 추가 요금이 부과되지 않도록, 함수를 Infrastructure Composer로 내보내기를 마친 후에는 Amazon S3 버킷을 즉시 삭제할 것을 권장합니다.

표준 Amazon S3 요금이 적용됩니다.

필수 권한

Lambda와 Infrastructure Composer 통합 기능을 사용하려면 AWS SAM 템플릿을 다운로드하고 함수 구성을 Amazon S3에 쓰기 위한 특정 권한이 필요해요.

AWS SAM 템플릿을 다운로드하려면 다음 API 작업을 사용할 권한이 있어야 합니다:

AWSLambda_ReadOnlyAccess AWS 관리형 정책을 IAM 사용자 역할에 추가하면 이 모든 작업에 대한 권한을 부여할 수 있어요.

Lambda가 함수 구성을 Amazon S3에 쓰려면 다음 API 작업을 사용할 권한이 있어야 합니다:

함수 구성을 Infrastructure Composer로 내보낼 수 없다면 계정에 이 작업들에 대한 필수 권한이 있는지 확인하세요. 필수 권한이 있는데도 함수 구성을 내보낼 수 없다면 Amazon S3에 대한 접근을 제한하는 리소스 기반 정책이 있는지 확인해 보세요.

기타 리소스

기존 Lambda 함수를 기반으로 Infrastructure Composer에서 서버리스 애플리케이션을 설계하는 더 자세한 튜토리얼은 infrastructure as code(IaC)와 Lambda 사용하기를 참고하세요.

Infrastructure Composer와 AWS SAM을 사용해 Lambda로 완전한 서버리스 애플리케이션을 설계하고 배포하려면 AWS Serverless Patterns Workshop의 AWS Infrastructure Composer 튜토리얼을 따라 해 볼 수도 있어요.

더 알아보기 (Learn more)