Lambda の開始方法
Lambda の使用を開始するには、Lambda コンソールを使用して関数を作成します。関数の作成は数分で完了し、その呼び出し、ログやメトリクスの表示、データの追跡を行えるようになります。
Lambda および他の AWS のサービスを使用するには、AWS アカウントが必要です。アカウントをお持ちでない場合は、aws.amazon.com
ベストプラクティスは、管理者権限を持つ AWS Identity and Access Management (IAM) ユーザーを作成した上で、ルート認証情報が不要なすべての作業でその IAM ユーザーを使用することです。コンソールアクセス用のパスワードと、コマンドラインツールを使用するためのアクセスキーを、それぞれ作成します。手順については、IAM ユーザーガイドの「最初の IAM 管理ユーザーおよびグループの作成」を参照してください。
Lambda コンソールの関数は、IDE ツールキット、コマンドラインツール、AWS SDK を使用して作成できます。Lambda コンソールでは、コンパイルされていない言語用のコードエディタを提供しており、コードを素早く変更およびテストすることができます。AWS Command Line Interface (AWS CLI) を使用すると、アドバンスト設定やオートメーションのユースケースのための Lambda API に直接アクセスできます。
デプロイパッケージを使用して、関数コードを Lambda にデプロイします。Lambda では、次の 2 種類のデプロイパッケージがサポートされます。
関数コードとその依存関係を格納している ZIP ファイルアーカイブ。詳細については、「Lambda の開始方法」を参照してください。
Open Container Initiative (OCI)
の仕様に準拠したコンテナーイメージ。
コンソールで Lambda の関数の作成
開始方法に関するこの演習では、コンソールを使用して Lambda 関数を作成します。この関数は、Lambda により生成されるデフォルトのコードを使用します。Lambda コンソールでは、コンパイルされていない言語用のコードエディタを提供しており、コードを素早く変更およびテストすることができます。言語コンパイルの後は、Lambda 関数コードをアップロードするために、.zip アーカイブのデプロイパッケージを作成する必要があります。
関数を作成する
Lambda コンソールを使用して Node.js Lambda 関数を作成します。Lambda は、関数のデフォルトコードを自動的に作成します。
コンソールで Lambda 関数を作成するには
Lambda コンソールの [Functions
] (関数) ページを開きます。 -
[Create function] (関数の作成) を選択します。
-
基本的な情報 で、以下の作業を行います。
-
[関数名] に「
my-function
」と入力します。 -
[Runtime] (ランタイム) で、[Node.js 14.x] が選択されていることを確認します。Lambda は .NET (PowerShell、C#)、Go、Java、Node.js、Python、Ruby 用のランタイムを提供します。
-
-
[Create function] (関数の作成) を選択します。
Lambda により、Node.js の関数と実行ロールが作成され、ログをアップロードするためのアクセス許可が関数に付与されます。この Lambda 関数は、ユーザーの関数が呼び出される際に実行ロールを引き受け、そのロールを使用して AWS SDK のための認証情報を作成し、イベントソースからデータを読み取ります。
Lambda 関数の呼び出し
コンソールで提供されているサンプルイベントデータを使用して Lambda 関数を呼び出します。
関数を呼び出すには
-
関数を選択した後、 テスト タブを選択します。
-
テストイベント セクションで、 新しいイベント を選択します。 テンプレート で、デフォルトの hello-world オプションのままにします。[Name] (名前) にこのテストの名前を入力し、以下のサンプルイベントテンプレートに注目します。
{ "key1": "value1", "key2": "value2", "key3": "value3" }
-
[Save changes] (変更の保存)、[Test] (テスト) の順に選択します。ユーザーごとに、関数につき最大 10 個のテストイベントを作成できます。これらのテストイベントを他のユーザーが使用することはできません。
Lambda はユーザーに代わって関数を実行します。関数ハンドラーは、サンプルイベントを受け取って、処理します。
-
正常に完了したら、コンソールに結果が表示されます。
-
実行結果には、実行ステータルが成功と表示されます。関数の実行結果を表示するためには、詳細を選択します。[Logs] (ログ) リンクをクリックすると、CloudWatch コンソールの [Log groups (ロググループ)] ページが開きます。
-
[Summary] セクションには、[Log output] セクション(実行ログの REPORT 行)にレポートされた重要な情報が表示されます。
-
[Log output] (ログ出力) セクションには、Lambda で各呼び出しに対して生成されるログが表示されます。関数によって、これらのログが CloudWatch に書き込まれます。Lambda コンソールに、これらのログが表示されるため便利です。[Click here] (ここをクリックしてください) を選択して CloudWatch ロググループに追加し、CloudWatch コンソールで [Log groups (ロググループ)] ページを開きます。
-
-
関数をさらに数回実行し ([Test] (テスト) を選択)、次のステップで表示される複数のメトリクスを収集します。
-
[Monitor] (モニタリング) タブを選択します。このページでは、Lambda から CloudWatch に送信されるメトリクスのグラフが表示されます。
これらのグラフの詳細Lambda コンソールでの関数のモニタリングを参照してください。
クリーンアップ
サンプル関数の使用が終了したら、削除します。コンソールが作成した実行ロールと、関数のログを保存するためのロググループも削除できます。
Lambda 関数を削除するには
Lambda コンソールの [Functions
] (関数) ページを開きます。 -
関数を選択します。
-
[Actions] (アクション) で[Delete] (削除) を選択します。
-
[関数の削除] ダイアログボックスで、[削除] を選択します。
ロググループを削除するには
-
Amazon CloudWatch コンソールの [Log groups (ロググループ)] ページ
を開きます。 -
関数のロググループ (
/aws/lambda/my-function
) を選択します。 -
[アクション]、[ロググループの削除] の順にクリックします。
-
ロググループの削除ダイアログボックスで、[削除] をクリックします。
実行ロールを削除するには
-
AWS Identity and Access Management (IAM) コンソールの [Roles (ロール)] ページ
を開きます。 -
関数のロール (
my-function-role-
) を選択します。31exxmpl
-
[Delete role] (ロールの削除) を選択します。
-
ロールの削除ダイアログボックスで、[はい、削除します] をクリックします。
AWS CloudFormation と AWS Command Line Interface (AWS CLI) を使用して、関数、ロググループ、ロールの作成とクリーンアップを自動化できます。完全に機能するサンプルアプリケーションについては、「Lambda サンプルアプリケーション」を参照してください。