関連サイト
本書の関連ページが用意されています。
内容紹介
AWSで展開されている現行システムのほとんどは、開発したプログラムを動かすために、仮想サーバーとしてEC2インスタンスを利用しています。仮想サーバーという違いこそあれ、構成そのものは、オンプレミスのときと大きく変わっていません。
この構成を大きく変えるのが、AWS Lambdaです。Lambdaは、サーバーを必要としないプログラムの実行環境です。開発者が処理したい内容を小さな関数として実装すると、必要に応じて、それが実行される仕組みです。
サーバーを必要としないということは、運用の手間やコストを削減できるということです。この利点はとても大きいので、新規の開発案件では、Lambdaが採用されるケースが増えてきました。しかし、Lambdaに魅力があるからといって、すぐに移行できるほど話は簡単ではありません。従来のEC2インスタンスを使った開発とLambdaを使った開発とでは、プログラミングの方法はもちろん、設計の考え方も大きく異なるからです。Lambdaを使い始めるには、Lambdaの仕組みの理解と、その特性を活かした設計の考え方を習得することが不可欠です。
本書では、従来のシステムをLambdaで構築するときの設計手法や具体的な事例の作成を通じてLambdaでのプログラミング手法を解説します。とくにLambdaを使った開発では、AWSサービスの操作に重きを置きます。Lambdaを活かせるかどうかは、AWSの各種サービス――ストレージのS3、プッシュサービスのSNS、メール送信のSESなど――を、いかに使いこなせるかに左右されます。そこで本書では、実例を通じて、そうしたAWSサービスの実際の使い方にも言及されています。
書誌情報
- 著者: 大澤文孝
- 発行日: 2017-10-16 (紙書籍版発行日: 2017-10-16)
- 最終更新日: 2020-04-21
- バージョン: 1.2.0
- ページ数: 328ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
AWSにレガシーなシステムを移行し、運用しているIT技術者。AWSの利用経験はあり、コスト削減や開発効率の改善に貢献する、クラウドネイティブなシステムの構築や技術に関心のあるAWS利用者
著者について
大澤文孝
テクニカルライター/プログラマー、情報処理資格としてセキュリティスペシャリスト、ネットワークスペシャリストを取得。Webシステムの設計・開発とともに、長年の執筆活動のなかで、電子工作、Webシステム、プログラミング、データベースシステム、パブリッククラウドに関する書籍を多数執筆している。近年のクラウド関連の書籍としては、『さわってわかる機械学習 Azure Machine Learning 実践ガイド』(共著:日経BP)、『Amazon Web Servicesクラウドデザインパターン実装ガイド』(共著:日経BP)『Amazon Web ServicesではじめるWebサーバ』(工学社)などがある。
目次
はじめに
本書の構成
第 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 まとめ
第 3 章 AWS Lambda の仕組み
- 3-1 イベントの発生とLambda 関数/3-2 Lambda コンテナ
- 3-3 Lambda 関数の実行
- 3-4 Lambda 関数を呼び出すイベントソース
- 3-5 定期的に Lambda 関数を実行する例
- 3-6 まとめ
第 4 章 S3 のイベント処理
- 4-1 S3 のイベント事例
- 4-2 S3 バケットの作成
- 4-3 S3 バケットに対するイベント
- 4-4 ライブラリ込みの Lambda 関数の作成
- 4-5 まとめ
第 5 章 API Gateway、DynamoDB、SES との連携
- 5-1 API Gateway のイベント事例
- 5-2 API Gateway と Lambda 関数を組み合わせる
- 5-3 API Gateway から実行される Lambda 関数を作る
- 5-4 DynamoDB の基本
- 5-5 Lambda 関数で DynamoDB にアクセスする
- 5-6 署名付き URL を発行する
- 5-7 メールの送信
- 5-8 クロスオリジンの場合の注意点
- 5-9 まとめ
第 6 章 SQS と SNS トピックを使った連携
- 6-1 SQS と SNS トピックのイベント事例
- 6-2 DynamoDB テーブルによるメールアドレス管理
- 6-3 S3 バケットとSQS を構成する
- 6-4 SQS からメッセージを取り出してメールを送信する
- 6-5 バウンスメールを処理する
- 6-6 まとめ