Start
Entdecken
Suche senden
Hochladen
Einloggen
Registrieren
Anzeige
Check these out next
WordPress ユーザーのための a-blog cms 入門
Akiko Kasaya
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
Seiko Kuchida
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
ShinichiAoyagi
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
Fumio SAGAWA
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
Seiko Kuchida
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
Naoki Yamada
a-sap08「a-blog cmsとMovable Type」
Seiko Kuchida
SPAに必要なJavaScriptFrameWork
Mizuho Sakamaki
1
von
57
Top clipped slide
Wem #14
30. Aug 2019
•
0 gefällt mir
2 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
1,629 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Ingenieurwesen
WEBエンジニア勉強会#14で発表した資料です。 サーバレス、簡単ではないよねって言う戒めでした。
yueguchi
Folgen
Anzeige
Anzeige
Anzeige
Recomendados
インフラ勉強会 20090711
axsh co., LTD.
1.2K Aufrufe
•
62 Folien
Visualforceでカスタムコンポーネントをつくろう
Yuki Yamaguchi
473 Aufrufe
•
9 Folien
フロントエンド初学者がSPAに手を出してみた
Kei Yagi
72.6K Aufrufe
•
16 Folien
Spa のための web サーバ構築ノウハウ
Kazuhiro Kotsutsumi
12K Aufrufe
•
112 Folien
クラウド時代のインフラエンジニア動向2017
Ryoichi Taga
1K Aufrufe
•
10 Folien
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
ShinichiAoyagi
19.7K Aufrufe
•
13 Folien
Más contenido relacionado
Presentaciones para ti
(20)
WordPress ユーザーのための a-blog cms 入門
Akiko Kasaya
•
219 Aufrufe
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
Seiko Kuchida
•
4.5K Aufrufe
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
ShinichiAoyagi
•
3.9K Aufrufe
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
Fumio SAGAWA
•
29.4K Aufrufe
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
Seiko Kuchida
•
7.8K Aufrufe
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
Naoki Yamada
•
1.6K Aufrufe
a-sap08「a-blog cmsとMovable Type」
Seiko Kuchida
•
707 Aufrufe
SPAに必要なJavaScriptFrameWork
Mizuho Sakamaki
•
7.1K Aufrufe
Twilioと山下と学び
Mitsuhiro Yamashita
•
632 Aufrufe
20140127 riaに代わる技術 実用的spa
Seiji Noro
•
883 Aufrufe
イマドキのフロントエンドエンジニアの道具箱
Fumio SAGAWA
•
45.7K Aufrufe
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
Mitsuhiro Yamashita
•
388 Aufrufe
three.jsによる一歩進めたグラフィカルな表現
Kei Yagi
•
3.7K Aufrufe
20160624 JAWS-UG名古屋 第12回 API Gateway 事始め
Toshiaki Aoike
•
1.1K Aufrufe
AWS エンジニア育成における効果的なトレーニング活用のすすめ
Trainocate Japan, Ltd.
•
686 Aufrufe
A 1-2 One ASP.NET - ASP.NET Web Stack
GoAzure
•
9.5K Aufrufe
[社内勉強会]SPAのすすめ
hirooooo
•
866 Aufrufe
どうなる?Visual Studioの クライアントサイド web開発の今後
Narami Kiyokura
•
3.3K Aufrufe
Lightning componentとlightning design system
Noriko Iwai
•
1K Aufrufe
クラウド時代の人材育成
Trainocate Japan, Ltd.
•
362 Aufrufe
Similar a Wem #14
(20)
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
•
2.6K Aufrufe
アウトプットはスキルアップもするしトクもする
Mitsuhiro Yamashita
•
446 Aufrufe
Swaggerで始めるモデルファーストなAPI開発
Takuro Sasaki
•
100.7K Aufrufe
怒涛のAWS入門! クラウドプラクティショナー! 知ってました? あなた、クラウドプラクティショナーなんですよ。
Mitsuhiro Yamashita
•
1.1K Aufrufe
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
真吾 吉田
•
702 Aufrufe
Talk: serverless-express
HiroyukiTakakura
•
261 Aufrufe
2000年代SaaS on AWS
Amazon Web Services Japan
•
1.5K Aufrufe
May the FaaS be with us!!
真吾 吉田
•
2K Aufrufe
Slerとaws運用の付き合い方
Sato Shun
•
21.5K Aufrufe
20200728 AWS Black Belt Online Seminar What's New in Serverless
Amazon Web Services Japan
•
2.9K Aufrufe
Service workerとwebプッシュ通知
zaru sakuraba
•
3.7K Aufrufe
AWSを会社で使ってみた
Satoshi Ishikawa
•
1.6K Aufrufe
開発初心者がAWSサービスを色々使ってアプリ開発をした話
MaiFujisawa
•
1.2K Aufrufe
What is Serverless?
Terui Masashi
•
2.1K Aufrufe
AWSへのシステム移行に伴うクラウドマインドへの移行
Trainocate Japan, Ltd.
•
720 Aufrufe
Cloudnative online-2021-stepfunction
kota tomimatsu
•
123 Aufrufe
Ecsとlambdaのバッチ処理
政雄 金森
•
1.8K Aufrufe
楽ちんユーザー認証付Spa
Takahiro Tsuchiya
•
3.9K Aufrufe
AWS for Startups 2016 (2015/12/02版)
akitsukada
•
2K Aufrufe
20151030 オープンデータとセキュリティon aws
takaoka susumu
•
1.2K Aufrufe
Anzeige
Último
(20)
ChatGPTをもっと使いたい.pptx
TokioMiyaoka
•
338 Aufrufe
41布兰登大学.pdf
dsadasd17
•
2 Aufrufe
★可查可存档〖制作贝桑松大学文凭证书毕业证〗
tujjj
•
2 Aufrufe
21威斯康星麦迪逊分校.pdf
LorettaPrice2
•
0 Aufrufe
★可查可存档〖制作布克大学文凭证书毕业证〗
mmmm282537
•
2 Aufrufe
#国外留学文凭购买Trent假毕业证书
fc2c0f2b1mymailol
•
2 Aufrufe
☀️《Ohio毕业证仿真》
DFFFFG
•
2 Aufrufe
☀️《TRU毕业证仿真》
nhhh4
•
2 Aufrufe
#买美国学历毕业证书代办普林斯顿大学文凭证书
JhhhfGffh
•
2 Aufrufe
办皇家墨尔本理工大学毕业证成绩单
JhhhfGffh
•
3 Aufrufe
☀️《UMB毕业证仿真》
hjhgg
•
2 Aufrufe
★可查可存档〖制作乌尔姆大学文凭证书毕业证〗
tujjj
•
18 Aufrufe
AI時代の要件定義
Zenji Kanzaki
•
286 Aufrufe
法国:蒙彼利埃大学毕业证办理流程
cyvyvgk
•
3 Aufrufe
AI予約サービスのMLOps事例紹介
Takashi Suzuki
•
4 Aufrufe
APM.pptx
SatishKotwal
•
2 Aufrufe
★可查可存档〖制作国立大学文凭证书毕业证〗
tujjj
•
2 Aufrufe
英国:肯特大学毕业证办理流程
syceq
•
2 Aufrufe
56.桑德兰大学.pdf
dsadasd17
•
2 Aufrufe
☀️《UIUC毕业证仿真》
hjhgg
•
2 Aufrufe
Wem #14
失敗から知るAWSサーバレス ~ API Gateway
Lambda編 ~ @WEBエンジニア勉強会#WEM14 江口 悠 アシアル株式会社
アシアル株式会社
アシアル株式会社 受託開発チーム所属 江口 悠 PMとかSEとかPGとか人事とか... ※未だに会社プロフに画像載せていないので あまり使っていないFacebookの画像でもw
LaravelJPConference2020 2020/03/21(土) 開催!! https://conference2020.laravel.jp
● はじめに ● サンプル構成 ●
サーバレス失敗談 ● まとめ AGENDA
はじめに AWS使ってますか? サーバレス開発やってますか??
クライアントからの要件・・・ はじめに 写真を共有できるSNSアプリを作りたい。 AWS使って、サーバレスで構築してよ
はじめに クライアントから直接 アーキテクチャにサーバレス 前提でお話を頂くこともあれば・・・
「サーバレス」・・・ はじめに 社内管理システムを 構築して欲しい 開発部門 発注元部門 当然サーバレスで 作るでしょ!!
クライアント企業の開発部門が サーバレスで作ってくれないかと アーキテクチャの相談を頂くことも多い はじめに
「サーバレス」が前提のシステム構築で 失敗した話をサンプルを通して紹介。 サーバレスアーキテクチャ採用時の 参考になれば幸いです。 はじめに
今回のお話はAWSに焦点を当てています。 また、「サーバレス」について議論はしたくないので、 今回は「AWSでかつ、EC2を自分で管理しないシステム」を総称 してます。 はじめに - 注)
サーバレスについて -
図解 サンプル構成 LambdaFunction・・・node v8.10 ※SAMでlocal AWS開発 Vue・・・Nuxt2 SAM
・画像を選択 ・Base64にencode ・APIにBase64をupload サンプル構成
Payload上限で死んだ話 Part1
クライアントからの要件・・・ Payload上限で死んだ話 写真を共有できるSNSアプリを作りたい。 AWS使って、サーバレスで構築してよ
開発が始まる... Payload上限で死んだ話 サーバレスで画像upload システムを作って行こー
開発は始まり... ある程度メイン機能の開発が済み... 実戦を想定したテストが始まると... Payload上限で死んだ話 upload機能 実装完了 テストしていきますねー
APIが500 エラー...??? Payload上限で死んだ話 ス マ ホ スマホカメラで撮った 画像がuploadできない!
API GatewayのPayloadは10MB制限 Payload上限で死んだ話
Amazon API Gateway
の制限事項と重要な注意点 Payload上限で死んだ話 ペイロードサイズ 10MB 引き上げ不可
Payload上限で死んだ話
Payload上限で死んだ話 10MBに収まる画像なら いけるってことか!!
. Payload上限で死んだ話 AGの制約です。 プログラムでは制御 できないです。。。 なるほど... では一旦10MB以内で 再テストしよか
APIが500 エラー...??? Payload上限で死んだ話 ス マ ホ 10MB以下でも 画像がuploadできない!
Payload上限で死んだ話
Payload上限で死んだ話 ダメでした😇
API Gatewayの後ろに控えている LambdaにもPayload制限がある Payload上限で死んだ話
Payload上限で死んだ話 ペイロードサイズ 6MB 同期6MB(RequestResponse) 非同期128KB(event) AWS
Lambda の制限
APIGatewayのpayloadを超えないようにしても、 後ろに控えているLambdaが6MB上限なので、 6MB以下のpayloadに収めないといけない Payload上限で死んだ話
サイズを超えた場合、500Error キャッチアップ不可能 Payload上限で死んだ話
▼回避策1 ● APIの制約を理解した上で、フロントでsize判定を入れる ○ 圧縮するか、uploadさせないかなど ■
ex) canvas ▼回避策2 ● APIGatewayではなく、フロントがS3に直接uploadする ○ APIでは署名URLのみを先に返却 ■ 受け取った署名URLに対して、フロントがS3にupload Payload上限で死んだ話
Timeout制約で死んだ話 Part2
Lambdaがタイムア ウト...??? Timeout制約で死んだ話 ス マ ホ プロフィール更新したの に反映されない...?!
Timeout制約で死んだ話
Timeout制約で死んだ話 ここで Timeout Error
Timeout制約で死んだ話
Timeout制約で死んだ話 Lambdaのタイムアウトは最大15分まで伸ばせる!! (2019/08/30 現在)
API Gatewayがタイ ムアウト...??? Timeout制約で死んだ話 ス マ ホ プロフィール更新したの に反映されない...?!
Timeout制約で死んだ話 Lambdaのタイムアウトに対策しても、 APIGatewayのタイムアウト制約で 「Endpoint request timed
out」が発生
Timeout制約で死んだ話 ここで Timeout Error
Timeout制約で死んだ話
● LambdaのタイムアウトをOverして500エラー ● Lambdaのタイムアウトは15分まで伸ばせる!! ●
APIGatewayは最大で29秒!! つまるところ、29秒以内に応答を返さないといけない Timeout制約で死んだ話
▼回避策1 ● Queueに退避させて、APIとしては処理終了 ○ SQSなど ▼回避策2 ●
LambdaからLambdaを呼び出す ▼回避策3 ● StepFunctionsを使う Timeout制約で死んだ話
考えなきゃいけないことが山ほどある Timeout制約で死んだ話
サンプル作成時に ハマったことw おまけ
● 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... プチ ハマったこと
● SAMのCORS定義でハマった ○ APIエンドポイントに個別で定義できない ○
Globals設定のApi: Corsで設定可能 プチ ハマったこと
プチ ハマったこと ● SAMのCORS定義でハマった
まとめ
サーバレス = 簡単な(安い)訳ではではない ※手軽ではあり、開発に集中できる利点は大きいけれども
そのサービス、コンポーネントに 精通していないと、 予想外な工数が発生する
目的が 「サーバレスを使うこと」 になっていないか? ※そのシステム、本当にサーバレスが必要??
公式ドキュメントには一通り目を通そう よくあるQAや、制限に目を通しておく ※見つけにくい情報も確かにあるよね
SAM便利!! CFn便利!! Infrastructure as Code!!
● [AWS公式]macOSにAWS SAM
CLIをインストールする ● [AWS公式]チュートリアル:Hello Worldアプリケーションのデプロイ ● [AWS公式]AWS Lambdaの制限 ● [AWS公式]Amazon API Gateway の制限事項と重要な注意点 ● Nuxt公式 参考・出典
Hinweis der Redaktion
SDKからLambdaを実行する時にinvokation typeを指定できる event = トリガーはサービスによって、同期か非同期か決まってるhttps://qiita.com/is_ryo/items/009220083e179272cbda
SDKからLambdaを実行する時にinvokation typeを指定できる event = トリガーはサービスによって、同期か非同期か決まってるhttps://qiita.com/is_ryo/items/009220083e179272cbda
サンプル用意する中で地味にハマったこと
サンプル用意する中で地味にハマったこと
サンプル用意する中で地味にハマったこと
Anzeige