Weitere ähnliche Inhalte
Ähnlich wie [20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏 (20)
Mehr von Insight Technology, Inc. (20)
Kürzlich hochgeladen (12)
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
- 2. 自己紹介
• 名前 : 高橋 直樹(たかはし なおき)
• 仕事 : cloudpack エンジニア
• 好き : AWS, Python, C#, Vue.js,
• 趣味 : お酒・食事・勉強会参加・天一
• Facebook : /naoki.takahashi.39501
• Twitter : @uniunix
- 20. サーバーレスアーキテクチャの特徴
• LambdaとS3で構成した場合
1 か月に100万リクエスト、40万 GB-秒の使用時間は無料。
S3の静的ウェブサイトホスティングを利用する場合、
データ容量 : 最初の50TBまで $0.025/GBあたり月
データ転送料 : PUT, COPY, POST, LIST $0.0047 / 1000リクエスト
GET $0.0037/ 10000リクエスト
10Gの静的webサイトに、月100万アクセスがあるとして
$0.25 + アクセス($0.37) = $0.62 = 100円未満
- 26. 参照:
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invoking-lambda-function.html
• Amazon S3
• Amazon DynamoDB
• Amazon Kinesis Streams
• Amazon Simple Notification Service
• Amazon Simple Email Service
• Amazon Cognito
• AWS CloudFormation
• Amazon CloudWatch Logs
• Amazon CloudWatch Events
• AWS CodeCommit
• スケジュールされたイベント (Amazon CloudWatch Events を使用)
• AWS Config
• Amazon Alexa
• Amazon Lex
• Amazon API Gateway
• AWS IoT ボタン
• Amazon CloudFront
• Amazon Kinesis Firehose
• その他のイベントソース: オンデマンドで Lambda 関数を呼び出す
• イベントソースによって公開されたサンプルイベント
- 27. 参照:
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invoking-lambda-function.html
• Amazon S3
• Amazon DynamoDB
• Amazon Kinesis Streams
• Amazon Simple Notification Service
• Amazon Simple Email Service
• Amazon Cognito
• AWS CloudFormation
• Amazon CloudWatch Logs
• Amazon CloudWatch Events
• AWS CodeCommit
• スケジュールされたイベント (Amazon CloudWatch Events を使用)
• AWS Config
• Amazon Alexa
• Amazon Lex
• Amazon API Gateway
• AWS IoT ボタン
• Amazon CloudFront
• Amazon Kinesis Firehose
• その他のイベントソース: オンデマンドで Lambda 関数を呼び出す
• イベントソースによって公開されたサンプルイベント
おおいわ・・・
- 30. サーバーレスアーキテクチャの特徴
• Cloud Watch Eventsを利用したスケジューリング
定期的にLambdaを実行したい場合に使用します。
記載例)
rate(1 minute) ・・・ 1分ごとに実行
rate(5 minutes) ・・・ 5分ごとに実行
cron(* 2 * * ? * ) ・・・ 2時間ごとに実行
- 42. サーバーレス開発で気をつけるべきこと
• その1 ・・・ そのアーキテクチャでいいの?
本当にサーバーレスアーキテクチャが必要かをよく考え
る。 正直、開発はサーバーがある場合よりも苦労が多
いです。 その上、サーバーレスアーキテクチャでも、あ
まりにも呼び出し回数が多いようなサービスでは、あると
ころを境に価格が跳ね上がることがあります。
事前に、サーバーレスアーキテクチャが必要かどうかを
よく検討しましょう。
- 43. サーバーレス開発で気をつけるべきこと
• その2 ・・・ Lambda関数は小さく分ける
Lambdaで実装を行う場合、大きな一つのLambdaですべ
てを実装するのではなく「たくさんのLambdaが次々呼び
出されることで、全体のシステムが動く」ように、できるだ
け小さなLambdaの集合として作るようにします。
- 44. サーバーレス開発で気をつけるべきこと
• その3 ・・・ イベントソースについて
基本的には、API GatewayとCloudwatch Eventsで事足り
ると思いますが、むやみやたらに呼び出すのではなく、
例えば、API Gatewayを直接呼ぶのではなく、Cloud
Front経由でキャッシュを使用する。 などすることで、よ
りコストを抑えた設計が可能になります。
- 45. サーバーレス開発で気をつけるべきこと
• その4 ・・・ デプロイは自動化する
たくさんのLambdaを、AWS Consoleから管理するのは非
常に大変です。 Serverless Frameworkを使用して管理し
ましょう。 この際、共通のDeployment Bucketを指定して
置くことをお勧めします。
アカウントごとの S3 Bucket数には100という制限があるた
め、Lambdaが増えてくると制限を超えることがあります。
- 46. サーバーレス開発で気をつけるべきこと
• その5 ・・・ SEO対策について
Lambdaで動的にWebサイトを作成する際の注意点とし
て、SEO対策に弱くなる。ということが挙げられます。
これを回避するには、あらかじめLambdaでSSRをおこな
た結果をS3に保存して置くなど、一手間かける必要があ
ります。
- 47. サーバーレス開発で気をつけるべきこと
• その6 ・・・ 保守・運用について
サーバーレスでは、開発後の保守・運用・・・とくに運用
体制についてよく考えておかなければなりません。
サーバーレスでのエラーは、サーバー再起動で治ること
はないため、アラートが発生した場合に対応できるのは
開発者(かそれに類する人)だけという場合が多くなりま
す。 どのようにシステムを監視するか・・・そこまでをプ
ロジェクト開始前に検討しておきましょう。