【Cloudflare】駐車場サイトではKVとAdmin画面がちょうどよかった
駐車場サイトの空き状況や電話番号のような頻繁に変わる公開値を、環境変数ではなくCloudflare KVとAdmin画面で扱った短い設計メモ。
駐車場のサイトを作ってくれと頼まれました。
murakami-parking.pages.dev 村上駐車場 葛飾区宝町エリアの月極駐車場サイト。料金、空き状況、地図、問い合わせ導線を1ページにまとめています。 https://murakami-parking.pages.dev/
作るとき、最初は静的サイトだけで十分に見えます。住所、料金、電話番号、空き状況を載せるだけなら、HTMLに直接書いても公開はできます。
ただ、運用を考えると少し事情が変わります。電話番号や空き状況のような値は、一見固定に見えても、現地側で変えたくなる可能性があります。そのたびにコードを変更して再デプロイするのは、サイトの規模に対して重すぎます。
そこで、公開ページは静的に保ちつつ、変わる値だけCloudflare KVに寄せました。トップページはAPI経由で設定値を読み、Admin画面から電話番号や空き状況を更新できるようにします。データベースを立てるほどではないが、再デプロイなしで変えたい、という用途にはちょうどよい構成でした。
Static Page
-> Pages Function
-> Cloudflare KV
この構成で大事なのは、何でもAdmin化しないことです。地域サイトで頻繁に変わる情報は限られます。料金、電話番号、空き状況、受付文言くらいに絞れば、管理画面も小さく保てます。
環境変数は、ビルド時や実行環境の設定には向いています。一方で、現地運用者が変える公開値は、KVや小さな設定APIに逃がした方が扱いやすいです。小規模サイトほど、この切り分けを早めにしておくと後が楽になります。