AWS Summit Tokyo 2017 の先行発売でゲットした「実践 AWS Lambda」をさっそく読んだ.Lambda の解説だけではなく,サーバレスの文脈で導入事例が増えてきたアーキテクチャ(ユースケース)の紹介がされていたり,サーバレスのデプロイツールとして AWS SAM の紹介がされていたりして,非常に良書だった.Amazon を見ると,一般発売は明日 6/9 になっていたので,気になる人はすぐに買うと良いのでは!

実践AWS Lambda ~「サーバレス」を実現する新しいアプリケーションのプラットフォーム~
- 作者: 西谷圭介
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/06/09
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
Chapter 3 AWS Lambdaの使い方
3-7 バージョニングとエイリアス
Lambda 関数の ARN にバージョンを付与して識別できるのは知らなかった.また,エイリアスを付けて運用できるのも知らなかった.実際に運用している Lambda 関数を見てみたところ,確かにバージョンなしの ARN もあったし,バージョンありの ARN もあった.ちなみに Lambda 関数は Apex でデプロイをしているため,Apex の実装を確認したら自動的に current
エイリアスを付与するようになっていた.おおお!
arn:aws:lambda:ap-northeast-1:111111111111:function:sample
arn:aws:lambda:ap-northeast-1:111111111111:function:sample:$LATEST
arn:aws:lambda:ap-northeast-1:111111111111:function:sample:50
arn:aws:lambda:ap-northeast-1:111111111111:function:sample:current
3-10 環境変数の利用
暗号化ヘルパーを使うと,環境変数を KMS で暗号化できるのを知った.今のところ,暗号化が必要な環境変数を使っていないため,普通に Apex の project.json
でベタ打ちして運用していた.
Chapter 4 プログラミングモデル
4-5 Lambda関数作成時のポイント
特定の言語に依存せず,対応言語全て (Node.js / Python / Java / C#) の解説があるのは素晴らしかった.また Lambda の特性に合ったアーキテクチャに関しては,AWS Summit Tokyo 2017 で講演があった内容とも似ていた.
Chapter 8 サーバレスアプリケーション開発のデプロイ
個人的に1番良かったのは AWS SAM の紹介がされていた点だった.今まで Lambda のデプロイなら Apex を使って,API Gateway が必要なときは Serverless Framework を使っていたけど,AWS から公式に提供された AWS SAM はずっと気になっていてまだ使ったことが無かった.現状サポートされているリソースは Lambda と API Gateway と DynamoDB とのことだが,CloudWatch Events もサポートされると良いなと思う.Apex もここはサポートしていなくて,自動化できなかった.
本書には記載がなかったけど,AWS SAM で Tracing を設定すれば X-Ray も合わせてデプロイとのこと.気になる!
www.slideshare.net
誤植
初版だからかもしれないけど,typo 系の誤植があって少し気になった.実際に5箇所を発見したため,マイナビに報告をしておいた.確認してもらえれば,以下のサポートサイトに反映されるのかな?と期待している.
まとめ
- Lambda を軸にサーバレス全体の理解を改めて整理できた
- 実際に Lambda + API Gateway + DynamoDB を使うチュートリアルも紹介されていて未経験者にも参考になる内容だった
- AWS SAM の紹介があり Lambda の運用まで考慮された解説範囲の広さだった
関連記事
先週参加した AWS Summit Tokyo 2017 の参加レポートも参照してもらえればと!
実際に運用している Lambda + Apex の事例も前にまとめていて参照してもらえればと!