コンテンツにスキップ

第2部まとめ

第9講 / 全32講読了目安 約25分
  • 第2部で学んだ概念のつながり
  • Webサイトの構成を、管理負荷・費用・更新・障害の観点で比較する方法
  • サーバーレスやCDNを「流行の技術」ではなく判断軸として捉える方法
  • 実案件で構成案をレビューするときの質問
flowchart LR
    U[利用者] --> DNS[DNS]
    DNS --> EDGE[CDN・WAF]
    EDGE --> HOST[静的ホスティング<br/>Webサーバー]
    HOST --> FUNC[サーバー側処理<br/>サーバーレス関数]
    HOST --> CMS[CMS]
    HOST --> API[外部API]
    FUNC --> DATA[データ・外部サービス]

Webサイトを動かす基盤は、一つのサーバーとは限りません。

重要なのは、次の問いへ答えられることです。

  1. どこでファイルを配信するか
  2. どこで動的処理を行うか
  3. どこにデータを保存するか
  4. どこにキャッシュがあるか
  5. どの通信をWAFで保護するか
  6. 誰が契約・設定・監視・復旧するか

サーバーやOSを自社で管理するのか、クラウドやSaaS事業者へ任せるのかを整理します。

自由度の高い環境は、特殊要件へ対応しやすい一方、管理対象が増えます。マネージドサービスは管理を減らせますが、仕様や料金へ依存します。

静的ホスティングでは、CMS更新、ビルド、デプロイ、キャッシュ削除の経路を確認します。アクセス時に生成する構成では、サーバー処理やランタイム障害を考慮します。

月額固定だけでなく、通信量、保存量、ビルド、関数実行、ログ、外部API等の従量費用を確認します。

サービスを分割すると、一つの障害が全体を止めにくくなる場合があります。一方、障害箇所や連絡先は増えます。

技術構成だけでなく、契約者、管理者、作業者、承認者、一次対応者を決めます。

構成案をレビューするときの質問

Section titled “構成案をレビューするときの質問”
  • なぜこのホスティング方式を選ぶのか
  • OSやミドルウェアの管理は誰が行うのか
  • 開発・検証・本番環境はどう分けるのか
  • 通常時と繁忙時の費用はいくらか
  • バックアップと復元はどうするのか

サーバーレス・静的ホスティング

Section titled “サーバーレス・静的ホスティング”
  • 静的に配信する範囲はどこか
  • 動的な機能はどのサービスで処理するか
  • CMS更新から反映まで何分かかるか
  • ビルドが失敗した場合はどうするか
  • プレビューは本番と同じ条件で確認できるか
  • 何をキャッシュするか
  • キャッシュを何分・何日保持するか
  • 緊急時に誰が削除できるか
  • オリジンへ直接アクセスできるか
  • 更新されない場合の切り分け手順はあるか
  • 何を守る目的で導入するか
  • 遮断ログを誰が確認するか
  • 正常な通信を誤って遮断した場合に誰が調整するか
  • WAF以外の権限・更新・診断はどうするか
  • 各サービスの契約者は誰か
  • 管理者権限を持つのは誰か
  • 障害を誰が検知し、誰が一次対応するか
  • 外部事業者へ誰が問い合わせるか
  • 契約終了時に設定・データをどう引き渡すか

ケーススタディ1:コーポレートサイトのリニューアル

Section titled “ケーススタディ1:コーポレートサイトのリニューアル”
  • 約500ページ
  • 更新はヘッドレスCMS
  • ログイン機能なし
  • 月数回ニュース更新
  • 大きなアクセス集中は少ない
  • グローバル配信
  • 保守担当は少人数
  • Astro等で静的HTMLを生成
  • 静的ホスティング+CDNで配信
  • CMS更新時にWebhookでビルド
  • 問い合わせは外部フォームサービスまたはサーバーレス処理
  • DNS・証明書・CDNはクライアント契約
  • 500ページの通常・最大ビルド時間
  • CMS更新から公開までの所要時間
  • ビルド失敗時の通知
  • プレビュー方法
  • キャッシュ削除
  • フォームの個人情報管理
  • クライアント側の管理権限
  • 契約終了時のソース・設定引継ぎ

この要件では、常時稼働するWebサーバーが必須とは限りません。ただし、更新反映とビルド運用を設計する必要があります。

ケーススタディ2:会員向けWebサービス

Section titled “ケーススタディ2:会員向けWebサービス”
  • ログイン
  • 利用者ごとの情報
  • 外部業務システムと連携
  • 毎日データ更新
  • 一部リアルタイム処理
  • 個人情報を扱う

静的ホスティングだけでは完結しません。

  • 認証
  • API
  • データベース
  • サーバー側処理
  • 権限
  • 監視
  • ログ
  • バックアップ
  • セキュリティ対応

が必要です。

ページの一部を静的配信し、会員機能をサーバー・コンテナ・PaaS・サーバーレス関数等で実装する構成も考えられます。

  • 認証と権限の責任者
  • 個人情報の保存先
  • 外部システム障害時の動作
  • APIタイムアウト
  • 監視・夜間対応
  • 復旧目標
  • セキュリティ診断
  • 月額運用費

ケーススタディ3:キャンペーンサイト

Section titled “ケーススタディ3:キャンペーンサイト”
  • 公開期間は3か月
  • テレビCM後にアクセス集中
  • 応募フォームあり
  • 当選者情報を扱う
  • 終了後はアーカイブする

ページ本体は静的ホスティング+CDNと相性がよい可能性があります。

ただし応募フォームには、次が必要です。

  • 入力検証
  • スパム・Bot対策
  • 個人情報の保存
  • 重複応募制御
  • 大量送信への耐性
  • 通知・ログ
  • 終了後のデータ削除

「サイトが静的だからシステムではない」と考えないことが重要です。

クライアントから「サーバーレスなので保守費用は不要ですよね」と言われました。どのように説明しますか。

回答例 OSや物理サーバーの管理は減りますが、CMS、ビルド、権限、キャッシュ、外部API、ログ、料金監視、障害切り分け、ライブラリ更新等は残ります。保守対象がなくなるのではなく変わる、と説明します。

CMS更新後、制作会社のPCでは新しい内容が見える一方、クライアントには古い内容が見えています。何を確認しますか。

回答例 ブラウザキャッシュ、CDN拠点ごとのキャッシュ、ログイン状態、URL差、ビルド・デプロイ結果を確認します。誰にどのURLで、いつから起きているかも整理します。

WAFを導入したため、脆弱性診断を省略したいという意見が出ました。どう判断しますか。

回答例 WAFは通信を監視・遮断する多層防御の一部であり、アクセス制御、設定ミス、秘密情報、業務ロジック、古いライブラリ等をすべて防ぐものではありません。診断やレビューの代替にはなりません。

制作会社名義で契約したCMSをクライアントが5年間使います。どのようなリスクがありますか。

回答例 制作会社変更・契約終了時の管理権移管、請求、データ所有、解約、サポート問い合わせ、担当退職等のリスクがあります。可能ならクライアント名義または正式な移管手順を用意します。

SSGサイトが数万ページに増え、更新反映に長時間かかっています。どのような選択肢がありますか。

回答例 差分ビルド、オンデマンド再生成、ページ単位の再検証、更新頻度の高い部分だけ動的取得、ビルド環境強化、コンテンツ分割等を比較します。表示速度だけでなく運用と費用を含めて判断します。

次を自分の言葉で説明できれば、第2部の基礎は理解できています。

  • サーバーとクラウドの関係
  • サーバーレスでもサーバーは存在すること
  • 静的ホスティングとサーバーレス関数の役割の違い
  • S3とCloudFrontの役割
  • CDNのオリジン・エッジ・キャッシュ
  • WAFが守る範囲と守れない範囲
  • 契約者・管理者・作業者の違い
  • 外部サービス障害時にPMが行うこと

次の第3部では、こうした基盤へ配置されるHTML、JavaScript、フレームワーク、レンダリング方式、ビルドについて学びます。