Upgrade to Pro — share decks privately, control downloads, hide ads and more …

あの頃数百自治体のコロナワクチン予約フォームを救ったWaiting Roomの運用

あの頃数百自治体のコロナワクチン予約フォームを救ったWaiting Roomの運用

以下の勉強会のLTスライドです。
https://cfm-cts.connpass.com/event/275197/
Cloudflare Meetup Nagano Kick Off!

たけだ

April 15, 2023
Tweet

More Decks by たけだ

Other Decks in Technology

Transcript

  1. あの頃数百自治体のコロナワクチン
    予約フォームを救ったWaiting
    Room
    の運用
    たけだ
    2023/4/15
    Cloudflare Meetup Nagano Kick Off!
    # C l o u d f l a r e U G _ m m j

    View Slide

  2. 武田可帆里 @taketakekaho
    青森県八戸市出身
    株式会社トラストバンク所属
    趣味:ゴルフ、ワーケーション、スキューバダイビング
    Cloudflare利用歴4年(まだビギナー)
    好きなCloudflare機能:Waiting Room
    たけだの
    自己紹介
    # CloudflareUG_cts
    <経歴>
    SIer 金融事業本部 銀行システム開発インフラ

    チェンジ NewITコンサル事業部 エンジニアっぽい人

    トラストバンク パブリテック事業部 自治体向けSaaS PdM 兼 なんでも屋

    View Slide

  3. 初めての長野でワーケーションしました。楽しい!!!
    急遽参加したのに誰よりもくつろぐ亀田さんさすが。

    View Slide

  4. デジタル化総合プラットフォーム
    自治体職員が電子申請や申込予約、アンケートなどのフォームを作成・集計し、
    一元管理できる自治体専用のデジタル化総合プラットフォーム
    # C l o u d f l a r e U G _ m m j

    View Slide

  5. 利用ユーザー
    オリジンサーバ
    (日本産クラウドサーバ)
    悪意のあるボット
    不正アクセス・
    サイバー攻撃
    弊社ではhttps
    化とセキュリティ対策目的でとりあえずCloudflare
    設置しとけ的な考え方
    でリリース当初から設置してました。

    View Slide

  6. コロナワクチン予約
    急に決まったワクチン接種運用。
    スピード重視のため自治体ごとの運用
    に委ねられて日本中の1,788
    自治体がワ
    クチン予約受付運用の検討を余儀なく
    される
    LoGo
    フォーム使えますか?の相談が殺
    到。。
    予約開始時点のアクセス集中に耐えら
    れるかが予測しにくい状況。
    # C l o u d f l a r e U G _ m m j

    View Slide

  7. お?!!!
    https://classmethod.jp/news/20210310-digital-wating-room/
    # C l o u d f l a r e U G _ m m j

    View Slide

  8. Waiting Room
    とは?
    アクセスが集中するWeb
    サイトについて、既存のサーバー構成を変更することな
    く、アクセス待機の順番管理を可能にするサービス。
    アクセスが集中するWeb
    サイトに設定以上のアクセスが発生した場合、デジタル待
    機室として用意したWeb
    ページへ自動で案内され、アクセス待機の順番管理を行う
    仕組みです。自分の順番になると、ワクチン予約ページに自動で誘導される。

    View Slide

  9. トラフィック > Waiting Room

    View Slide

  10. これだけで設定できちゃう

    View Slide

  11. デザインカスタマイズも可能
    # C l o u d f l a r e U G _ m m j

    View Slide

  12. 困ったこと・
    工夫したこと
    4

    # C l o u d f l a r e U G _ m m j

    View Slide

  13. ①「〇〇万人が同時にアクセスしてきた場合、
    目安として何分待つことになるんですか?」
    に答えられない
    非公式でこっそり教えてもらった計算方法
    待ち行列の計算式らしい
    W = 1/μ ln λ/μ
    # C l o u d f l a r e U G _ m m j

    View Slide

  14. 凡人の私には
    理解できない
    計算方法の解説は諦めて、小規模な自
    治体から導入実績とって過去の実績か
    ら目安を回答。
    # C l o u d f l a r e U G _ m m j

    View Slide

  15. ②設定値の最適値がわからず異常な待ち時間で不満に
    つながるリスク
    設定を緩くしすぎるとサービスへの負荷のリスクとな
    るため念のため最初は厳しめの設定で予約開始にして
    予約開始後の待ち時間と人数を監視しながら少しずつ
    設定を緩和していく運用にした。
    # C l o u d f l a r e U G _ m m j

    View Slide

  16. ③予約の不公平さが発生
    予約時間前から予約ページにアクセスしていた場
    合には待合室への自動遷移対象にならないので行
    列に並ぶことなく予約ができてしまいクレームに
    つながる

    事前に設置するのではなく予約開始時点で有効に
    する運用に変更
    # C l o u d f l a r e U G _ m m j

    View Slide

  17. API
    を経由してSlack
    で待合室発動と行列に並んだ人数
    を通知
    予約開始から30
    分は定期的に通知するように設定
    # C l o u d f l a r e U G _ m m j
    https://zenn.dev/takayuki_n/articles/3a95582c631403

    View Slide

  18. 亀田さんが1
    か月前にZenn
    で公開してくれてる
    # C l o u d f l a r e U G _ m m j

    View Slide

  19. まとめ
    クラメソさん、Cloudflare
    さんマジでありがとう
    実際にはこういうケースを想定した料金プランはないので今
    後の運用は課題
    全部の機能わからなくてもとりあえずCloudflare
    使っとくと
    色々恩恵受けられるので是非試してみて!
    # C l o u d f l a r e U G _ m m j

    View Slide

  20. フルリモートワークOK
    ・PdM
    ・PM
    ・Developer
    ・SRE
    ・Support

    View Slide

  21. 第1
    回は満員になってしまいましたが2
    回目開催の時には是非!!
    東京Meetup
    立ち上げました~~

    View Slide

  22. THANK YOU!
    2023/4/15
    Cloudflare Meetup Nagano Kick Off!!
    # C l o u d f l a r e U G _ m m j

    View Slide