Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS アーキテクチャクイズ
Search
yuu26
March 19, 2024
Technology
3
1.3k
AWS アーキテクチャクイズ
社内 LT で発表した「AWS アーキテクチャクイズ」の資料です。
yuu26
March 19, 2024
Tweet
Share
More Decks by yuu26
See All by yuu26
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
3.6k
Datadog 関数クイズ (初級編)
yuu26
0
88
バクラクにおける可観測性向上の取り組み
yuu26
4
1.9k
EMになって半年でやったこと
yuu26
1
2.9k
ローカル開発環境をAWSへ移行して爆速にした
yuu26
14
11k
AWS Systems Manager で実現する SSH レスでセキュアなクラウド運用
yuu26
2
4.7k
Other Decks in Technology
See All in Technology
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
0
120
Findy Team+のSOC2取得までの道のり
rvirus0817
0
330
KAGのLT会 #8 - 東京リージョンでGAしたAmazon Q in QuickSightを使って、報告用の資料を作ってみた
0air
0
200
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
420
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
200
VCC 2025 Write-up
bata_24
0
180
AWSにおけるTrend Vision Oneの効果について
shimak
0
120
"複雑なデータ処理 × 静的サイト" を両立させる、楽をするRails運用 / A low-effort Rails workflow that combines “Complex Data Processing × Static Sites”
hogelog
3
1.9k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
140
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
120
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
910
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
3.4k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Embracing the Ebb and Flow
colly
88
4.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
The Cost Of JavaScript in 2023
addyosmani
53
9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Gamification - CAS2011
davidbonilla
81
5.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Being A Developer After 40
akosma
91
590k
GitHub's CSS Performance
jonrohan
1032
460k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Transcript
© LayerX Inc. AWS アーキテクチャクイズ 2024-03-15 バクラクエンジニア共有会 LT
© LayerX Inc. 2 AWS アーキテクチャクイズ これからクイズを3問出題します ぜひコメントで回答を! 勘でもいいです!!
© LayerX Inc. 3 第1問
© LayerX Inc. 4 第1問 室温センサーから室温データ (JSON) が定期的に飛んできます データを DynamoDB
に溜めたい場合、前段に何を置くといいでしょう? ここに何を置く? IoT 室温センサー Amazon DynamoDB JSON
© LayerX Inc. 5 第1問 室温センサーから室温データ (JSON) が定期的に飛んできます データを DynamoDB
に溜めたい場合、前段に何を置くといいでしょう? Amazon API Gateway IoT 室温センサー Amazon DynamoDB JSON
© LayerX Inc. 6 API Gateway では、リクエスト内容を変換して別の AWS コンポーネントへリクエストできる 第1問
Amazon API Gateway 室温センサー Amazon DynamoDB
© LayerX Inc. 7 API Gateway では、リクエスト内容を変換して別の AWS コンポーネントへリクエストできる 第1問
Amazon API Gateway 室温センサー Amazon DynamoDB JSON データ (例) { "time": 1710408430033, "temperature": 18.5 }
© LayerX Inc. 8 API Gateway では、リクエスト内容を変換して別の AWS コンポーネントへリクエストできる 第1問
Amazon API Gateway 室温センサー Amazon DynamoDB JSON データ (例) { "time": 1710408430033, "temperature": 18.5 } マッピングテンプレート #set($data = $input.path('$')) { "TableName": "hoge", "Item": { "time": { "N": "$data.time" }, "temperature": { "N": "$data.temperature" } } }
© LayerX Inc. 9 API Gateway では、リクエスト内容を変換して別の AWS コンポーネントへリクエストできる 第1問
Amazon API Gateway 室温センサー Amazon DynamoDB JSON データ (例) { "time": 1710408430033, "temperature": 18.5 } マッピングテンプレート #set($data = $input.path('$')) { "TableName": "hoge", "Item": { "time": { "N": "$data.time" }, "temperature": { "N": "$data.temperature" } } } DynamoDB へのリクエスト内容 { "TableName": "hoge", "Item": { "time": { "N": "1710408430033", }, "temperature": { "N": "18.5" } } }
© LayerX Inc. 10 API Gateway では、リクエスト内容を変換して別の AWS コンポーネントへリクエストできる 第1問
Amazon API Gateway 室温センサー Amazon DynamoDB JSON データ (例) { "time": 1710408430033, "temperature": 18.5 } マッピングテンプレート #set($data = $input.path('$')) { "TableName": "hoge", "Item": { "time": { "N": "$data.time" }, "temperature": { "N": "$data.temperature" } } } DynamoDB へのリクエスト内容 { "TableName": "hoge", "Item": { "time": { "N": "1710408430033", }, "temperature": { "N": "18.5" } } } 記録したよ
© LayerX Inc. 11 第2問
© LayerX Inc. 12 メッセージをオウム返しする LINE bot を作ります 第2問
© LayerX Inc. 13 メッセージをオウム返しする LINE bot を作ります ※ メッセージは
Webhook で届く ※ LINE Reply API へリクエストを送って返信する 第2問 ここに何を置く? LINE bot LINE Reply API メッセージ Webhook 返信
© LayerX Inc. 14 メッセージをオウム返しする LINE bot を作ります ※ メッセージは
Webhook で届く ※ LINE Reply API へリクエストを送って返信する 第2問 Amazon API Gateway LINE bot LINE Reply API メッセージ Webhook 返信
© LayerX Inc. 15 API Gateway では、リクエスト内容を変換して別エンドポイントへリクエストできる 第2問 Amazon API
Gateway LINE bot LINE Reply API
© LayerX Inc. 16 API Gateway では、リクエスト内容を変換して別エンドポイントへリクエストできる 第2問 LINE Webhook
(抜粋) { "events": [ { "timestamp": 1710408430033, "message": { "type": "text", "text": "こんにちはこんにちは!!" }, "replyToken": "710c805bd4bae907" } ] } Amazon API Gateway LINE bot LINE Reply API
© LayerX Inc. 17 API Gateway では、リクエスト内容を変換して別エンドポイントへリクエストできる 第2問 LINE Webhook
(抜粋) { "events": [ { "timestamp": 1710408430033, "message": { "type": "text", "text": "こんにちはこんにちは!!" }, "replyToken": "710c805bd4bae907" } ] } マッピングテンプレート #set($data = $input.path('$.events[0]')) { "messages": [ { "type": "text", "text": "$data.message.text" } ], "replyToken": "$data.replyToken" } Amazon API Gateway LINE bot LINE Reply API
© LayerX Inc. 18 API Gateway では、リクエスト内容を変換して別エンドポイントへリクエストできる 第2問 LINE Webhook
(抜粋) { "events": [ { "timestamp": 1710408430033, "message": { "type": "text", "text": "こんにちはこんにちは!!" }, "replyToken": "710c805bd4bae907" } ] } マッピングテンプレート #set($data = $input.path('$.events[0]')) { "messages": [ { "type": "text", "text": "$data.message.text" } ], "replyToken": "$data.replyToken" } LINE Reply API へのリクエスト内容 { "messages": [ { "type": "text", "text": "こんにちはこんにちは!!" } ], "replyToken": "710c805bd4bae907" } Amazon API Gateway LINE bot LINE Reply API
© LayerX Inc. 19 第3問
© LayerX Inc. 20 第3問 Slack には、外部からメッセージを送る Incoming Webhook という機能があります
秘密の URL にメッセージを送ると認証なしで Slack に届きます (秘密の URL) User Slack Message バクラク! バクラク!
© LayerX Inc. 21 第3問 ユーザには URL を隠蔽しつつ IP 制限をかけるために
AWS を挟むことにしました どの AWS コンポーネントを使うといいでしょうか? (秘密の URL) User Slack Message ここに何を置く?
© LayerX Inc. 22 第3問 ユーザには URL を隠蔽しつつ IP 制限をかけるために
AWS を挟むことにしました どの AWS コンポーネントを使うといいでしょうか? (秘密の URL) User Slack Message Amazon API Gateway
© LayerX Inc. 23 第3問 (秘密の URL) User Slack Message
API Gateway では、届いたリクエストを別の URL へ中継できます アクセス元 IP アドレスも制限できます Amazon API Gateway
© LayerX Inc. 24 第3問 User Slack Message API Gateway
では、届いたリクエストを別の URL へ中継できます アクセス元 IP アドレスも制限できます Amazon API Gateway バクラク! バクラク! IP アドレスを 確認して通す (秘密の URL)
© LayerX Inc. 25 まとめ 色々な使い道がある Amazon API Gateway は便利!
※ クイズの正解となる構成は他にもあります ※ API の前段で認可周りや流量制御を任せるのが標準的な使い方です