翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Lambda Java AWS SAMで を使用して CodeBuild Lambda 関数をデプロイする
AWS Serverless Application Model (AWS SAM) は、サーバーレスアプリケーションを構築するためのオープンソースのフレームワークです。詳細については、「」の「 AWS Serverless Application Modelリポジトリ
AWS SAM リポジトリをセットアップする
CLI を使用して AWS SAM AWS SAMHello World
プロジェクトを作成します。
AWS SAM プロジェクトを作成するには
-
ローカルマシンに AWS SAM CLI をインストールするには、「 AWS Serverless Application Modelデベロッパーガイド」の手順に従います。
-
sam init
を実行して、次のプロジェクト設定を選択します。Which template source would you like to use?: 1 - AWS Quick Start Templates Choose an AWS Quick Start application template: 1 - Hello World Example Use the most popular runtime and package type? (Python and zip) [y/N]: N Which runtime would you like to use?: 8 - java21 What package type would you like to use?: 1 - Zip Which dependency manager would you like to use?: 1 - gradle Would you like to enable X-Ray tracing on the function(s) in your application? [y/N]: N Would you like to enable monitoring using CloudWatch Application Insights? [y/N]: N Would you like to set Structured Logging in JSON format on your Lambda functions? [y/N]: N Project name [sam-app]: <insert project name>
-
サポートされているソースリポジトリにAWS SAMプロジェクトフォルダをアップロードします。サポートされているソースタイプのリストについては、「」を参照してくださいProjectSource。
CodeBuild Lambda Java プロジェクトを作成する
AWS CodeBuild Lambda Java プロジェクトを作成し、ビルドに必要な IAM アクセス許可を設定します。
CodeBuild Lambda Java プロジェクトを作成するには
-
AWS CodeBuild コンソール (https://console.aws.amazon.com/codesuite/codebuild/home
) を開きます。 -
CodeBuild 情報ページが表示される場合は、ビルドプロジェクトの作成を選択します。それ以外の場合は、ナビゲーションペインでビルドを展開し、[ビルドプロジェクト] を選択し、次に [Create build project (ビルドプロジェクトの作成)] を選択します。
[プロジェクト名] に、このビルドプロジェクトの名前を入力します。ビルドプロジェクトの名前は、各 AWS アカウントで一意である必要があります。また、他のユーザーがこのプロジェクトの使用目的を理解できるように、ビルドプロジェクトの説明を任意で指定することもできます。
-
ソース で、AWS SAMプロジェクトがあるソースリポジトリを選択します。
-
[環境] で以下の操作を行います。
-
コンピューティング で、Lambda を選択します。
-
Runtime(s) で、Java を選択します。
-
イメージ で、aws/codebuild/amazonlinux-x86_64-lambda-standard :corretto21 を選択します。
-
サービスロール では、新しいサービスロールを選択したままにします。ロール名 を書き留めます。これは、このサンプルの後半でプロジェクトの IAM アクセス許可を更新するときに必要です。
-
-
Create build project (ビルドプロジェクトの作成)を選択します。
-
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、ロールを選択し、プロジェクトに関連付けられたサービスロールを選択します。でプロジェクトロールを検索するには、ビルドプロジェクト CodeBuild を選択し、編集、環境、サービスロールの順に選択します。
-
[信頼関係] タブを選択し、続いて [信頼ポリシーの編集] を選択します。
-
IAM ロールに次のインラインポリシーを追加します。これは、後でAWS SAMインフラストラクチャをデプロイするために使用されます。詳細については、「 IAM ユーザーガイド」の「IAM ID アクセス許可の追加および削除」を参照してください。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "cloudformation:*", "lambda:*", "iam:*", "apigateway:*", "s3:*" ], "Resource": [ "*" ] } ] }
プロジェクトの buildspec をセットアップする
Lambda 関数を構築、テスト、デプロイするために、 は buildspec からビルドコマンド CodeBuild を読み取って実行します。
プロジェクトの buildspec を設定するには
-
CodeBuild コンソールでビルドプロジェクトを選択し、編集 と Buildspec を選択します。
-
Buildspec でビルドコマンドを挿入を選択し、エディタ に切り替えます。
-
事前に入力されたビルドコマンドを削除し、次の buildspec に貼り付けます。
version: 0.2 env: variables: GRADLE_DIR: "HelloWorldFunction" phases: build: commands: - echo "Running unit tests..." - cd $GRADLE_DIR; gradle test; cd .. - echo "Running build..." - sam build --template-file template.yaml - echo "Running deploy..." - sam package --output-template-file packaged.yaml --resolve-s3 --template-file template.yaml - yes | sam deploy
-
[Update buildspec (buildspec の更新)] を選択します。
AWS SAM Lambda インフラストラクチャをデプロイする
CodeBuild Lambda を使用して Lambda インフラストラクチャを自動的にデプロイする
Lambda インフラストラクチャをデプロイするには
-
[Start build] を選択します。これにより、 AWS Lambdaを使用してAWS SAMアプリケーションが自動的に構築、テスト、デプロイされますAWS CloudFormation。
-
ビルドが完了したら、 AWS Lambdaコンソールに移動し、AWS SAMプロジェクト名で新しい Lambda 関数を検索します。
-
関数の概要で API Gateway を選択し、API エンドポイント URL をクリックして、Lambda 関数をテストします。メッセージ を含むページが開きます
"message": "hello world"
。
インフラストラクチャのクリーンアップ
このチュートリアルで使用したリソースに対して追加料金が発生しないようにするには、 AWS SAM テンプレートと で作成したリソースを削除します CodeBuild。
インフラストラクチャをクリーンアップするには
-
AWS CloudFormation コンソールに移動し、 を選択します
aws-sam-cli-managed-default
。 -
リソース で、デプロイバケット を空にします
SamCliSourceBucket
。 -
aws-sam-cli-managed-default
スタックを削除します。 -
AWS SAM プロジェクトに関連付けられている AWS CloudFormation スタックを削除します。このスタックの名前はAWS SAMプロジェクトと同じである必要があります。
-
CloudWatch コンソールに移動し、 CodeBuild プロジェクトに関連付けられている CloudWatch ロググループを削除します。
-
CodeBuild コンソールに移動し、ビルド CodeBuild プロジェクトの削除 を選択してプロジェクトを削除します。