⚡ 可用性・障害対応:CloudFrontの使いどころ

【CloudFrontの役割(耐障害性と高可用性)】

目次

🔍 1. 結論

💎 一言でいうと セキュリティだけでなく「弾力性」の観点での CloudFront の最大の役割は、「急激なアクセス集中(スパイク)をエッジロケーションで吸収し、背後のEC2やS3をパンクさせないこと(オフロード)」 です。

  • ユーザーからのリクエストの大部分を、オリジン(サーバー)の代わりにキャッシュで返す。
  • これにより、サーバーの台数(Auto Scalingの規模)を小さく抑えつつ、落ちないシステムを作れる。

📈 2. SAAで出やすいポイント

  • オリジン(バックエンド)の負荷軽減: テレビ放送やSNSのバズ等でトラフィックが100倍に跳ね上がった際、EC2のAuto Scalingだけではスケールアウト(起動)が間に合わずダウンする可能性があります。CloudFrontを前に置いておけば、静的コンテンツ(画像やHTML)はCloudFrontが瞬時に返すため、EC2に負荷がかかりません。
  • 動的コンテンツの配信最適化: キャッシュできない動的コンテンツ(APIやユーザー別データ)であっても、CloudFrontを経由させることで、AWSの高品質なグローバルプライベートネットワークを通って通信が最適化されるため、パフォーマンスと安定性が向上します。
  • 高可用性エラーページ (Custom Error Pages): オリジン(EC2やS3)が万が一ダウンして「503 Service Unavailable」などを返した場合でも、CloudFront側で用意した「お詫びページ(カスタムエラーページ)」をキャッシュしてユーザーに返すことで、システムとしての体裁(可用性)を保つことができます。

🗝 3. キーワードでの判断

問題文のキーワード 疑うサービス・構成
📈 「予測不可能なスパイクによるWebサーバーの過負荷を防ぎたい」 CloudFront (キャッシュによるオフロード)
🌍 「世界中のユーザーに同じ静的コンテンツを高速に配信したい」 CloudFront
🛠️ 「オリジンサーバーのダウン時に、代替の静的ページを見せたい」 CloudFront カスタムエラーレスポンス

⚠️ 4. ひっかけポイント

🚫 よくある誤答パターン – 「EC2インスタンスのスペックを最大にする(垂直スケーリング)」 → 突発的な負荷に対する正解にはなりません。キャッシュ(CloudFrontやElastiCache)で負荷自体を減らすアプローチが優先されます。 – 「Global Accelerator との混同」 → どちらもグローバル配信を最適化しますが、「HTTP(S)のキャッシュ」が目的なら CloudFront、「非HTTP(TCP/UDP)や、キャッシュ不要でとにかく一番早い経路を通したい」なら Global Accelerator です。


💡 5. 覚え方

🧠 暗記ショートカット – CloudFront = 「お店(サーバー)の前に立った優秀な呼び込みスタッフ」。 – 客からのよくある質問(静的コンテンツ)にはスタッフがその場で答えて帰すので、店長(EC2)は本当に大事な仕事(動的処理)だけに集中でき、過労死しない。


📚 6. 関連サービス

アイコン サービス名 CloudFrontとの役割分担
🪣 Amazon S3 CloudFrontのオリジン(データの元)として最も一般的な組み合わせ
⚖️ ALB CloudFrontの背後で、動的リクエストを複数EC2に分散する
🌍 AWS Global Accelerator キャッシュではなく「IPエニーキャスト」を用いたネットワークルーティング最適化

🗒️ 7. Obsidian管理メモ

  • 見返すタイミング: 負荷分散戦略、キャッシュレイヤーの設計学習時
  • 関連ノート候補: AWS_SAA_CloudFront_vs_GlobalAccelerator

8. HTMLファイル名: AWS_弾力性設計_CloudFront.html

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次