Lambda 関数のローカル開発
Lambda 関数を Lambda コンソールから任意の統合開発環境 (IDE) に移動できます。IDE は、AWS SAM や AWS CDK といったその他のローカル開発オプションも使用できる、完全な開発環境を提供します。Lambda コンソールは関数を、Visual Studio Code、Kiro、Cursor で直接開くことができます。
ローカル開発の主要メリット
Lambda コンソールは関数をすばやく編集してテストする手段を提供しますが、ローカル開発はさらに高度な機能を提供します。
-
高度な IDE 機能: デバッグ、コード補完、リファクタリングツール
-
オフライン開発: クラウドデプロイ前に変更の作業とテストをローカルに実行
-
Infrastructure as Code 統合: AWS SAM、AWS CDK、Infrastructure Composer とのシームレスな併用
-
依存関係管理: 関数の依存関係を完全に制御
前提条件
Visual Studio Code、Kiro、Cursor を使用して Lambda 関数をローカルで開発する前に、以下の手順に従ってこれらをインストールする必要があります。
-
Visual Studio Code: インストール手順については「Visual Studio Code のダウンロード
」を参照してください。 -
Kiro: インストール手順については「Kiro を使い始める
」を参照してください。 -
Cursor: インストール手順については「Cursor をダウンロード
」を参照してください。
また、以下も必要になります:
-
AWS Toolkit for Visual Studio Code: Visual Studio Code のインストール手順については、「AWS Toolkit for Visual Studio Code のセットアップ」を参照してください。概要については、「AWS Toolkit for Visual Studio Code
」を参照してください。 -
AWS 認証情報: 認証情報の設定については、「Setting up your AWS credentials」を参照してください。
-
AWS SAM CLI: インストール手順については、「Installing the AWS SAM CLI」を参照してください。
-
インストール済みの Docker (オプションですが、ローカルテストに必要です): インストール手順については、「Get Docker
」を参照してください。
注記
AWS アカウントとプロファイルのローカルでの設定が既に完了している場合は、設定済みの AWS プロファイルに AdministratorAccess マネージドポリシーが追加されていることを確認してください。
認証とアクセスコントロール
Lambda 関数をローカルで開発するには、クラウドでの開発と同様に、ユーザーに代わって AWS リソースにセキュアにアクセスして管理するための AWS 認証情報が必要です。
AWS Toolkit for Visual Studio Code は、次の認証方法をサポートしています。
-
IAM ユーザーの長期認証情報
-
引き受けたロールからの一時的な認証情報
-
ID フェデレーション
-
AWS アカウントのルートユーザー認証情報 (非推奨)
このセクションでは、IAM ユーザーの長期的な認証情報を使用してこれらの認証情報を取得し、設定する方法について説明します。
IAM 認証情報を取得する
アクセスキーを持つ IAM ユーザーが既に存在する場合は、次のセクションのためにアクセスキー ID とシークレットアクセスキーの両方を準備しておきます。これらのキーがない場合は、次の手順に従ってキーを作成してください。
注記
リクエストを認証するために、アクセスキー ID とシークレットアクセスキーの両方を使用する必要があります。
IAM ユーザーとアクセスキーを作成する
-
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで [ユーザー] を選択します。
-
[ユーザーの作成] を選択します。
-
[ユーザー名] に名前を入力し、[次へ] を選択します。
-
[許可を設定] で [ポリシーを直接アタッチする] を選択します。
-
[AdministratorAccess] を選択し、[次へ] を選択します。
-
[ユーザーの作成] を選択します。
-
成功バナーで、[ユーザーを表示] を選択します。
-
[アクセスキーの作成] を選択します。
-
[ユースケース] に [ローカルコード] を選択します。
-
確認チェックボックスにチェックを入れてから、[次へ] を選択します。
-
(オプション) 説明タグ値を入力します。
-
[アクセスキーを作成] を選択します。
-
アクセスキーとシークレットアクセスキーは直ちにコピーしてください。このページを離れると、シークレットアクセスキーに再度アクセスすることはできません。
重要
シークレットキーを共有したり、ソースコントロールにコミットしたりすることが一切ないようにしてください。これらのキーはセキュアな方法で保存し、不要になったら削除します。
注記
詳細については、「IAM ユーザーガイド」の「AWS アカウントで IAM ユーザーを作成する」と「IAM ユーザーのアクセスキーを管理する」を参照してください。
AWS Toolkit を使用して AWS 認証情報を設定する
以下の表は、次の手順で完了する認証情報のセットアッププロセスを要約したものです。
| 対応方法 | 目的 |
|---|---|
| サインインパネルを開く | 認証を開始する |
| コマンドパレットを使用して [AWS 新しい接続を追加] を検索する | サインイン UI にアクセスする |
| IAM 認証情報を選択する | プログラム的なアクセス用にアクセスキーを使用する |
| プロファイル名、アクセスキー、シークレットキーを入力する | 接続用の認証情報を入力する |
| AWS Explorer の更新を表示する | 接続されていることを確認する |
次の手順を完了して AWS アカウントを認証します。
注記
次の手順は Visual Studio Code、Kiro、Cursor のいずれにも対応しています。Kiro と Cursor は Visual Studio Code 上に構築されているため、3 つの IDE すべてで認証フローは同じです。
-
使用する IDE でサインインパネルを開きます。
認証プロセスを開始するには、左側のナビゲーションペインにある AWS アイコンを選択するか、コマンドパレットを開き (Mac の場合は Cmd+Shift+P、Windows/Linux の場合は Ctrl+Shift+P)、[AWS 新しい接続を追加] を検索して選択します。
-
サインインパネルで [IAM 認証情報] を選択し、[続行] を選択します。
注記
続行するには、AWS の IDE 拡張機能がデータにアクセスできるようにする必要があります。
-
プロファイル名、アクセスキー ID、シークレットアクセスキーを入力し、[続行] を選択します。
-
AWS のサービスとリソースについて IDE の AWS Explorer をチェックして、接続を確認します。
長期的な認証情報を使用した認証の設定については、「Using long-term credentials to authenticate AWS SDKs and tools」を参照してください。
認証の設定については、「AWS Toolkit for Visual Studio Code User Guide」の「AWS IAM credentials」を参照してください。
コンソールからローカル開発への移行
注記
コンソール内で変更を行った場合は、デプロイされていない変更がないことを確認してからローカル開発に移行するようにしてください。
Lambda 関数を Lambda コンソールからローカルの IDE に移動するには、次の手順を実行します。
-
Lambda のコンソール
を開きます。 -
関数の名前を選択します。
-
[コードソース] タブを選択します。
-
ボタンの横にあるドロップダウン矢印を選択して、使用する IDE で関数を開きます。サポートされているオプションは、[Visual Studio Code で開く]、[Kiro で開く]、[Cursor で開く]です。
注記
IDE の選択が保持されます。IDE を選択すると、それ以降のアクセス時にはその IDE が最初に表示されます。
-
プロンプトが表示されたら、選択した IDE をブラウザが開くのを許可します。
IDE で関数を開くと、Lambda は、迅速なテストとデプロイのために設計された一時的な場所に、関数コードを伴うローカルプロジェクトを作成します。これには、ローカル開発に使用できる関数コード、依存関係、基本的なプロジェクト構造が含まれています。
注記
「IDE で開く」ボタンには AWS Toolkit バージョン 3.69.0 以降が必要です。これより前のバージョンの AWS Toolkit がインストールされていると、Cannot open the handler メッセージが表示される場合があります。この問題を解決するには、AWS Toolkit を最新バージョンに更新します。
IDE での AWS の使用に関する詳細については、「AWS Toolkit for Visual Studio Codeユーザーガイド」を参照してください。
関数のローカル使用
選択した IDE で関数を開いたら、次の手順に従って関数にアクセスし、管理します。次の例では、Visual Studio Code を使用しています。
-
サイドバーにある AWS アイコンを選択して、AWS Explorer を開きます。
-
AWS Explorer で、Lambda 関数があるリージョンを選択します。
-
選択したリージョンで Lambda セクションを展開して、関数を表示し、管理します。
IDE で関数を開くと、次を実行できます。
-
完全な言語サポートとコード補完を使用した関数コードの編集。
-
LocalStack 統合を使用して、DynamoDB テーブルからの読み取りや Amazon S3 バケットへの書き込みなど、実行中に他の AWS のサービスへの API コールを行う Lambda 関数をテストします。LocalStack は、サービス統合をテストするための完全なローカル開発環境を提供するクラウドサービスエミュレーターです。AWS SAM CLI を使用して、ローカルコンテナで関数をテストすることもできます。関数が他の AWS のサービスへの API コールを行う場合、それらのコールはエミュレートされたリソースではなく実際の AWS リソースに到達します。
-
ブレークポイントと変数検査を使用した関数のデバッグ。詳細については、AWS Toolkit for Visual Studio Codeユーザーガイドの「コードから直接 Lambda 関数を実行およびデバッグする」を参照してください。
-
クラウドアイコンを使用した、AWS への更新済み関数のデプロイ。
-
関数の依存関係のインストールと管理。
関数を AWS SAM テンプレートに変換して IaC ツールを使用する
サポートされているすべての IDE (Visual Studio Code、Kiro、Cursor) で、Lambda 関数を AWS SAM テンプレートに変換できます。これは、Lambda 関数の横にある [AWS SAM アプリケーションに変換] アイコンを選択することで行います。AWS SAM プロジェクトの場所を選択するように求めるプロンプトが表示されます。選択すると、Lambda 関数が template.yaml ファイルに変換されます。このファイルは、新しい AWS SAM プロジェクトに保存されます。
関数を AWS SAM テンプレートに変換することで、以下を実行できます。
インフラストラクチャのバージョニング制御
デプロイの自動化
関数のリモートデバッグ
アプリケーションへの AWS リソースの追加
開発ライフサイクル全体で一貫した環境の維持
AWS SAM テンプレートを視覚的に編集するための Infrastructure Composer の使用
IaC ツールの使用に関する詳細については、以下のガイドを参照してください。
これらのツールは、サーバーレスアプリケーションを定義、テスト、デプロイするための追加機能を提供します。
次のステップ
Visual Studio Code での Lambda 関数の使用に関する詳細については、以下のリソースを参照してください。
-
「AWS Toolkit for Visual Studio Code ユーザーガイド」の「AWS Lambda 関数の使用」
-
「AWS Toolkit for Visual Studio Code ユーザーガイド」の「サーバーレスアプリケーションの使用」
-
「Lambda デベロッパーガイド」の「Infrastructure as code」