1. マネージメントサービス株式会社
Copyright Management Service Corp. All Rights Reserved.Copyright Management Service Corp. All Rights Reserved.
AWS Lambda
マネージメントサービス株式会社
デジタルビジネスイノベーションセンター
山本 友樹
2019
10-18
AWS若手勉強会#10
8. Copyright Management Service Corp. All Rights Reserved.
方法1
マネジメントコンソールから毎週月曜に9:00に開始させ、18:00に停止
する。
→毎週同じ時間に同じことをやるのはめんどい、しかも忘れるかも。
自動化したい。
8
9. Copyright Management Service Corp. All Rights Reserved.
方法2
下記のようなJavaを作成し、別のEC2インスタンスで毎時間動かす。
今が月曜の9:00のときに特定のEC2インスタンスを開始、
今が月曜の18:00のときに特定のEC2インスタンスを停止、
それ以外は何もしない
→別のEC2インスタンス作成するのがめんどい。EC2を作成するために、
VPCも作成しないといけなし、EC2でJavaが動く環境も作らないといけな
い。
さらにこのEC2も管理しないといけない・・・
9
10. Copyright Management Service Corp. All Rights Reserved.
そこでAWS Lambda
EC2インスタンスの作成必要なしで、Javaを動かすことができる。
Javaを動かす環境の作成も必要なく、コードを書けば実行できる。
→環境の構築に時間がとられずに済む。
10
24. Copyright Management Service Corp. All Rights Reserved.
24
IAMロールからどのAWSリソースにアクセス許
可されているか表示される
(テキトーなIAMロールだと、絶対に必要ない
AWSリソースが表示されて恥ずかしい(><))
25. Copyright Management Service Corp. All Rights Reserved.
25
インライン(マネジメントコンソールで編集)
以外にもローカルでプログラムを作成し、
zipファイルをアップロードすることが可能
Lambdaが呼ばれたときに実行されるものを
「ファイル名(拡張子なし).メソッド名」で指定する。
29. Copyright Management Service Corp. All Rights Reserved.
特徴
• オートスケール
• コードの実行時間のみの課金
• AWSサービスと連携させることが簡単
• サポートされている言語
29
30. Copyright Management Service Corp. All Rights Reserved.
オートスケール
オート(自動)でスケール(必要な量に拡大/縮小)する。
必要なリクエストに応えられるように水平方向に拡大/縮小される。
水平方向な拡大/縮小とは、Lambdaが必要な数に増えたり減ったりするこ
と。
30
31. Copyright Management Service Corp. All Rights Reserved.
コードの実行時のみの課金
リクエスト数 + メモリに応じた実行時間
※Lambdaが起動していないときは、課金されない。
31
32. Copyright Management Service Corp. All Rights Reserved.
AWSサービスと連携させることが簡単
様々なAWSサービスからLambdaを起動させることが簡単にできる。
S3にファイルがアップロードされたら・・・
DynamoDBにデータが登録されたら・・・
API Gatewayにリクエストがきたら・・・
ログ(CloudWatch)にエラーがXX件以上発生したら・・・
アプリケーションのデプロイ(配備)が完了したら・・・
あるAWSリソースに変更がされたら・・・
などなどなど・・・
この何か起きたときにLambdaが動き出すのでイベントドリブン(イベント
駆動型)と言ったりします。
32
33. Copyright Management Service Corp. All Rights Reserved.
サポートされている言語
• Java
• Go
• PowerShell
• Node.js
• C#
• Python
• Ruby
また、カスタムランタイムという仕組みを使って、少し努力すればその他
の言語も動かすことができます。
33
39. Copyright Management Service Corp. All Rights Reserved.
EC2
AWSが全世界で作成されるであろうサーバーを全て物理的に事前に準備し
て、ユーザがEC2を作成したら、用意していたサーバーを使ってもらう。
39
それは無理ゲー
40. Copyright Management Service Corp. All Rights Reserved.
仮想化
物理的には1台のサーバーのリソースを分割して、
あたかも複数のサーバーのように扱う仮想化という仕組みを使っ
ている。
40
現実 仮想化
100GB 20GB×5台
41. Copyright Management Service Corp. All Rights Reserved.
もう少し仮想化
物理的なサーバーを仮想化するソフトウェアをハイパーバイザー
という。
41
物理的なサーバー
ハイパーバイザー
仮想マシン(EC2)
OS
アプリ アプリ
仮想マシン(EC2)
OS
アプリ アプリ
仮想マシン(EC2)
OS
アプリ アプリ