자습서: CodePipeline을 사용한 Lambda 함수 배포 - AWS CodePipeline

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: CodePipeline을 사용한 Lambda 함수 배포

이 자습서는 Lambda에서 구성한 함수에 코드를 배포하는 배포 작업을 CodePipeline에서 생성하는 데 도움이 됩니다. 별칭 및 버전을 생성하고, 압축된 Lambda 함수를 소스 위치에 추가하고, 파이프라인에서 Lambda 작업을 실행할 샘플 Lambda 함수를 생성합니다.

참고

콘솔에서 파이프라인을 생성하는 과정에서 CodePipeline은 S3 아티팩트 버킷을 아티팩트에 사용합니다. (이는 S3 소스 작업에 사용되는 버킷과 다릅니다.) S3 아티팩트 버킷이 파이프라인의 계정과 다른 계정에 있는 경우 S3 아티팩트 버킷을 안전하고 신뢰할 수 AWS 계정 있는에서 소유해야 합니다.

참고

Lambda 배포 작업은 V2 유형 파이프라인에서만 사용할 수 있습니다.

사전 조건

이 자습서를 이용하여 CD 파이프라인을 만들려면 먼저 몇 가지 리소스를 갖춰야 합니다. 다음은 시작하기 위해 필요한 항목입니다.

참고

이러한 모든 리소스는 동일한 AWS 리전 내에 생성되어야 합니다.

  • GitHub와 같은 소스 제어 리포지토리 또는 Lambda 함수에 대해 생성한 .zip 파일을 저장할 소스 S3 버킷(이 자습서에서는 S3 사용).

  • 이 작업에 대한 권한으로 업데이트된 기존 CodePipeline 서비스 역할을 사용해야 합니다. 서비스 역할을 업데이트하려면 섹션을 참조하세요Lambda 배포 작업에 대한 서비스 역할 정책 권한.

이러한 사전 조건을 모두 갖췄으면 이제 자습서를 이용하여 CD 파이프라인을 만들 수 있습니다.

1단계: 샘플 Lambda 함수 생성

이 단계에서는 배포할 Lambda 함수를 생성합니다.

Lambda 함수를 만들려면
  1. Lambda 콘솔에 액세스하고 다음 자습서의 단계에 따라 샘플 Lambda 함수를 생성합니다. 링크.

  2. 상단 탐색에서 생성을 선택하고 페이지 상단에서 처음부터 시작을 선택합니다.

  3. 이름MyLambdaFunction를 입력합니다.

  4. 새 버전을 게시합니다. 별칭이 가리키는 버전이 됩니다.

    1. 함수를 선택합니다.

    2. 작업 드롭다운을 선택합니다.

    3. [새 버전 발행]을 선택합니다.

    4. (선택 사항) 설명의 설명에를 추가합니다.

    5. 게시를 선택합니다.

  5. 와 같이 함수의 별칭을 생성합니다aliasV1.

  6. 별칭이 방금 생성한 버전(예: 1)을 가리키는지 확인합니다.

    참고

    $LATEST를 선택하면 Lambda가 둘 이상의 버전을 가리키는 별칭에 대해 $LATEST를 지원하지 않으므로 트래픽 이동 기능을 사용할 수 없습니다.

2단계: 리포지토리에 함수 파일 업로드

함수를 다운로드하여 zip 파일로 저장합니다. 다음 단계에 따라 압축된 파일을 S3 버킷에 업로드합니다.

.zip 파일을 해당 소스 리포지토리에 추가하려면
  1. S3 버킷을 엽니다.

  2. 업로드를 선택합니다.

  3. sample_lambda_source.zip 파일이 포함된 zip 파일을 소스 버킷에 업로드합니다.

    경로를 기록해 둡니다.

    object key

3단계: 파이프라인 생성

CodePipeline 마법사를 사용하여 파이프라인 단계를 생성하고 소스 리포지토리를 연결합니다.

파이프라인을 생성하려면
  1. https://console.aws.amazon.com/codepipeline/에서 CodePipeline 콘솔을 엽니다.

  2. [Welcome] 페이지, [Getting started] 페이지 또는 [Pipelines] 페이지에서 Create pipeline(파이프라인 생성)을 선택합니다.

  3. 1단계: 생성 옵션 선택 페이지의 생성 옵션에서 사용자 지정 파이프라인 빌드 옵션을 선택합니다. 다음을 선택합니다.

  4. 2단계: 파이프라인 설정 선택파이프라인 이름MyPipeline을 입력합니다.

  5. CodePipeline은 특성과 가격이 다른 V1 및 V2 유형 파이프라인을 제공합니다. V2 유형은 콘솔에서 선택할 수 있는 유일한 유형입니다. 자세한 내용은 파이프라인 유형을 참조하세요. CodePipeline에 대한 요금 정보는 요금을 참조하세요.

  6. 서비스 역할에서 기존 서비스 역할 사용을 선택한 다음이 작업에 필요한 권한으로 업데이트된 CodePipeline 서비스 역할을 선택합니다. 이 작업에 대한 CodePipeline 서비스 역할을 구성하려면 섹션을 참조하세요Lambda 배포 작업에 대한 서비스 역할 정책 권한.

  7. [Advanced settings]의 설정은 기본값 그대로 두고, [Next]를 선택합니다.

  8. 3단계: 소스 스테이지 추가 페이지에서 소스 스테이지를 추가합니다.

    1. 소스 공급자에서 Amazon S3를 선택합니다.

    2. 객체 키에와 같은 파일 확장명을 포함하여 .zip 파일의 이름을 추가합니다sample_lambda_source.zip.

    다음을 선택합니다.

  9. 4단계: 빌드 단계 추가 페이지에서 건너뛰기를 선택합니다.

  10. 5단계: 테스트 단계 추가 페이지에서 건너뛰기를 선택합니다.

  11. 6단계: 배포 단계 추가 페이지에서 Lambda를 선택합니다.

    파이프라인에 Lambda 배포 작업을 추가합니다.
    1. 함수 이름과 별칭을 추가합니다.

    2. 배포 전략을 선택합니다.

    3. 다음을 선택합니다.

  12. 7단계: 검토 페이지에서 파이프라인 구성을 검토하고 파이프라인 생성을 선택하여 파이프라인을 생성합니다.

    Lambda 배포 작업이 파이프라인에 추가된 성공적인 파이프라인 실행을 보여주는 콘솔 다이어그램입니다.

4단계: 파이프라인 테스트

파이프라인에는 end-to-end네이티브 AWS 지속적 배포를 실행하기 위한 모든 것이 있어야 합니다. 이제 소스 리포지토리에 코드 변경을 푸시하여 파이프라인 기능을 테스트해 보겠습니다.

파이프라인을 테스트하려면
  1. 구성된 소스 리포지토리에 대한 코드를 변경하고 커밋한 후 변경 사항을 푸시합니다.

  2. https://console.aws.amazon.com/codepipeline/에서 CodePipeline 콘솔을 엽니다.

  3. 목록에서 파이프라인을 선택합니다.

  4. 단계를 수행하면서 파이프라인 진행 상황을 관찰합니다. 파이프라인이 완료되고 작업이 Lambda 함수에 배포됩니다.

자세히 알아보기

Lambda 배포 작업은 두 가지 배포 방법을 허용합니다. 한 가지 방법은 소스 작업의 입력 아티팩트 없이 트래픽만 이동하는 것입니다. 다른 방법은 소스 작업의 입력 아티팩트를 사용하여 함수 코드를 업데이트한 다음 업데이트된 코드를 기반으로 새 버전을 게시하는 것입니다. 두 번째 방법의 경우 별칭이 제공되면 CodePipeline은 트래픽 이동도 수행합니다. 이 Lambda 배포 작업 자습서에서는 소스 아티팩트를 사용하여 함수를 업데이트하는 방법을 보여줍니다.

작업에 대한 자세한 내용은의 작업 참조 페이지를 참조하세요AWS Lambda 배포 작업 참조.