Enviar búsqueda
Cargar
Wem #14
•
Descargar como PPTX, PDF
•
2 recomendaciones
•
1,649 vistas
Y
yueguchi
Seguir
WEBエンジニア勉強会#14で発表した資料です。 サーバレス、簡単ではないよねって言う戒めでした。
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 57
Descargar ahora
Recomendados
インフラ勉強会 20090711
インフラ勉強会 20090711
axsh co., LTD.
Visualforceでカスタムコンポーネントをつくろう
Visualforceでカスタムコンポーネントをつくろう
Yuki Yamaguchi
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみた
Kei Yagi
Spa のための web サーバ構築ノウハウ
Spa のための web サーバ構築ノウハウ
Kazuhiro Kotsutsumi
クラウド時代のインフラエンジニア動向2017
クラウド時代のインフラエンジニア動向2017
Ryoichi Taga
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
ShinichiAoyagi
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
Iret tech labo#5 ブログから学ぶサーバレスの作り方
Iret tech labo#5 ブログから学ぶサーバレスの作り方
TakaakiNiikawa
Recomendados
インフラ勉強会 20090711
インフラ勉強会 20090711
axsh co., LTD.
Visualforceでカスタムコンポーネントをつくろう
Visualforceでカスタムコンポーネントをつくろう
Yuki Yamaguchi
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみた
Kei Yagi
Spa のための web サーバ構築ノウハウ
Spa のための web サーバ構築ノウハウ
Kazuhiro Kotsutsumi
クラウド時代のインフラエンジニア動向2017
クラウド時代のインフラエンジニア動向2017
Ryoichi Taga
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
ShinichiAoyagi
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
Iret tech labo#5 ブログから学ぶサーバレスの作り方
Iret tech labo#5 ブログから学ぶサーバレスの作り方
TakaakiNiikawa
WordPress ユーザーのための a-blog cms 入門
WordPress ユーザーのための a-blog cms 入門
Akiko Kasaya
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
Seiko Kuchida
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
ShinichiAoyagi
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
Fumio SAGAWA
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
Seiko Kuchida
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
Naoki Yamada
a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」
Seiko Kuchida
SPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWork
Mizuho Sakamaki
Twilioと山下と学び
Twilioと山下と学び
Mitsuhiro Yamashita
20140127 riaに代わる技術 実用的spa
20140127 riaに代わる技術 実用的spa
Seiji Noro
イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱
Fumio SAGAWA
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
Mitsuhiro Yamashita
three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現
Kei Yagi
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
Toshiaki Aoike
AWS エンジニア育成における効果的なトレーニング活用のすすめ
AWS エンジニア育成における効果的なトレーニング活用のすすめ
Trainocate Japan, Ltd.
A 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web Stack
GoAzure
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
hirooooo
どうなる?Visual Studioの クライアントサイド web開発の今後
どうなる?Visual Studioの クライアントサイド web開発の今後
Narami Kiyokura
Lightning componentとlightning design system
Lightning componentとlightning design system
Noriko Iwai
クラウド時代の人材育成
クラウド時代の人材育成
Trainocate Japan, Ltd.
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
アウトプットはスキルアップもするしトクもする
アウトプットはスキルアップもするしトクもする
Mitsuhiro Yamashita
Más contenido relacionado
La actualidad más candente
WordPress ユーザーのための a-blog cms 入門
WordPress ユーザーのための a-blog cms 入門
Akiko Kasaya
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
Seiko Kuchida
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
ShinichiAoyagi
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
Fumio SAGAWA
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
Seiko Kuchida
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
Naoki Yamada
a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」
Seiko Kuchida
SPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWork
Mizuho Sakamaki
Twilioと山下と学び
Twilioと山下と学び
Mitsuhiro Yamashita
20140127 riaに代わる技術 実用的spa
20140127 riaに代わる技術 実用的spa
Seiji Noro
イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱
Fumio SAGAWA
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
Mitsuhiro Yamashita
three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現
Kei Yagi
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
Toshiaki Aoike
AWS エンジニア育成における効果的なトレーニング活用のすすめ
AWS エンジニア育成における効果的なトレーニング活用のすすめ
Trainocate Japan, Ltd.
A 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web Stack
GoAzure
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
hirooooo
どうなる?Visual Studioの クライアントサイド web開発の今後
どうなる?Visual Studioの クライアントサイド web開発の今後
Narami Kiyokura
Lightning componentとlightning design system
Lightning componentとlightning design system
Noriko Iwai
クラウド時代の人材育成
クラウド時代の人材育成
Trainocate Japan, Ltd.
La actualidad más candente
(20)
WordPress ユーザーのための a-blog cms 入門
WordPress ユーザーのための a-blog cms 入門
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」
SPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWork
Twilioと山下と学び
Twilioと山下と学び
20140127 riaに代わる技術 実用的spa
20140127 riaに代わる技術 実用的spa
イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
three.jsによる一歩進めたグラフィカルな表現
three.jsによる一歩進めたグラフィカルな表現
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
AWS エンジニア育成における効果的なトレーニング活用のすすめ
AWS エンジニア育成における効果的なトレーニング活用のすすめ
A 1-2 One ASP.NET - ASP.NET Web Stack
A 1-2 One ASP.NET - ASP.NET Web Stack
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
どうなる?Visual Studioの クライアントサイド web開発の今後
どうなる?Visual Studioの クライアントサイド web開発の今後
Lightning componentとlightning design system
Lightning componentとlightning design system
クラウド時代の人材育成
クラウド時代の人材育成
Similar a Wem #14
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
アウトプットはスキルアップもするしトクもする
アウトプットはスキルアップもするしトクもする
Mitsuhiro Yamashita
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
Mitsuhiro Yamashita
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
真吾 吉田
Talk: serverless-express
Talk: serverless-express
HiroyukiTakakura
2000年代SaaS on AWS
2000年代SaaS on AWS
Amazon Web Services Japan
May the FaaS be with us!!
May the FaaS be with us!!
真吾 吉田
Slerとaws運用の付き合い方
Slerとaws運用の付き合い方
Sato Shun
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless
Amazon Web Services Japan
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
zaru sakuraba
AWSを会社で使ってみた
AWSを会社で使ってみた
Satoshi Ishikawa
開発初心者がAWSサービスを色々使ってアプリ開発をした話
開発初心者がAWSサービスを色々使ってアプリ開発をした話
MaiFujisawa
What is Serverless?
What is Serverless?
Terui Masashi
AWSへのシステム移行に伴うクラウドマインドへの移行
AWSへのシステム移行に伴うクラウドマインドへの移行
Trainocate Japan, Ltd.
Cloudnative online-2021-stepfunction
Cloudnative online-2021-stepfunction
kota tomimatsu
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
政雄 金森
楽ちんユーザー認証付Spa
楽ちんユーザー認証付Spa
Takahiro Tsuchiya
AWS for Startups 2016 (2015/12/02版)
AWS for Startups 2016 (2015/12/02版)
akitsukada
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws
takaoka susumu
Similar a Wem #14
(20)
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
アウトプットはスキルアップもするしトクもする
アウトプットはスキルアップもするしトクもする
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Talk: serverless-express
Talk: serverless-express
2000年代SaaS on AWS
2000年代SaaS on AWS
May the FaaS be with us!!
May the FaaS be with us!!
Slerとaws運用の付き合い方
Slerとaws運用の付き合い方
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
AWSを会社で使ってみた
AWSを会社で使ってみた
開発初心者がAWSサービスを色々使ってアプリ開発をした話
開発初心者がAWSサービスを色々使ってアプリ開発をした話
What is Serverless?
What is Serverless?
AWSへのシステム移行に伴うクラウドマインドへの移行
AWSへのシステム移行に伴うクラウドマインドへの移行
Cloudnative online-2021-stepfunction
Cloudnative online-2021-stepfunction
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
楽ちんユーザー認証付Spa
楽ちんユーザー認証付Spa
AWS for Startups 2016 (2015/12/02版)
AWS for Startups 2016 (2015/12/02版)
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws
Wem #14
1.
失敗から知るAWSサーバレス ~ API Gateway
Lambda編 ~ @WEBエンジニア勉強会#WEM14 江口 悠 アシアル株式会社
2.
アシアル株式会社
3.
アシアル株式会社 受託開発チーム所属 江口 悠 PMとかSEとかPGとか人事とか... ※未だに会社プロフに画像載せていないので あまり使っていないFacebookの画像でもw
4.
LaravelJPConference2020 2020/03/21(土) 開催!! https://conference2020.laravel.jp
5.
● はじめに ● サンプル構成 ●
サーバレス失敗談 ● まとめ AGENDA
6.
はじめに AWS使ってますか? サーバレス開発やってますか??
7.
クライアントからの要件・・・ はじめに 写真を共有できるSNSアプリを作りたい。 AWS使って、サーバレスで構築してよ
8.
はじめに クライアントから直接 アーキテクチャにサーバレス 前提でお話を頂くこともあれば・・・
9.
「サーバレス」・・・ はじめに 社内管理システムを 構築して欲しい 開発部門 発注元部門 当然サーバレスで 作るでしょ!!
10.
クライアント企業の開発部門が サーバレスで作ってくれないかと アーキテクチャの相談を頂くことも多い はじめに
11.
「サーバレス」が前提のシステム構築で 失敗した話をサンプルを通して紹介。 サーバレスアーキテクチャ採用時の 参考になれば幸いです。 はじめに
12.
今回のお話はAWSに焦点を当てています。 また、「サーバレス」について議論はしたくないので、 今回は「AWSでかつ、EC2を自分で管理しないシステム」を総称 してます。 はじめに - 注)
サーバレスについて -
13.
図解 サンプル構成 LambdaFunction・・・node v8.10 ※SAMでlocal AWS開発 Vue・・・Nuxt2 SAM
14.
・画像を選択 ・Base64にencode ・APIにBase64をupload サンプル構成
15.
Payload上限で死んだ話 Part1
16.
クライアントからの要件・・・ Payload上限で死んだ話 写真を共有できるSNSアプリを作りたい。 AWS使って、サーバレスで構築してよ
17.
開発が始まる... Payload上限で死んだ話 サーバレスで画像upload システムを作って行こー
18.
開発は始まり... ある程度メイン機能の開発が済み... 実戦を想定したテストが始まると... Payload上限で死んだ話 upload機能 実装完了 テストしていきますねー
19.
APIが500 エラー...??? Payload上限で死んだ話 ス マ ホ スマホカメラで撮った 画像がuploadできない!
20.
API GatewayのPayloadは10MB制限 Payload上限で死んだ話
21.
Amazon API Gateway
の制限事項と重要な注意点 Payload上限で死んだ話 ペイロードサイズ 10MB 引き上げ不可
22.
Payload上限で死んだ話
23.
Payload上限で死んだ話 10MBに収まる画像なら いけるってことか!!
24.
. Payload上限で死んだ話 AGの制約です。 プログラムでは制御 できないです。。。 なるほど... では一旦10MB以内で 再テストしよか
25.
APIが500 エラー...??? Payload上限で死んだ話 ス マ ホ 10MB以下でも 画像がuploadできない!
26.
Payload上限で死んだ話
27.
Payload上限で死んだ話 ダメでした😇
28.
API Gatewayの後ろに控えている LambdaにもPayload制限がある Payload上限で死んだ話
29.
Payload上限で死んだ話 ペイロードサイズ 6MB 同期6MB(RequestResponse) 非同期128KB(event) AWS
Lambda の制限
30.
APIGatewayのpayloadを超えないようにしても、 後ろに控えているLambdaが6MB上限なので、 6MB以下のpayloadに収めないといけない Payload上限で死んだ話
31.
サイズを超えた場合、500Error キャッチアップ不可能 Payload上限で死んだ話
32.
▼回避策1 ● APIの制約を理解した上で、フロントでsize判定を入れる ○ 圧縮するか、uploadさせないかなど ■
ex) canvas ▼回避策2 ● APIGatewayではなく、フロントがS3に直接uploadする ○ APIでは署名URLのみを先に返却 ■ 受け取った署名URLに対して、フロントがS3にupload Payload上限で死んだ話
33.
Timeout制約で死んだ話 Part2
34.
Lambdaがタイムア ウト...??? Timeout制約で死んだ話 ス マ ホ プロフィール更新したの に反映されない...?!
35.
Timeout制約で死んだ話
36.
Timeout制約で死んだ話 ここで Timeout Error
37.
Timeout制約で死んだ話
38.
Timeout制約で死んだ話 Lambdaのタイムアウトは最大15分まで伸ばせる!! (2019/08/30 現在)
39.
API Gatewayがタイ ムアウト...??? Timeout制約で死んだ話 ス マ ホ プロフィール更新したの に反映されない...?!
40.
Timeout制約で死んだ話 Lambdaのタイムアウトに対策しても、 APIGatewayのタイムアウト制約で 「Endpoint request timed
out」が発生
41.
Timeout制約で死んだ話 ここで Timeout Error
42.
Timeout制約で死んだ話
43.
● LambdaのタイムアウトをOverして500エラー ● Lambdaのタイムアウトは15分まで伸ばせる!! ●
APIGatewayは最大で29秒!! つまるところ、29秒以内に応答を返さないといけない Timeout制約で死んだ話
44.
▼回避策1 ● Queueに退避させて、APIとしては処理終了 ○ SQSなど ▼回避策2 ●
LambdaからLambdaを呼び出す ▼回避策3 ● StepFunctionsを使う Timeout制約で死んだ話
45.
考えなきゃいけないことが山ほどある Timeout制約で死んだ話
46.
サンプル作成時に ハマったことw おまけ
47.
● LAMBDA_PROXYが文字列で渡る ○ “{name:
test, uploadImage: %03mmkkdk….” とか ○ “name=test&uploadImage=%03mmkkdk….” ■ 久々の生nodeで気づかなかった...。JSON.parse()とか自前で処理。 ● S3:ListBucketとS3:*ObjectでPoliciesの書き方が若干異なる ○ S3:ListBucket ■ Resource: "arn:aws:s3:::[バケット名]" ○ S3*Object ■ Resource: "arn:aws:s3:::[バケット名]/*" ※それぞれ入れ替えるとAccessDenied... プチ ハマったこと
48.
● SAMのCORS定義でハマった ○ APIエンドポイントに個別で定義できない ○
Globals設定のApi: Corsで設定可能 プチ ハマったこと
49.
プチ ハマったこと ● SAMのCORS定義でハマった
50.
まとめ
51.
サーバレス = 簡単な(安い)訳ではではない ※手軽ではあり、開発に集中できる利点は大きいけれども
52.
そのサービス、コンポーネントに 精通していないと、 予想外な工数が発生する
53.
目的が 「サーバレスを使うこと」 になっていないか? ※そのシステム、本当にサーバレスが必要??
54.
公式ドキュメントには一通り目を通そう よくあるQAや、制限に目を通しておく ※見つけにくい情報も確かにあるよね
55.
SAM便利!! CFn便利!! Infrastructure as Code!!
56.
● [AWS公式]macOSにAWS SAM
CLIをインストールする ● [AWS公式]チュートリアル:Hello Worldアプリケーションのデプロイ ● [AWS公式]AWS Lambdaの制限 ● [AWS公式]Amazon API Gateway の制限事項と重要な注意点 ● Nuxt公式 参考・出典
Notas del editor
SDKからLambdaを実行する時にinvokation typeを指定できる event = トリガーはサービスによって、同期か非同期か決まってるhttps://qiita.com/is_ryo/items/009220083e179272cbda
SDKからLambdaを実行する時にinvokation typeを指定できる event = トリガーはサービスによって、同期か非同期か決まってるhttps://qiita.com/is_ryo/items/009220083e179272cbda
サンプル用意する中で地味にハマったこと
サンプル用意する中で地味にハマったこと
サンプル用意する中で地味にハマったこと
Descargar ahora