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.
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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

AWS におけるセキュリティとマイクロサービスアーキテクチャ

AWS におけるセキュリティとマイクロサービスアーキテクチャ

Gaurav Raje
AWS クックブック

AWS クックブック

John Culkin, Mike Zazon
ハンズオン AWS CDK

ハンズオン AWS CDK

Sam Ward Biddle, Kyle T. Jones
Hands-On AWS CDK

Hands-On AWS CDK

Sam Ward Biddle, Kyle T. Jones

Publisher Resources

ISBN: 9798341636026