기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Lambda 배포 작업 참조
AWS Lambda 배포 작업을 사용하여 서버리스 배포를 위한 애플리케이션 코드 배포를 관리합니다. 다음과 같이 함수를 배포하고 트래픽 배포에 배포 전략을 사용할 수 있습니다.
-
트래픽 시프팅을 위한 카나리아 및 선형 배포
-
한 번에 모두 배포
참고
이 작업은 V2 유형 파이프라인에서만 지원됩니다.
작업 유형
-
범주:
Deploy
-
소유자:
AWS
-
공급자:
Lambda
-
버전:
1
구성 파라미터
- FunctionName
-
필수 여부: 예
와 같이 Lambda에서 생성한 함수의 이름입니다
MyLambdaFunction
.버전을 이미 생성했어야 합니다.
- FunctionAlias
-
필수 여부: 아니요
Lambda에서 생성한 함수의 별칭이며와 같이 배포할 함수입니다
live
. 별칭이 있어야 하며 작업 실행이 시작될 때 별칭 뒤에 하나의 버전이 있어야 합니다. (롤백 대상 버전이 됩니다.)제공되지 않은 경우 작업은 소스 아티팩트를에 배포
$LATEST
하고 새 버전을 생성합니다. 이 사용 사례에서는 배포 전략 및 대상 버전 옵션을 사용할 수 없습니다. - PublishedTargetVersion
-
필수 여부: 아니요
FunctionAlias 버전입니다. 와 같은 파이프라인 또는 작업 수준 변수일 수 있습니다
#{variables.lambdaTargetVersion}
. 작업 실행이 시작될 때 버전을 게시해야 합니다.입력 아티팩트가 제공되지 않은 경우 필요합니다.
- DeployStrategy
-
필수: 아니요(기본값은
AllAtOnce
)Lambda 배포 작업이 Lambda 함수의 원래 버전에서 FunctionAlias의 새 버전으로 트래픽을 이동하기 위해 채택하는 속도를 결정합니다. 사용 가능한 배포 전략은 canary 또는 linear입니다. 허용되는 형식:
-
AllAtOnce
-업데이트된 Lambda 함수로 모든 트래픽을 한번에 전환합니다.
지정하지 않으면 기본값은
AllAtOnce
)입니다. -
Canary10Percent5Minutes
- 트래픽의 10%를 첫 번째 증분으로 이동합니다. 나머지 90%는 5분 이후 배포됩니다.백분율과 분 값을 모두 변경할 수 있습니다.
-
Linear10PercentEvery1Minute
- 모든 트래픽이 이동할 때까지 1분마다 트래픽의 10%를 이동합니다.백분율과 분 값을 모두 변경할 수 있습니다.
이 필드에는 다음 고려 사항이 적용됩니다.
-
최대 총 대기 시간은 2일입니다.
-
FunctionAlias가 제공된 경우에만 사용할 수 있습니다.
-
- 경보
-
필수 여부: 아니요
Lambda 배포를 위해 구성된 쉼표로 구분된 경보 이름 목록입니다. 최대 10개의 알람을 추가할 수 있습니다. 모니터링된 경보가 ALARM 상태가 되면 작업이 실패합니다.
다음 이미지는 작업에 대한 편집 페이지의 예를 보여줍니다.

입력 아티팩트
-
아티팩트 수:
1
-
설명: 배포 중에 스크립트 작업을 지원하기 위해 제공된 파일입니다.
출력 아티팩트
-
아티팩트 수:
0
-
설명: 이 작업 유형에는 출력 아티팩트가 적용되지 않습니다.
출력 변수
이 작업을 구성하면 파이프라인에서 다운스트림 작업의 작업 구성에서 참조할 수 있는 변수가 생성됩니다. 이 작업은 작업에 네임스페이스가 없는 경우에도 출력 변수로 볼 수 있는 변수를 생성합니다. 이러한 변수를 다운스트림 작업 구성에서 사용할 수 있도록 네임스페이스를 사용하여 작업을 구성합니다.
자세한 내용은 변수 참조 단원을 참조하십시오.
- FunctionVersion
-
배포된 새 Lambda 함수 버전입니다.
Lambda 배포 작업에 대한 서비스 역할 정책 권한
CodePipeline이 작업을 실행할 때 CodePipeline 서비스 역할에는 최소 권한으로 액세스할 수 있도록 범위가 적절하게 축소된 다음 권한이 필요합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "StatementForLambda", "Effect": "Allow", "Action": [ "lambda:GetAlias", "lambda:GetFunctionConfiguration", "lambda:GetProvisionedConcurrencyConfig", "lambda:PublishVersion", "lambda:UpdateAlias", "lambda:UpdateFunctionCode" ], "Resource": [ "arn:aws:lambda:aws:{{customerAccountId}}:function:{{FunctionName}}", "arn:aws:lambda:aws:{{customerAccountId}}:function:{{FunctionName}}:*" ] }, { "Sid": "StatementForCloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms" ], "Resource": [ "arn:aws:cloudwatch:aws:{{customerAccountId}}:alarm:{{AlarmNames}}" ] }, { "Sid": "StatementForLogs1", "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}", "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}:*" ] }, { "Sid": "StatementForLogs2", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}:log-stream:*" ] } ] }
작업 선언
다음 사항도 참조하세요.
이 작업을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
-
자습서: CodePipeline을 사용한 Lambda 함수 배포 -이 자습서에서는 별칭 및 버전을 생성하고, 압축된 Lambda 함수를 소스 위치에 추가하고, 파이프라인에서 Lambda 작업을 실행할 샘플 Lambda 함수를 생성하는 방법을 안내합니다.