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.2k
AWS アーキテクチャクイズ
社内 LT で発表した「AWS アーキテクチャクイズ」の資料です。
yuu26
March 19, 2024
Tweet
Share
More Decks by yuu26
See All by yuu26
Datadog 関数クイズ (初級編)
yuu26
0
55
バクラクにおける可観測性向上の取り組み
yuu26
4
1.7k
EMになって半年でやったこと
yuu26
1
2.8k
ローカル開発環境をAWSへ移行して爆速にした
yuu26
14
11k
AWS Systems Manager で実現する SSH レスでセキュアなクラウド運用
yuu26
2
4.5k
Other Decks in Technology
See All in Technology
Google CloudのAI Agent関連のサービス紹介
shukob
0
180
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
210
え!! 日本国内でGo言語のバイリンガル勉強会を!?
logica0419
2
100
Amplifyとゼロからはじめた AIコーディング。失敗と気づき
mkdev10
1
190
スプリントゴールで価値を駆動しよう
takufujii
3
1.4k
GPU 클라우드 환경에서의 회복탄력적 AI 운영 : 훈련 및 추론을 위한 견고한 아키텍처와 전략
inureyes
PRO
0
140
GrafanaをClaude DesktopからMCPで触ってみた
hamadakoji
0
1.2k
PythonツールであるpygnmiをSONiCのgNMIに対して使ってみた
sonic
0
330
技術的負債を「戦略的投資」にするためのPdMとエンジニアの連携と実践
satomino
3
830
経済メディア編集部の実務に小さく刺さるAI / small-ai-with-editorial
nkzn
2
520
転職したらMCPサーバーだった件
nwiizo
13
9.9k
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
750
Featured
See All Featured
BBQ
matthewcrist
88
9.6k
Designing Experiences People Love
moore
142
24k
Docker and Python
trallard
44
3.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Fireside Chat
paigeccino
37
3.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Side Projects
sachag
453
42k
How GitHub (no longer) Works
holman
314
140k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Agile that works and the tools we love
rasmusluckow
329
21k
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 の前段で認可周りや流量制御を任せるのが標準的な使い方です