Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
あの頃数百自治体のコロナワクチン 予約フォームを救ったWaiting Roomの運用
Search
たけだ
April 25, 2023
Technology
2
3.2k
あの頃数百自治体のコロナワクチン 予約フォームを救った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 たけだ
公共系SaaS屋として確実にメールを届けるために日々実施していること
taketakekaho
1
770
トヨクモ4製品で実現している基幹システムとオペレーション自動化事例紹介
taketakekaho
1
59
あの頃数百自治体のコロナワクチン予約フォームを救ったWaiting Roomの運用
taketakekaho
2
600
Cloudflare_MeetUp_Sapporo_KickOff.pdf
taketakekaho
1
270
AWS初心者抜けきれない私がAWS SamuraiとAWS Community Builderの特権フル活用したらどんなものが作れるか挑戦したこと
taketakekaho
0
150
EC2 T2つまずきやすいCPUクレジット再演
taketakekaho
0
130
AWSとLINEをつないでAIボットを作ろう!初心者編
taketakekaho
0
110
AWSとLINEをつないでAIボットを作ろう
taketakekaho
0
100
LGWANでも使えるシナリオ型チャットボットをAWS ECSで構築し数百自治体に提供している話
taketakekaho
0
2.2k
Other Decks in Technology
See All in Technology
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
MCP・A2A概要 〜Google Cloudで構築するなら〜
shukob
0
160
ページの可視領域を算出する方法について整理する
yamatai1212
0
160
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
48k
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
150
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
0
120
Databricksによるエージェント構築
taka_aki
1
120
あなたの知らないDateのひみつ / The Secret of "Date" You Haven't known #tqrk16
expajp
0
110
AI 時代のデータ戦略
na0
8
3.3k
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
800
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
280
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Embracing the Ebb and Flow
colly
88
4.9k
Automating Front-end Workflow
addyosmani
1371
200k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Being A Developer After 40
akosma
91
590k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Unsuck your backbone
ammeep
671
58k
Code Review Best Practice
trishagee
73
19k
Become a Pro
speakerdeck
PRO
30
5.7k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Balancing Empowerment & Direction
lara
5
780
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