翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Lambda デプロイアクションリファレンス
AWS Lambda デプロイアクションを使用して、サーバーレスデプロイ用のアプリケーションコードのデプロイを管理します。次のように、関数をデプロイし、トラフィックデプロイのデプロイ戦略を使用できます。
-
トラフィックシフト用の Canary および線形デプロイ
-
一度にすべてのデプロイ
注記
このアクションは V2 タイプのパイプラインでのみサポートされています。
アクションタイプ
-
カテゴリ:
Deploy
-
所有者:
AWS
-
プロバイダー:
Lambda
-
バージョン:
1
設定パラメータ
- FunctionName
-
必須: はい
など、Lambda で作成した関数の名前
MyLambdaFunction
。バージョンを既に作成している必要があります。
- FunctionAlias
-
必須: いいえ
Lambda で作成した 関数のエイリアス。 など、デプロイ先の 関数です
live
。エイリアスが存在し、アクション実行の開始時にその背後にあるバージョンが 1 つある必要があります。(ロールバックターゲットバージョンになります)。指定しない場合、アクションはソースアーティファクトを にデプロイ
$LATEST
し、新しいバージョンを作成します。このユースケースでは、デプロイ戦略とターゲットバージョンオプションは使用できません。 - PublishedTargetVersion
-
必須: いいえ
FunctionAlias にデプロイする Lambda 関数のバージョン。パイプラインまたは などのアクションレベルの変数を使用できます
#{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 アクションを実行します。