1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCodeを使ったlambda開発がとっても捗るようになった件。

Last updated at Posted at 2025-07-20

はじめに

2025/7/17に以下のラムダのアップデートがありました。

VSCodeを使ったLambdaの開発が今回のアップデートでより簡単になりましたよ。ってアップデートみたいです。

やってみよ!

早速試してみます。

今回紹介する機能のうち、どれが今回のアップデートが正直よくわかっていないので、一部既存の機能を説明しているかもです…

マネコンからVSCodeを起動

マネコンからLambdaのコード修正を行うところを見てみると、Open in Visual Studio Codeが増えているので、ここを選択します。

あとは、画面の案内のまま進めていくと、VSCodeが起動し、ソースを編集できるようになります。

スクリーンショット 2025-07-20 5.14.14.png

スクリーンショット 2025-07-20 5.14.26.png

スクリーンショット 2025-07-20 5.15.07.png

スクリーンショット 2025-07-20 5.15.20.png

無事開けました!

image.png

また、開くとこんな案内が出てました。

スクリーンショット 2025-07-20 5.18.44.png

以降、これに従って動作確認してみます。

Lambda関数の編集、デプロイ

VSCodeで適当な編集を加え、保存すると右端にデプロイするかを聞かれますので、ここでDeployを選ぶとクラウド上に変更が適用されます。

image.png

スクリーンショット 2025-07-20 6.13.36.png

Lambda関数を実行

左のAWS ToolKitアイコンから、対象のLambdaを選択し、再生ボタンを押します。

スクリーンショット 2025-07-20 6.25.28.png

次の画面でリモートデバッグや、イベントの指定ができます。

スクリーンショット 2025-07-21 5.00.46.png

まず普通に起動してみます。

image.png

おお、きちんとログが確認できるので便利です!

リモートデバッグ

次に関数実行時に、Remoto debuggingのチェックを有効にし、Local root pathをいずれかの方法で指定しておくと、ブレークポイントを指定したデバッグができました。

スクリーンショット 2025-07-20 19.02.54.png

ローカル開発と同じようにデバッグができ、とっても便利です!

スクリーンショット 2025-07-20 5.31.55.png

なお、ブレークポイントで止まっている時間もログ上では課金されている模様…?

ブレークポイントを設定し、30秒程度放置した結果のログを見ると、Billed Durationにも停止時間が含まれている模様です。

REPORT RequestId: ac95cf33-c7d4-4a27-a1b3-ba89a7a0c83a Duration: 38447.52 ms Billed Duration: 38448 ms Memory Size: 128 MB Max Memory Used: 82 MB

リモートデバッグはどうやって実現しているの?

テスト対象関数のタイムアウト値を超えた時間のデバッグはどうやって実現してるんだろう?と思い、調べてみると以下記事が見当たりました。

AWS Toolkit は、Lambda 関数に Lambda デバッグレイヤーを追加し、Lambda 呼び出しのタイムアウト制限を 900 秒まで延長することで、リモートデバッグを可能にします。

ただ、リモートデバッグ中の関数をマネコン上で確認しても、タイムアウト値が伸びていたり、デバッグ用のレイヤーが追加されているようには見えませんでした。

AWS SAMプロジェクトへの変換

次はAWS SAMプロジェクトへの変換をしてみます。

スクリーンショット 2025-07-20 19.22.21.png

プロジェクト保存場所を選択し、その後スタック名も指定します。
プロジェクト作成だけではなく、デプロイまでしてくれそうです!

スクリーンショット 2025-07-20 19.30.14.png

しばらく待って出来上がった資材がこれ。

スクリーンショット 2025-07-20 19.35.59.png

ちょっと名前が変な感じですがAWS SAMのプロジェクトへ変換されてました。
sam build sam validateも問題なく通ってました。

なお、このような周辺にサービスが紐づいている場合はLambdaに紐作くリソースのみ、SAM Projectに関連づけられるみたいです。

スクリーンショット 2025-07-21 4.02.46.png

このケースだと、DynamoDBは関係付けられず、イベントソースマッピングのみ、SAMプロジェクトの中に定義されていました。

image.png

さいごに

元々AWS SAMを使えば、ローカルでも良い開発体験が出来たんだけど、Lambda単体のみでも開発体験が良くなったんだなーって感じました。

またAWS SAMへの変換も簡単にできるみたいなので、今回取り上げてみました。

誰かのお役に立てば幸いですー!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?