Skip to Content
AWS Lambdaのプログラミング
book

AWS Lambdaのプログラミング

by John Chapin, Mike Roberts
March 2025
Intermediate to advanced
278 pages
4h 2m
Japanese
O'Reilly Media, Inc.
Book available
Content preview from AWS Lambdaのプログラミング

第3章 AWS Lambda関数のプログラミング

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

この章では、Lambda関数を構築するとはどういうことなのか、Lambda関数がどのように見えるのか、Lambda関数の実行方法をどのように設定するのか、独自の環境設定をどのように指定するのかを掘り下げていく。 Lambdaの実行環境、入力と出力、タイムアウト、メモリとCPU、そして最後に、Lambdaがアプリケーション設定のために環境変数をどのように使用するのか、といった核となる概念を検討することで、これらのトピックについて学んでいく。

手始めに、Lambda関数がどのように実行されるかを見てみよう。ハイキング・ブーツを手に、探検の時間だ。

核となる概念:ランタイムモデル、呼び出し

第2章で、あなたは 、Javaクラスを作成し、それを漠然とした「クラウド」のどこかにあるLambdaサービスにアップロードし、魔法のようにそのコードを実行することができた。 あなたは、オペレーティングシステム、コンテナ、スタートアップスクリプト、実際のホストへのコードのデプロイ、JVMの設定などを考慮する必要はなかった。 また、厄介な「サーバ」のことも考えなかった。では、あなたのコードはどのように実行されたのか?

これを理解するには、図3-1に示すように、まずLambda実行環境の基本を理解する必要がある。

images/ch03_image01.png
図3-1. Lambdaの実行環境

ラムダの実行環境

第2章「AWS CLIのインストール」参照)で触れたように、AWSの管理も関数の演算子(それぞれコントロールプレーンデータプレーンと呼ばれることが多い)も、APIを多用している。Lambdaも同様で、関数の管理と関数の実行の両方にAPIを提供している。

AWS Lambda APIのinvoke コマンドが呼び出されるたびに、 関数が実行、つまり呼び出しされる。 これは以下のタイミングで発生する:

  • 関数がイベントソースによってトリガーされた場合

  • ウェブ・コンソールでテスト・ハーネスを使用する場合

  • Lambda APIinvoke コマンドを自分のコードやスクリプトから自分で呼び出す場合、通常はCLIやSDKを使用する。

関数を初めて呼び出すと、次のような一連の動作が始まり、最終的にあなたのコードが実行される。

まず、LambdaサービスはホストLinux環境(軽量なマイクロ仮想マシン)を作成する。通常、どのような環境なのか(どのカーネルなのか、どのディストリビューションなのか、など)の正確な性質を気にする必要はないが、気にするのであれば、Amazonはその情報を公開している。Amazonは、Lambda関数のOSに頻繁に変更を加えることができ、また実際に行っている。

ホスト環境が作成されると、Lambdaはその中で言語ランタイム(ここではJava仮想マシン)を起動する。この記事を書いている時点では、JVMのバージョンは常にJava 8かJava 11だ。 Lambdaには、選択したJavaのバージョンと互換性のあるコードを提供しなければならない。 JVMは、変更できない環境フラグのセットで起動する。

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

AWS クックブック

AWS クックブック

John Culkin, Mike Zazon
入門 Kubernetes

入門 Kubernetes

Kelsey Hightower, Brendan Burns, Joe Beda, 松浦 隼人

Publisher Resources

ISBN: 9798341636026Supplemental Content