Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Serverless Framework使ってる話
@tnaototo
Naoto Teruya
RyukyuInteractive, Inc.
Developer
- 琉球インタラクティブ所属
- エンジニアやってます
- インフラも見てます
- マネジメントも(ちょっと)やってます
- めんどくさがり
- ビール大好き
- スプラトゥーン大好き
- Ingressやってます(が、ルールわかってない)
自...
- なんでServerless Framework?
- v0.5.6の使い方
- 失敗したこと
話すこと
- AWS Lambda + Node.jsでの開発
- v1.0について
話さないこと
- AWS Lambda + Node.jsでの開発
- v1.0について
話さないこと
本スライド及びDemoは
Serverless Framework v0.5.6
で記載しています
注意点
- 導入経緯
- Serverless Frameworkとは
- Demo
- 失敗したことなどなど
- まとめ
アジェンダ
導入経緯
- 行動履歴を取得したい
導入経緯
- 行動履歴を取得したい
- リアルタイムじゃないからSQSに
導入経緯
- 行動履歴を取得したい
- リアルタイムじゃないからSQSに
- EC2で受け口作るのはちょっと・・
導入経緯
- 行動履歴を取得したい
- リアルタイムじゃないからSQSに
- EC2で受け口作るのはちょっと・・
- API Gateway + AWS Lambdaで動
作確認はできている(手動)
導入経緯
イメージ
- 行動履歴を取得したい
- リアルタイムじゃないからSQSに
- EC2で受け口作るのはちょっと・・
- API Gateway + AWS Lambdaで動
作確認はできている(手動)
- 手動でポチポチしたくない
導入経緯
- 行動履歴を取得したい
- リアルタイムじゃないからSQSに
- EC2で受け口作るのはちょっと・・
- API Gateway + AWS Lambdaで動
作確認はできている(手動)
- 手動でポチポチしたくない
- コードで管理したい(...
ググる
ありました
Serverless Framework
https://github.com/serverless/serverless
- API Gateway、Lambdaのデプロイ
- Lambdaの実行
- Lambdaのログ表示
- ステージでの管理
- IAM Roleの作成
などなど
Serverless Frameworkでできること
- API Gateway、Lambdaのデプロイ
- Lambdaの実行
- Lambdaのログ表示
- ステージでの管理
- IAM Roleの作成
などなど
Serverless Frameworkでできること
- 行動履歴を取得したい
- リアルタイムじゃないからSQSに
- EC2で受け口作るのはちょっと・・
- API Gateway + AWS Lambdaで動
作確認はできている(手動)
- 手動でポチポチしたくない
- コードで管理したい(...
- 行動履歴を取得したい
- リアルタイムじゃないからSQSに
- EC2で受け口作るのはちょっと・・
- API Gateway + AWS Lambdaで動
作確認はできている(手動)
- 手動でポチポチしたくない
- コードで管理したい
...
ステキすぎる・・
Demo
- インストール
- Lambdaファンクション作成
- Lambdaデプロイ
- API Gatewayにデプロイ
※事前に実行用IAM Userを作る必要あり
Demo
$ npm install serverless@0.5.6 -g
$ sls -v
$ sls project create -s dev
$ tree
$ sls function create functions/demo
$ tree
...
ステキさが伝わりました?
Demo その2
- API + 簡易フォーム
- もちろんサーバーレス!
- G◯◯gle F◯rmでもいいけど、
独自デザインで(ry
- 落ちてると面倒なことに
- クレームになりやすい
Demo その2 – お問い合わせAPI
Demo その2 – お問い合わせAPI
Demo その2 – お問い合わせAPI
ソース
https://github.com/naotty/contact-api
※不具合があっても自己責任でお願いします
Demo その2 – お問い合わせAPI
事前準備
- Serverless Framework用IAM User
- SNS Topic
- SubscriptionはEmail
Demo その2 – お問い合わせAPI
デプロイ・動作確認
(Readmeの内容をなぞります・・)
Demo その2 – お問い合わせAPI
ステキですね
失敗したことなどなど
- _metaにあるファイルはデフォルト
で.gitignore されているので、作り直し
で消える
失敗したことなどなど
- プロジェクトを消す
失敗したことなどなど
- $ sls project remove で消えることは
消えるが、全ステージが消える・・
- _metaの中身は消えるので、ちゃん
とステージを指定する
- $ sls project rem...
- API Gatewayデプロイ時の -a オプション
失敗したことなどなど
- このオプションを付けないとOPTIONS
メソッドが生成されず、CORSやx-api-
keyカスタムヘッダーを使う時に403エ
ラーになる
- 新しくステージを作る
失敗したことなどなど
- 変数ファイルが作成時に作られるため、
それを見る箇所があるとエラーで止まる
- 対策
CloudFormation無しで作る
$ sls project create -c true
変数セッ...
- 付与しないといけない権限が強い
- APIキーの設定は手動
- API Gateway、Lambdaの削除は手動
- 消えゆくv0.5・・
その他
- Serverless Framework使えば
API Gateway・Lambdaをコード管理可能
- デプロイも簡単
- サーバーレス最高
まとめ
質問ありますか?
ご清聴ありがとうございました
焦るんじゃない、
俺は開発に集中したいだけなんだ
Upcoming SlideShare
Loading in …5
×

Serverless Framework 使ってる話(node.js)

1,340 views

Published on

JAWS-UG沖縄 真夏の熱すぎるサーバレス祭り! 2016年08月 で発表したスライドです。

Published in: Engineering
  • Be the first to comment

Serverless Framework 使ってる話(node.js)

  1. 1. Serverless Framework使ってる話 @tnaototo Naoto Teruya RyukyuInteractive, Inc. Developer
  2. 2. - 琉球インタラクティブ所属 - エンジニアやってます - インフラも見てます - マネジメントも(ちょっと)やってます - めんどくさがり - ビール大好き - スプラトゥーン大好き - Ingressやってます(が、ルールわかってない) 自己紹介 Naoto Teruya (@tnaototo)
  3. 3. - なんでServerless Framework? - v0.5.6の使い方 - 失敗したこと 話すこと
  4. 4. - AWS Lambda + Node.jsでの開発 - v1.0について 話さないこと
  5. 5. - AWS Lambda + Node.jsでの開発 - v1.0について 話さないこと
  6. 6. 本スライド及びDemoは Serverless Framework v0.5.6 で記載しています 注意点
  7. 7. - 導入経緯 - Serverless Frameworkとは - Demo - 失敗したことなどなど - まとめ アジェンダ
  8. 8. 導入経緯
  9. 9. - 行動履歴を取得したい 導入経緯
  10. 10. - 行動履歴を取得したい - リアルタイムじゃないからSQSに 導入経緯
  11. 11. - 行動履歴を取得したい - リアルタイムじゃないからSQSに - EC2で受け口作るのはちょっと・・ 導入経緯
  12. 12. - 行動履歴を取得したい - リアルタイムじゃないからSQSに - EC2で受け口作るのはちょっと・・ - API Gateway + AWS Lambdaで動 作確認はできている(手動) 導入経緯
  13. 13. イメージ
  14. 14. - 行動履歴を取得したい - リアルタイムじゃないからSQSに - EC2で受け口作るのはちょっと・・ - API Gateway + AWS Lambdaで動 作確認はできている(手動) - 手動でポチポチしたくない 導入経緯
  15. 15. - 行動履歴を取得したい - リアルタイムじゃないからSQSに - EC2で受け口作るのはちょっと・・ - API Gateway + AWS Lambdaで動 作確認はできている(手動) - 手動でポチポチしたくない - コードで管理したい(簡単に・・) 導入経緯
  16. 16. ググる
  17. 17. ありました
  18. 18. Serverless Framework
  19. 19. https://github.com/serverless/serverless
  20. 20. - API Gateway、Lambdaのデプロイ - Lambdaの実行 - Lambdaのログ表示 - ステージでの管理 - IAM Roleの作成 などなど Serverless Frameworkでできること
  21. 21. - API Gateway、Lambdaのデプロイ - Lambdaの実行 - Lambdaのログ表示 - ステージでの管理 - IAM Roleの作成 などなど Serverless Frameworkでできること
  22. 22. - 行動履歴を取得したい - リアルタイムじゃないからSQSに - EC2で受け口作るのはちょっと・・ - API Gateway + AWS Lambdaで動 作確認はできている(手動) - 手動でポチポチしたくない - コードで管理したい(簡単に・・) 導入経緯
  23. 23. - 行動履歴を取得したい - リアルタイムじゃないからSQSに - EC2で受け口作るのはちょっと・・ - API Gateway + AWS Lambdaで動 作確認はできている(手動) - 手動でポチポチしたくない - コードで管理したい 導入経緯 解消できた
  24. 24. ステキすぎる・・
  25. 25. Demo
  26. 26. - インストール - Lambdaファンクション作成 - Lambdaデプロイ - API Gatewayにデプロイ ※事前に実行用IAM Userを作る必要あり Demo
  27. 27. $ npm install serverless@0.5.6 -g $ sls -v $ sls project create -s dev $ tree $ sls function create functions/demo $ tree $ sls function deploy -s dev $ sls endpoint deploy -s dev Demo
  28. 28. ステキさが伝わりました?
  29. 29. Demo その2
  30. 30. - API + 簡易フォーム - もちろんサーバーレス! - G◯◯gle F◯rmでもいいけど、 独自デザインで(ry - 落ちてると面倒なことに - クレームになりやすい Demo その2 – お問い合わせAPI
  31. 31. Demo その2 – お問い合わせAPI
  32. 32. Demo その2 – お問い合わせAPI
  33. 33. ソース https://github.com/naotty/contact-api ※不具合があっても自己責任でお願いします Demo その2 – お問い合わせAPI
  34. 34. 事前準備 - Serverless Framework用IAM User - SNS Topic - SubscriptionはEmail Demo その2 – お問い合わせAPI
  35. 35. デプロイ・動作確認 (Readmeの内容をなぞります・・) Demo その2 – お問い合わせAPI
  36. 36. ステキですね
  37. 37. 失敗したことなどなど
  38. 38. - _metaにあるファイルはデフォルト で.gitignore されているので、作り直し で消える 失敗したことなどなど
  39. 39. - プロジェクトを消す 失敗したことなどなど - $ sls project remove で消えることは 消えるが、全ステージが消える・・ - _metaの中身は消えるので、ちゃん とステージを指定する - $ sls project remove -s dev
  40. 40. - API Gatewayデプロイ時の -a オプション 失敗したことなどなど - このオプションを付けないとOPTIONS メソッドが生成されず、CORSやx-api- keyカスタムヘッダーを使う時に403エ ラーになる
  41. 41. - 新しくステージを作る 失敗したことなどなど - 変数ファイルが作成時に作られるため、 それを見る箇所があるとエラーで止まる - 対策 CloudFormation無しで作る $ sls project create -c true 変数セットしてから $ sls resources deploy -s dev
  42. 42. - 付与しないといけない権限が強い - APIキーの設定は手動 - API Gateway、Lambdaの削除は手動 - 消えゆくv0.5・・ その他
  43. 43. - Serverless Framework使えば API Gateway・Lambdaをコード管理可能 - デプロイも簡単 - サーバーレス最高 まとめ
  44. 44. 質問ありますか?
  45. 45. ご清聴ありがとうございました
  46. 46. 焦るんじゃない、 俺は開発に集中したいだけなんだ

×