Lambda の開始方法 - AWS Lambda

Lambda の開始方法

Lambda の使用を開始するには、Lambda コンソールを使用して関数を作成します。関数の作成は数分で完了し、その呼び出し、ログやメトリクスの表示、データの追跡を行えるようになります。

注記

Lambda および他の AWS のサービスを使用するには、AWS アカウントが必要です。アカウントをお持ちでない場合は、aws.amazon.com にアクセスして [Create an AWS Account] (AWS アカウントを作成) をクリックしてください。この手順については、「How do I create and activate a new AWS account? (新規アカウントを作成してアクティベートする方法を教えてください)」を参照してください。

ベストプラクティスは、管理者権限を持つ 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 種類のデプロイパッケージがサポートされます。

コンソールで Lambda の関数の作成

開始方法に関するこの演習では、コンソールを使用して Lambda 関数を作成します。この関数は、Lambda により生成されるデフォルトのコードを使用します。Lambda コンソールでは、コンパイルされていない言語用のコードエディタを提供しており、コードを素早く変更およびテストすることができます。言語コンパイルの後は、Lambda 関数コードをアップロードするために、.zip アーカイブのデプロイパッケージを作成する必要があります。

関数を作成する

Lambda コンソールを使用して Node.js Lambda 関数を作成します。Lambda は、関数のデフォルトコードを自動的に作成します。

コンソールで Lambda 関数を作成するには

  1. Lambda コンソールの [Functions] (関数) ページを開きます。

  2. [Create function] (関数の作成) を選択します。

  3. 基本的な情報 で、以下の作業を行います。

    1. [関数名] に「my-function」と入力します。

    2. [Runtime] (ランタイム) で、[Node.js 14.x] が選択されていることを確認します。Lambda は .NET (PowerShell、C#)、Go、Java、Node.js、Python、Ruby 用のランタイムを提供します。

  4. [Create function] (関数の作成) を選択します。

Lambda により、Node.js の関数と実行ロールが作成され、ログをアップロードするためのアクセス許可が関数に付与されます。この Lambda 関数は、ユーザーの関数が呼び出される際に実行ロールを引き受け、そのロールを使用して AWS SDK のための認証情報を作成し、イベントソースからデータを読み取ります。

Lambda 関数の呼び出し

コンソールで提供されているサンプルイベントデータを使用して Lambda 関数を呼び出します。

関数を呼び出すには

  1. 関数を選択した後、 テスト タブを選択します。

  2. テストイベント セクションで、 新しいイベント を選択します。 テンプレート で、デフォルトの hello-world オプションのままにします。[Name] (名前) にこのテストの名前を入力し、以下のサンプルイベントテンプレートに注目します。

    { "key1": "value1", "key2": "value2", "key3": "value3" }
  3. [Save changes] (変更の保存)、[Test] (テスト) の順に選択します。ユーザーごとに、関数につき最大 10 個のテストイベントを作成できます。これらのテストイベントを他のユーザーが使用することはできません。

    Lambda はユーザーに代わって関数を実行します。関数ハンドラーは、サンプルイベントを受け取って、処理します。

  4. 正常に完了したら、コンソールに結果が表示されます。

    • 実行結果には、実行ステータルが成功と表示されます。関数の実行結果を表示するためには、詳細を選択します。[Logs] (ログ) リンクをクリックすると、CloudWatch コンソールの [Log groups (ロググループ)] ページが開きます。

    • [Summary] セクションには、[Log output] セクション(実行ログの REPORT 行)にレポートされた重要な情報が表示されます。

    • [Log output] (ログ出力) セクションには、Lambda で各呼び出しに対して生成されるログが表示されます。関数によって、これらのログが CloudWatch に書き込まれます。Lambda コンソールに、これらのログが表示されるため便利です。[Click here] (ここをクリックしてください) を選択して CloudWatch ロググループに追加し、CloudWatch コンソールで [Log groups (ロググループ)] ページを開きます。

  5. 関数をさらに数回実行し ([Test] (テスト) を選択)、次のステップで表示される複数のメトリクスを収集します。

  6. [Monitor] (モニタリング) タブを選択します。このページでは、Lambda から CloudWatch に送信されるメトリクスのグラフが表示されます。

    これらのグラフの詳細Lambda コンソールでの関数のモニタリングを参照してください。

クリーンアップ

サンプル関数の使用が終了したら、削除します。コンソールが作成した実行ロールと、関数のログを保存するためのロググループも削除できます。

Lambda 関数を削除するには

  1. Lambda コンソールの [Functions] (関数) ページを開きます。

  2. 関数を選択します。

  3. [Actions] (アクション) で[Delete] (削除) を選択します。

  4. [関数の削除] ダイアログボックスで、[削除] を選択します。

ロググループを削除するには

  1. Amazon CloudWatch コンソールの [Log groups (ロググループ)] ページを開きます。

  2. 関数のロググループ (/aws/lambda/my-function) を選択します。

  3. [アクション]、[ロググループの削除] の順にクリックします。

  4. ロググループの削除ダイアログボックスで、[削除] をクリックします。

実行ロールを削除するには

  1. AWS Identity and Access Management (IAM) コンソールの [Roles (ロール)] ページを開きます。

  2. 関数のロール (my-function-role-31exxmpl) を選択します。

  3. [Delete role] (ロールの削除) を選択します。

  4. ロールの削除ダイアログボックスで、[はい、削除します] をクリックします。

AWS CloudFormation と AWS Command Line Interface (AWS CLI) を使用して、関数、ロググループ、ロールの作成とクリーンアップを自動化できます。完全に機能するサンプルアプリケーションについては、「Lambda サンプルアプリケーション」を参照してください。