type
status
date
slug
summary
tags
category
icon
password
理論
AWS Global Acceleratorとは
AWS Global Accelerator は、アプリケーションのグローバルユーザーに対する低レイテンシー、信頼性、パフォーマンスを向上させるサービスです。
主な特徴:
- グローバルエンドポイント管理:
- 複数のAWSリージョンやリソース(ALB, NLB, EC2インスタンスなど)を単一のエンドポイントで公開。
- 障害時にはヘルスチェックで健全なエンドポイントへ自動的にトラフィックを切り替え。
- AWSバックボーンネットワーク:
- ユーザーのリクエストを最も近いエッジロケーションからAWSバックボーンネットワーク経由で処理。
- インターネット経由よりも高速で信頼性の高いルーティング。
- DNSベースではない:
- クライアントからGlobal Acceleratorへの接続は静的IPアドレスを使用するため、DNSキャッシュの影響を受けない。
主なユースケース:
- グローバルなユーザーに対する高可用性アプリケーション。
- 複数リージョンを跨ぐ負荷分散やフォールトトレランス。

CloudFrontとは
Amazon CloudFront は、静的および動的コンテンツを高速に配信するコンテンツデリバリーネットワーク (CDN) です。
主な特徴:
- エッジロケーション:
- 世界中のエッジロケーションを活用して、ユーザーに最も近いポイントからコンテンツを配信。
- キャッシュの活用:
- 静的コンテンツをキャッシュし、オリジンサーバーへの負荷を軽減。
- 動的コンテンツもリアルタイムで配信可能。
- セキュリティ機能:
- AWS Shield StandardやAWS WAFと統合し、DDoS攻撃や不正アクセスを防止。
主なユースケース:
- ウェブサイトや動画の配信。
- APIの高速化。
- セキュリティ強化(SSL/TLS暗号化やオリジンシールド)。
Route 53のフェイルオーバーとCloudFrontの比較表
特徴 | Route 53 フェイルオーバー | CloudFront |
主な用途 | DNSベースでのリソース切り替え | コンテンツの高速配信 |
切り替え対象 | IPアドレスやDNSレコード | オリジン(ALB, S3バケットなど) |
動作方法 | ヘルスチェックに基づいてレコードを切り替え | プライマリとセカンダリのオリジングループ |
応答速度 | DNSキャッシュに依存し、数分かかる場合あり | 即時切り替え(オリジングループ機能) |
セキュリティ | DNSベースのセキュリティ(簡易的) | AWS WAFやShieldでDDoS対策が可能 |
主な制約 | DNSキャッシュの影響を受ける | 配信対象がCloudFront経由である必要 |
ALBはリージョン間のフォールトオーバーができない理由
ALB(Application Load Balancer)は、単一のAWSリージョン内でトラフィックを分散するためのサービスです。
理由:
- リージョンスコープの制限:
- ALBはリージョン内のリソース(EC2インスタンスやターゲットグループ)のみを管理可能。
- グローバルIPアドレスがない:
- ALBは静的なグローバルIPアドレスを提供しないため、他リージョンとの直接的なトラフィック切り替えができない。
- 代替ソリューション:
- グローバルフォールトオーバーには、AWS Global AcceleratorやCloudFrontを利用してリージョンを跨ぐトラフィック管理を実現。
これらの知識を活用することで、信頼性の高いAWSアーキテクチャを設計できます。
実践

一問道場
質問 #52
ある会社が AWSクラウド で Web アプリケーションを運用しています。このアプリケーションは、以下の構成になっています:
- Amazon EC2 インスタンス で作成された動的コンテンツ。
- EC2 インスタンスは Auto Scaling グループ に属しており、Application Load Balancer (ALB) のターゲットグループとして設定されている。
さらに、会社は以下のサービスを使用しています:
- Amazon CloudFront: アプリケーションをグローバルに配信。CloudFront ディストリビューションは ALB をオリジンとして使用している。
- Amazon Route 53: DNS 管理に利用。
www.example.com
の A レコード を CloudFront ディストリビューションに設定済み。
課題
ソリューションアーキテクトは、このアプリケーションを 高可用性 かつ フォールトトレラント にするように構成する必要があります。
どのソリューションがこれらの要件を満たしますか?
選択肢
A.
- 異なる AWS リージョンに、フルセットのセカンダリアプリケーションデプロイメントを構築する。
- Route 53 の A レコードをフェイルオーバーレコードに更新する。
- 両方の CloudFront ディストリビューションを値として追加し、Route 53 のヘルスチェックを作成する。
B.
- 異なる AWS リージョンに ALB、Auto Scaling グループ、および EC2 インスタンスを構築する。
- CloudFront ディストリビューションを更新し、新しい ALB をオリジンとして追加する。
- 2 つのオリジンを含むオリジングループを作成し、一方をプライマリ、もう一方をセカンダリとして設定する。
C.
- 異なる AWS リージョンに Auto Scaling グループと EC2 インスタンスを構築する。
- 新しい Auto Scaling グループのターゲットを ALB に追加する。
- ALB にフェイルオーバールーティングアルゴリズムを設定する。
D.
- 異なる AWS リージョンに、フルセットのセカンダリアプリケーションデプロイメントを構築する。
- 新しい CloudFront ディストリビューションを作成し、新しいアプリケーションセットアップをオリジンとして追加する。
- AWS Global Accelerator を作成し、両方の CloudFront ディストリビューションをエンドポイントとして追加する。
どれが適切なソリューションですか?
問題の解説
問題概要
この問題では、AWS CloudFrontを利用してアプリケーションをグローバルに配信しつつ、高可用性 (High Availability) とフォールトトレランス (Fault Tolerance) を実現する構成を選ぶ必要があります。
以下の要素がポイントです:
- 高可用性: アプリケーションが障害発生時でも稼働し続けること。
- フォールトトレランス: 一部のコンポーネントに障害が起きても、全体の機能が停止しない設計。
- CloudFrontとALBの役割: CloudFrontがユーザーに近いエッジでコンテンツを配信し、ALBがオリジンとしてEC2インスタンスへの負荷分散を行う。
選択肢の評価
A: Route 53によるフェイルオーバー
- 構成: 2つのCloudFrontディストリビューションを異なるリージョンに配置し、Route 53のフェイルオーバーレコードを使用。
- 評価:
- DNSフェイルオーバーは動作に数分の遅延が生じる可能性があります(DNSキャッシュの影響)。
- 高可用性とフォールトトレランスを実現しますが、切り替えの速度が遅く、ユーザー体験に影響を及ぼす可能性があります。
- 結果: 適切だが、より迅速な切り替えが可能な方法が優先されます。
B: CloudFrontのオリジングループ
- 構成: 2つのALB(異なるリージョン)をCloudFrontのオリジンとして設定し、プライマリとセカンダリをオリジングループで管理。
- 評価:
- CloudFrontのオリジングループはヘルスチェックを利用して、プライマリの障害時にセカンダリへ即座に切り替えます。
- DNSキャッシュの影響を受けず、迅速かつシームレスな切り替えが可能です。
- 結果: この方法が最も高可用性とフォールトトレランスを効率的に実現します。 正解。
C: ALB内でのフォールトオーバー
- 構成: 単一のALB内に複数リージョンのターゲットを設定。
- 評価:
- ALBは単一リージョン内での負荷分散しか対応しておらず、複数リージョン間でのフォールトトレランスを実現できません。
- 結果: 不適切。
D: AWS Global Acceleratorの利用
- 構成: Global Acceleratorを使用し、複数のCloudFrontディストリビューションをエンドポイントとして設定。
- 評価:
- 高可用性とフォールトトレランスを実現可能。
- ただし、Global Acceleratorは通常、非常に低レイテンシーを要求するリアルタイムアプリケーション向けで、今回のWebアプリケーションには過剰なアプローチです。
- 結果: 適切だが、コストと複雑さの観点から非推奨。
正解
B: CloudFrontのオリジングループを使用
ポイントとなる本質的な知識
- CloudFrontのオリジングループ:
- プライマリオリジンが利用不可になると、セカンダリオリジンに即座に切り替え可能。
- DNSキャッシュの影響を受けないため、迅速な切り替えを実現。
- ALBのリージョン制限:
- ALBは単一リージョン内のリソースを管理するため、リージョン間でのフォールトトレランスには不適切。
- Route 53のフェイルオーバー:
- ヘルスチェックによるフェイルオーバーが可能だが、DNSキャッシュにより切り替えの遅延が発生。
- Global Accelerator:
- 非常に低レイテンシーを必要とするアプリケーションに適しているが、今回のケースではCloudFrontで十分対応可能。
これらを踏まえると、Bの構成が最適となります。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/169d7ae8-88e2-80f6-8ac7-fb8662b92f0d
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章