Amazon Web Services ブログ
コンソールと IDE の統合および AWS Lambda のリモートデバッグでサーバーレス開発を簡素化
7 月 17 日、AWS Lambda の 2 つの重要な機能強化、すなわち、コンソールと IDE の統合、およびリモートデバッグを発表します。これにより、デベロッパーは、ローカル開発環境でサーバーレスアプリケーションを構築したり、デバッグしたりするのがこれまで以上に容易になります。これらの新機能は、2024 年後半にリリースされた強化されたコンソール内編集エクスペリエンスや改善されたローカル統合開発環境 (IDE) エクスペリエンスなど、Lambda 開発エクスペリエンスに対する最近の改善に基づいています。
サーバーレスアプリケーションを構築する際、デベロッパーは通常、ワークフローを合理化するために、ローカル開発環境のセットアップとクラウドデバッグ機能という 2 つの領域に重点的に取り組みます。デベロッパーはコンソールから IDE に関数を持ち込むことができますが、このプロセスをより効率的にする方法を模索しています。さらに、関数はクラウド内のさまざまな AWS サービスとインタラクションするため、デベロッパーは、開発サイクルで早めに問題を特定して解決するための、強化されたデバッグ機能を求めています。この機能を使用することで、ローカルエミュレーションへの依拠を減らし、開発ワークフローを最適化するのに役立ちます。
コンソールと IDE の統合
1 つ目の課題に対処するため、コンソールと IDE の統合を導入します。これにより、AWS マネジメントコンソールから Visual Studio Code (VS Code) へのワークフローが効率化されます。この新機能は、[Visual Studio Code で開く] ボタンを Lambda コンソールに追加します。これにより、デベロッパーは、ブラウザで関数を表示した後、迅速に IDE で編集できるようになるため、ローカル開発環境のための時間のかかるセットアッププロセスが不要になります。
コンソールと IDE の統合により、セットアッププロセスが自動的に処理され、VS Code のインストールと AWS Toolkit for VS Code の確認が行われます。すべてを既に設定済みのデベロッパーの場合、このボタンを選択するとすぐに VS Code で関数コードが開くため、編集を続行して、数秒で変更を Lambda にデプロイできます。VS Code がインストールされていない場合、デベロッパーはダウンロードページにリダイレクトされ、AWS Toolkit がない場合はインストールを促すメッセージが表示されます。
コンソールと IDE の統合を使用するには、新しい関数を作成した後に表示される [開始方法] のポップアップ、または既存の Lambda 関数の [コード] タブのいずれかで、[VS Code で開く] ボタンを見つけます。このボタンを選択すると、VS Code が自動的に開きます (必要に応じて AWS Toolkit がインストールされます)。コンソール環境とは異なり、統合ターミナルを備えた完全な開発環境にアクセスできるようになりました。これは、パッケージの管理 (npm install、pip install)、テストの実行、リンターやフォーマッターなどの開発ツールの使用が必要なデベロッパーにとって大きな改善です。コードを編集したり、新しいファイル/フォルダを追加したりできます。変更を加えると、自動デプロイプロンプトがトリガーされます。デプロイを選択すると、AWS Toolkit は自動的に関数を AWS アカウントにデプロイします。
リモートデバッグ
デベロッパーが IDE に関数を用意すると、リモートデバッグを使用して、AWS アカウントにデプロイされた Lambda 関数を VS Code から直接デバッグできます。リモートデバッグの主な利点は、他の AWS サービスと統合しながら、デベロッパーがクラウドで実行されている関数をデバッグできるようにするということです。これにより、開発の迅速化と信頼性の向上を実現できます。
リモートデバッグを使用すると、デベロッパーは、Amazon Virtual Private Cloud (VPC) リソースと AWS Identity and Access Management (AWS IAM) ロールへの完全なアクセスを使用して関数をデバッグできるため、ローカル開発とクラウド実行の間のギャップが解消されます。例えば、VPC 内の Amazon Relational Database Service (Amazon RDS) データベースとインタラクションする Lambda 関数をデバッグする場合、デベロッパーは、本番と一致しない可能性のあるローカル環境のセットアップに時間を費やすのではなく、クラウドで実行されている関数の実行環境を数秒以内にデバッグできるようになりました。
リモートデバッグの使用を開始するのは簡単です。デベロッパーは VS Code で Lambda 関数を選択し、数秒でデバッグを有効にすることができます。AWS Toolkit for VS Code は、関数コードを自動的にダウンロードし、安全なデバッグ接続を確立して、ブレークポイント設定を有効にします。デバッグが完了すると、AWS Toolkit for VS Code はデバッグ設定を自動的にクリーンアップし、本番トラフィックへの影響を防ぎます。
試してみましょう
リモートデバッグを試してみるために、Python で記述された基本的な「hello world」サンプル関数を使用して開始することにしました。この関数は、以前に AWS Lambda 用に AWS マネジメントコンソールを使用して作成したものです。AWS Toolkit for VS Code を使用すると、[エクスプローラー] ペインで関数に移動できます。関数の上にマウスを移動して右クリック (Windows の場合は Ctrl キーを押しながらクリック) すると、コードがローカルマシンにダウンロードされ、IDE で編集できるようになります。ファイルを保存すると、最新の変更を Lambda にデプロイするかどうかをたずねられます。
ここから再生アイコンを選択すると、関数の [リモート呼び出し設定] ページが開きます。このダイアログに [リモートデバッグ] オプションが表示されるので、関数ハンドラーコードのローカルコピーをポイントするように設定します。[リモート呼び出し] を選択する前に、左側の、コードを一時停止して検査する任意の場所でブレークポイントを設定できます。
コードは呼び出されるとクラウドで実行され、VS Code でステータスをリアルタイムでモニタリングできます。次のスクリーンショットでは、print ステートメントにブレークポイントが設定されているのがわかります。関数はコードのこの位置で実行を一時停止し、ローカル変数の値などを検査してから、次のブレークポイントに進んだり、コードを 1 行ずつステップインしたりできます。
ここでは、コードをステップインすることを選択しました。コードを 1 行ずつ実行していくと、IDE の左側にコンテキストとローカル変数およびグローバル変数が表示されます。さらに、IDE の下部にある [出力] タブでログを追跡できます。ステップスルーする中で、関数の実行によるログメッセージや出力メッセージがリアルタイムで表示されます。
強化された開発ワークフロー
これらの新機能は連携して動作し、より効率的な開発エクスペリエンスを実現します。デベロッパーはコンソールから開発を開始し、コンソールと IDE の統合を使用して VS Code に迅速に移行して、リモートデバッグを使用してクラウドで実行されている関数をデバッグできます。このワークフローにより、複数のツールや環境を切り替える必要がなくなります。これは、デベロッパーが問題をより迅速に特定して修正するのに役立ちます。
今すぐご利用いただけます
これらの新機能は、AWS Toolkit for VS Code (v3.69.0 以降) がインストールされた AWS マネジメントコンソールと VS Code を通じて利用を開始できます。コンソールと IDE の統合は、AWS GovCloud (米国) リージョンを除く、Lambda が利用可能なすべての商用 AWS リージョンでご利用いただけます。詳細については、Lambda および AWS Toolkit for VS Code のドキュメントをご覧ください。リモートデバッグ機能の詳細 (利用可能な AWS リージョンなど) については、AWS Toolkit for VS Code および Lambda のドキュメントにアクセスしてください。
コンソールと IDE の統合およびリモートデバッグは追加コストなしでご利用いただけます。リモートデバッグでお支払いいただくのは、デバッグセッションにおける標準の Lambda 実行コストのみです。リモートデバッグは、リリース時点では Python、Node.js、Java ランタイムをサポートし、将来的には他のランタイムにもサポートを拡大する予定です。
これらの機能強化は、サーバーレス開発エクスペリエンスの簡素化に向けた大きな前進であり、デベロッパーはこれまで以上に効率的に Lambda 関数を構築およびデバッグできるようになります。
原文はこちらです。