関連サイト
本書の関連ページが用意されています。
内容紹介
本書では、従来のシステムをLambdaで構築するときの設計手法や具体的な事例の作成を通じてLambdaでのプログラミング手法を解説します。第2版では、2022年の最新情報にアップデート、SAM開発環境に対応しました。
AWS Lambdaは、サーバーを必要としないプログラムの実行環境です。開発者が処理したい内容を小さな関数として実装すると、必要に応じて、それが実行される仕組みです。
サーバーを必要としないということは、運用の手間やコストを削減できるということです。この利点はとても大きいため、新規の開発案件では、Lambdaが採用されるケースが増えています。しかし、Lambdaによる開発に大きなメリットがあるといっても、すぐに移行できるほど話は簡単ではありません。従来のEC2インスタンスを使った開発とLambdaを使った開発とでは、プログラミングの方法はもちろん、設計の考え方も大きく異なるからです。Lambdaを使い始めるには、Lambdaの仕組みの理解と、その特性を活かした設計の考え方を習得することが不可欠です。
本書では、従来のシステムをLambdaで構築するときの設計手法や具体的な事例の作成を通じてLambdaでのプログラミング手法を解説します。とくにLambdaを使った開発では、AWSサービスの操作に重きを置きます。Lambdaを活かせるかどうかは、AWSの各種サービス――ストレージのS3、プッシュサービスのSNS、メール送信のSESなど――を、いかに使いこなせるかに左右されます。そこで本書では、実例を通じて、そうしたAWSサービスの実際の使い方にも言及されています。
書誌情報
- 著者: 大澤 文孝
- 発行日: 2022-03-03 (紙書籍版発行日: 2022-03-03)
- 最終更新日: 2023-07-11
- バージョン: 1.0.0
- ページ数: 528ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
AWSにレガシーなシステムを移行し、運用しているIT技術者。AWSの利用経験はあり、コスト削減や開発効率の改善に貢献する、クラウドネイティブなシステムの構築や技術に関心のあるAWS利用者。
著者について
大澤 文孝
技術ライター/プログラマー、情報処理資格としてセキュリティスペシャリスト、ネットワークスペシャリストを取得。Webシステムの設計・開発とともに、長年の執筆活動のなかで、電子工作、Webシステム、プログラミング、データベースシステム、パブリッククラウドに関する書籍を多数出版している。著書は、もうすぐ100冊。主な著書として、『かんたん理解 正しく選んで使うためのクラウドのきほん』(共著:マイナビ出版)、『さわって学ぶクラウドインフラ docker基礎からのコンテナ構築』(共著:日経BP)、『Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版』(共著:日経BP)、『ゼロからわかる Amazon Web Services超入門』(技術評論社)、『Amazon Web Servicesネットワーク入門』(インプレス)などがある。
目次
はじめに
- 本書の構成
- 本書の進め方
第1章 Lambda で実現するサーバーレスシステム
- 1-1 管理の手間を軽減しコスト削減を実現する Lambda
- 1-2 イベントドリブンの糊付けプログラミング
- 1-3 まとめ
第2章 Lambda 事始め
- 2-1 Lambda を使う上で理解したいこと
- 2-2 本章で作るシンプルな Lambda 関数
- 2-3 Lambda 関数の構造と設計
- 2-4 Lambda の利用に必要なアクセス権
- 2-5 Lambda 関数の作成・登録
- 2-6 Lambda 関数のテスト
- 2-7 まとめ
第3章 Lambda の実行環境とイベント
- 3-1 Lambda 関数の実行環境とランタイム
- 3-2 Lambda ランタイム環境の再利用
- 3-3 同時実行とプロビジョニング
- 3-4 イベントモデル
- 3-5 Lambda 関数を呼び出すイベントソース
- 3-6 定期的に Lambda 関数を実行する例
- 3-7 バージョニングとエイリアス
- 3-8 Lambda のネットワーク
- 3-9 まとめ
第4章 Lambda の開発環境と SAM
- 4-1 Lambda 開発の流れ
- 4-2 Serverless Application Model
- 4-3 Cloud9 を使った Lambda 開発
- 4-4 Cloud9 を使った SAM 開発の実例
- 4-5 ローカル環境における Lambda 関数の呼び出し
- 4-6 まとめ
第5章 S3 のイベント処理
- 5-1 S3 イベントの事例
- 5-2 S3 バケットの作成とアクセス権の設定
- 5-3 SAM プロジェクトを作る
- 5-4 S3 バケットに対するイベント
- 5-5 デプロイとイベントソースの設定
- 5-6 別のバケットにファイルを書き出す
- 5-7 外部のライブラリを利用する
- 5-8 SAM を使って既存 S3 バケットに対して Lambda 関数のトリガーを設定する
- 5-9 まとめ
第6章 API Gateway、DynamoDB、SES との連携
- 6-1 API Gateway イベントの事例
- 6-2 API Gateway と Lambda 関数を組み合わせる
- 6-3 API Gateway と Lambda 関数を作る
- 6-4 API Gateway を呼び出す HTML フォームを作って S3 に配置する
- 6-5 DynamoDB の基本
- 6-6 Lambda 関数で DynamoDB にアクセスする
- 6-7 署名付き URL を発行する
- 6-8 メールの送信
- 6-9 カスタムドメインの導入
- 6-10 SAM を使った開発
- 6-11 まとめ
第7章 SQS やSNS を使った連携
- 7-1 SQS と SNS トピックのイベント事例
- 7-2 DynamoDB テーブルによるメールアドレス管理
- 7-3 S3 バケットと SQS を構成する
- 7-4 SQS からメッセージを取り出してメールを送信する
- 7-5 バウンスメールを処理する
- 7-6 SAM で構成する
- 7-7 X-Ray を使った分析
- 7-8 まとめ