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
あの頃数百自治体のコロナワクチン 予約フォームを救ったWaiting Roomの運用
Search
たけだ
April 25, 2023
Technology
2
2.9k
あの頃数百自治体のコロナワクチン 予約フォームを救ったWaiting Roomの運用
Cloudflare Meetup Tokyo Kick Off !!
でLT登壇したスライドです。
https://cfm-cts.connpass.com/event/275461/
たけだ
April 25, 2023
Tweet
Share
More Decks by たけだ
See All by たけだ
あの頃数百自治体のコロナワクチン予約フォームを救ったWaiting Roomの運用
taketakekaho
2
420
Cloudflare_MeetUp_Sapporo_KickOff.pdf
taketakekaho
1
200
AWS初心者抜けきれない私がAWS SamuraiとAWS Community Builderの特権フル活用したらどんなものが作れるか挑戦したこと
taketakekaho
0
95
EC2 T2つまずきやすいCPUクレジット再演
taketakekaho
0
87
AWSとLINEをつないでAIボットを作ろう!初心者編
taketakekaho
0
86
AWSとLINEをつないでAIボットを作ろう
taketakekaho
0
81
LGWANでも使えるシナリオ型チャットボットをAWS ECSで構築し数百自治体に提供している話
taketakekaho
0
1.7k
コミュニティを活用した勉強習慣化.pdf
taketakekaho
1
450
20180621_Node学園LT
taketakekaho
0
24
Other Decks in Technology
See All in Technology
10分でわかるfreeeのQA
freee
1
3.4k
一休.comレストランにおけるRustの活用
kymmt90
3
580
分布で見る効果検証入門 / ai-distributional-effect
cyberagentdevelopers
PRO
4
690
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
140
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.5k
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
270
生成AIの強みと弱みを理解して、生成AIがもたらすパワーをプロダクトの価値へ繋げるために実践したこと / advance-ai-generating
cyberagentdevelopers
PRO
1
180
オニオンアーキテクチャで実現した 本質課題を解決する インフラ移行の実例
hryushm
14
3k
GitHub Universe: Evaluating RAG apps in GitHub Actions
pamelafox
0
170
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
CyberAgent 生成AI Deep Dive with Amazon Web Services / genai-aws
cyberagentdevelopers
PRO
1
480
Automated Promptingを目指すその前に / Before we can aim for Automated Prompting
rkaga
0
110
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
We Have a Design System, Now What?
morganepeng
50
7.2k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
How to Ace a Technical Interview
jacobian
275
23k
Bash Introduction
62gerente
608
210k
Practical Orchestrator
shlominoach
186
10k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
Writing Fast Ruby
sferik
626
61k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
Transcript
あの頃数百自治体のコロナワクチン 予約フォームを救ったWaiting Room の運用 たけだ 2023/4/25 Cloudflare Meetup Tokyo Kick
Off! # C l o u d f l a r e U G _ h n d # C l o u d f l a r e U G
武田可帆里 @taketakekaho 青森県八戸市出身 株式会社トラストバンク所属 趣味:ゴルフ、ワーケーション、スキューバダイビング Cloudflare利用歴4年(まだビギナー) 好きなCloudflare機能:Waiting Room たけだの 自己紹介 #
CloudflareUG_cts <経歴> SIer 金融事業本部 銀行システム開発インフラ ↓ チェンジ NewITコンサル事業部 エンジニアっぽい人 ↓ トラストバンク パブリテック事業部 自治体向けSaaS PdM 兼 なんでも屋
デジタル化総合プラットフォーム 自治体職員が電子申請や申込予約、アンケートなどのフォームを作成・集計し、 一元管理できる自治体専用のデジタル化総合プラットフォーム # C l o u d f
l a r e U G _ h n d # C l o u d f l a r e U G
利用ユーザー オリジンサーバ (日本産クラウドサーバ) 悪意のあるボット 不正アクセス・ サイバー攻撃 2020 年リリース当初からhttps 化とセキュリティ対策目的でCloudflare を導入
# C l o u d f l a r e U G _ h n d # C l o u d f l a r e U G
コロナワクチン予約 急に決まったワクチン接種運用。 スピード重視のため自治体ごとの運用 に委ねられて日本中の1,788 自治体がワ クチン予約受付運用の検討を余儀なく される LoGo フォーム使えますか?の相談が殺 到。。
予約開始時点のアクセス集中に耐えら れるかが予測しにくい状況。 # C l o u d f l a r e U G _ h n d # C l o u d f l a r e U G
お?!!! https://classmethod.jp/news/20210310-digital-wating-room/ # C l o u d f l
a r e U G _ h n d # C l o u d f l a r e U G
Waiting Room とは? アクセスが集中するWeb サイトについて、既存のサーバー構成を変更することな く、アクセス待機の順番管理を可能にするサービス。 アクセスが集中するWeb サイトに設定以上のアクセスが発生した場合、デジタル待 機室として用意したWeb ページへ自動で案内され、アクセス待機の順番管理を行う
仕組みです。自分の順番になると、ワクチン予約ページに自動で誘導される。 # C l o u d f l a r e U G _ h n d # C l o u d f l a r e U G
仕様の注意 # C l o u d f l a
r e U G _ h n d # C l o u d f l a r e U G キャッシュをユニークユーザとして認識しておりLoGo フォームのアカウン トなどを認識しているわけではない
仕様の注意 # C l o u d f l a
r e U G _ h n d # C l o u d f l a r e U G 予約フォームで何人が操作中なのかは認識せず、Cloudflare 内で設定され た待ち行列アルゴリズムで待ち時間を予測してページに誘導している。 オリジンサーバの負荷状況などを見ているわけではない。
トラフィック > Waiting Room # C l o u d
f l a r e U G _ h n d # C l o u d f l a r e U G
これだけで設定できちゃう
デザインカスタマイズも可能 # C l o u d f l a
r e U G _ h n d # C l o u d f l a r e U G
困ったこと・ 工夫したこと 4 選 # C l o u d
f l a r e U G _ h n d # C l o u d f l a r e U G
①「〇〇万人が同時にアクセスしてきた場合、 目安として何分待つことになるんですか?」 に答えられない 非公式でこっそり教えてもらった計算方法 待ち行列の計算式らしい W = 1/μ ln λ/μ
# C l o u d f l a r e U G _ h n d # C l o u d f l a r e U G
凡人の私には 理解できない 計算方法の解説は諦めて、小規模な自 治体から導入実績とって過去の実績か ら目安を回答。 # C l o u
d f l a r e U G _ h n d # C l o u d f l a r e U G
②設定値の最適値がわからず異常な待ち時間で不満に つながるリスク 設定を緩くしすぎるとサービスへの負荷のリスクとな るため念のため最初は厳しめの設定で予約開始にして 予約開始後の待ち時間と人数を監視しながら少しずつ 設定を緩和していく運用にした。 # C l o
u d f l a r e U G _ h n d # C l o u d f l a r e U G
③予約の不公平さが発生 予約時間前から予約ページにアクセスしていた場 合には待合室への自動遷移対象にならないので行 列に並ぶことなく予約ができてしまいクレームに つながる ↓ 事前に設置するのではなく予約開始時点で有効に する運用に変更 # C
l o u d f l a r e U G _ h n d # C l o u d f l a r e U G
④API を経由してSlack で待合室発動と行列に並んだ人 数を通知 予約開始から30 分は定期的に通知するように設定 https://zenn.dev/takayuki_n/articles/3a95582c631403 # C l
o u d f l a r e U G _ h n d # C l o u d f l a r e U G
亀田さんが1 か月前にZenn で公開してくれてる # C l o u d f
l a r e U G _ h n d # C l o u d f l a r e U G
まとめ クラメソさん、Cloudflare さんマジでありがとう 実際にはこういうケースを想定した料金プランはないので今 後の運用は課題 全部の機能わからなくてもとりあえずCloudflare 使っとくと 色々恩恵受けられるので是非試してみて! # C
l o u d f l a r e U G _ h n d # C l o u d f l a r e U G
THANK YOU! 2023/4/25 Cloudflare Meetup Tokyo Kick Off!! # C
l o u d f l a r e U G _ h n d # C l o u d f l a r e U G