- シングルエッジノード — キャッシングリバースプロキシとして NGINX を実行する Ubuntu 24.04 VM 1台、最小構成の CDN エッジ
- Terraform デプロイメント — 完全な Azure インフラストラクチャのコード化:VNet、PIP、NSG、および cloud-init プロビジョニングを備えた VM
- 67 以上の CDN ベンダーヘッダー — True-Client-IP、CF-Connecting-IP、ジオロケーション、デバイス検出、JA3/JA4 フィンガープリント、ボットスコアを含む Akamai、Cloudflare、CloudFront、Fastly、Azure Front Door のリクエストヘッダーをシミュレート
- オリジンサーバー統合 — キャッシュミスをオリジンサーバーとして F5 XC HTTP ロードバランサーに転送するようエッジを設定
- キャッシュ検証 — X-Cache-Status ヘッダーと NGINX キャッシュ検査による HIT/MISS の動作を確認
デプロイ後、CDN エッジノードは以下のエンドポイントを公開します:
| エンドポイント | メソッド | 目的 |
|---|
http://<PUBLIC_IP>/health | GET | ヘルスチェック — コンポーネントのステータスとベンダープロファイルを含む JSON を返す |
http://<PUBLIC_IP>/ | GET | CDN プロキシ — リクエストをオリジンサーバーにキャッシュして転送 |
http://<PUBLIC_IP>/<any-path> | GET | CDN プロキシ — すべてのパスをキャッシュおよびベンダーヘッダー付きでプロキシ |
プロキシされたすべてのレスポンスに追加されるレスポンスヘッダー:
| ヘッダー | 例 | 目的 |
|---|
X-Cache-Status | HIT または MISS | レスポンスがキャッシュから提供されたかどうか |
X-CDN-Edge | cdn-simulator | このエッジノードを識別する |
X-CDN-POP | SJC | シミュレートされたプレゼンスポイントコード |
X-Served-By | cache-sjc3120-SJC | シミュレートされたキャッシュノード識別子 |
X-Request-ID | UUID | リクエストごとの一意の識別子 |
| ページ | 対象者 | 目的 |
|---|
| 概要 | 人間 + AI | アーキテクチャ、マルチベンダーのコンテキスト、シミュレート内容 |
| 前提条件 | AI | 必要なツール、Azure サブスクリプション、SSH キー、コスト見積もり |
| デプロイ | AI | 完全な Terraform HCL — コピーして適用するだけでデプロイ可能 |
| NGINX 設定 | 人間 + AI | 正確な値と目的を含む 67 以上のすべての CDN ベンダーヘッダー |
| 検証 | AI | 期待されるリクエスト/レスポンスの動作を含むスモークテストコマンド |
| F5 XC との統合 | 人間 + AI | エッジをオリジンサーバーとして F5 XC に接続し、エンドツーエンドで検証 |
| 削除 | AI | すべてのリソースを破棄し、クリーンアップコマンドを実行 |