翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: 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 関数を作成するには
-
Lambda コンソールにアクセスし、次のチュートリアルの手順に従ってサンプル Lambda 関数を作成します。リンク。
-
上部のナビゲーションから作成を選択し、ページの上部から最初から開始を選択します。
-
[名前] に「
MyLambdaFunction
」と入力します。 -
新しいバージョンを発行します。これは、エイリアスが指すバージョンになります。
-
関数を選択します。
-
Actions ドロップダウンを選択します。
-
[新しいバージョンを発行] を選択します。
-
(オプション) 説明の説明に を追加します。
-
[発行] を選択します。
-
-
などの関数のエイリアスを作成します
aliasV1
。 -
エイリアスが、先ほど作成したバージョン (1 など) を指していることを確認します。
注記
$LATEST を選択した場合、Lambda は複数のバージョンを指すエイリアスに対して $LATEST をサポートしていないため、トラフィックシフト機能は使用できません。
ステップ 2: 関数ファイルをリポジトリにアップロードする
関数をダウンロードし、zip ファイルとして保存します。次の手順を使用して、圧縮ファイルを S3 バケットにアップロードします。
ソースリポジトリに .zip
ファイルを追加するには
-
S3 バケットを開きます。
-
[アップロード] を選択します。
-
ファイルを含む zip
sample_lambda_source.zip
ファイルをソースバケットにアップロードします。パスを書き留めます。
object key
ステップ 3: パイプラインを作成する
CodePipeline ウィザードを使用してパイプラインステージを作成し、ソースリポジトリを接続します。
パイプラインを作成するには
CodePipeline コンソール (https://console.aws.amazon.com/codepipeline/
) を開きます。 -
[ようこそ] ページ、[開始方法] ページ、または [パイプライン] ページで、[パイプラインの作成] を選択します。
-
[ステップ 1: 作成オプションを選択する] ページの [作成オプション] で、[カスタムパイプラインを構築する] オプションを選択します。[次へ] を選択します。
-
[ステップ 2: パイプラインの設定を選択する] で、[パイプライン名] に「
MyPipeline
」と入力します。 -
CodePipeline は、特徴と料金が異なる V1 タイプと V2 タイプのパイプラインを提供しています。V2 タイプは、コンソールで選択できる唯一のタイプです。詳細については、「パイプラインタイプ」を参照してください。CodePipeline の料金については、料金
を参照してください。 -
サービスロールで、既存のサービスロールを使用するを選択し、このアクションに必要なアクセス許可で更新された CodePipeline サービスロールを選択します。このアクション用に CodePipeline サービスロールを設定するには、「」を参照してくださいLambda デプロイアクションのサービスロールポリシーのアクセス許可。
-
[詳細設定] をデフォルト設定のままにし、[次へ] を選択します。
-
[ステップ 3: ソースステージを追加する] ページで、ソースステージを追加します。
-
[ソースプロバイダ] で [Amazon S3] を選択します。
-
オブジェクトキーで、 などのファイル拡張子を含む .zip ファイルの名前を追加します
sample_lambda_source.zip
。
[次へ] を選択します。
-
-
ステップ 4: ビルドステージの追加ページで、スキップを選択します。
-
ステップ 5: テストステージの追加ページで、スキップを選択します。
-
ステップ 6: デプロイステージの追加ページで、Lambda を選択します。
-
関数名とエイリアスを追加します。
-
デプロイ戦略を選択します。
-
[次へ] を選択します。
-
-
ステップ 7: 確認ページで、パイプライン設定を確認し、パイプラインの作成を選択してパイプラインを作成します。
ステップ 4: パイプラインのテスト
パイプラインには、end-to-endのネイティブ AWS 継続的デプロイを実行するためのすべてが必要です。次は、コードの変更をソースリポジトリにプッシュすることで機能をテストします。
パイプラインをテストするには
-
設定済みソースリポジトリにコード変更を行い、変更をコミットしてプッシュします。
CodePipeline コンソール (https://console.aws.amazon.com/codepipeline/
) を開きます。 -
リストからパイプラインを選択します。
-
ステージを通してパイプラインの進行状況を監視します。パイプラインが完了し、アクションが Lambda 関数にデプロイされます。
詳細はこちら
Lambda デプロイアクションでは、2 つのデプロイ方法を使用できます。1 つの方法は、ソースアクションからの入力アーティファクトなしでトラフィックを単独で移行することです。もう 1 つの方法は、ソースアクションの入力アーティファクトを使用して関数コードを更新し、更新されたコードに基づいて新しいバージョンを発行することです。2 番目の方法では、エイリアスが指定されている場合、CodePipeline はトラフィックの移行も行います。この Lambda デプロイアクションチュートリアルでは、ソースアーティファクトを使用して関数を更新する方法を示します。
アクションの詳細については、「」のアクションリファレンスページを参照してくださいAWS Lambda デプロイアクションリファレンス。