architecture
A
信頼度ランク
| S | 公式ソース確認済み |
| A | 成功実績多数・失敗例少数 |
| B | 賛否両論 |
| C | 動作未確認・セキュリティリスク高 |
| Z | 個人所感 |
Global Accelerator vs CloudFront — TCP/UDPとHTTP配信の使い分け
AWS Global AcceleratorとCloudFrontの根本的な違い、Anycastネットワーク、静的IPアドレス、エッジキャッシュとの比較、ゲーム・VoIP・APIへの適用パターンを解説。
一言結論
Global AcceleratorはAnycast固定IPによるネットワーク加速でTCP/UDP・30秒以内フェイルオーバー・IPホワイトリストに最適であり、CloudFrontはキャッシュによるHTTPコンテンツ配信に特化しているため「固定IPが必要か」「キャッシュが有効か」で選択が明確に分かれる。
2つのサービスの根本的な違い
| 特徴 | Global Accelerator | CloudFront |
|---|---|---|
| 対応プロトコル | TCP, UDP | HTTP/HTTPS |
| キャッシュ機能 | なし | あり(CDN) |
| エッジでの処理 | なし(エッジは経路最適化のみ) | あり(キャッシュ、Lambda@Edge等) |
| 固定IP | 静的Anycast IP(2つ) | なし(CloudFrontドメインを使用) |
| 対象ユーザー | レイテンシー最小化が必要なAPI/ゲーム | 静的/動的コンテンツ配信 |
| DDoS対応 | Shield Standard(基本) | Shield Advanced対応 |
Global Acceleratorの仕組み
Global Acceleratorは2つの静的Anycast IPアドレスを提供する。ユーザーが最も近いAWSエッジロケーションに接続し、そこからAWSのバックボーンネットワーク(高速・安定)を経由してオリジンにアクセスする。
通常のインターネット経由:
ユーザー → インターネット(複数のISPホップ) → オリジン
→ 可変レイテンシー、パケットロスのリスク
Global Accelerator経由:
ユーザー → エッジロケーション(最近接) → AWSバックボーン → オリジン
→ 安定した低レイテンシー
# Global Acceleratorの作成
aws globalaccelerator create-accelerator \
--name my-accelerator \
--enabled \
--ip-address-type IPV4
# リスナーの追加(TCP 80/443)
aws globalaccelerator create-listener \
--accelerator-arn arn:aws:globalaccelerator::123456789012:accelerator/xxx \
--protocol TCP \
--port-ranges '[{"FromPort":80,"ToPort":80},{"FromPort":443,"ToPort":443}]'
# エンドポイントグループの追加(ALBを指定)
aws globalaccelerator create-endpoint-group \
--listener-arn arn:aws:globalaccelerator::123456789012:accelerator/xxx/listener/yyy \
--endpoint-region ap-northeast-1 \
--endpoint-configurations '[{
"EndpointId": "arn:aws:elasticloadbalancing:ap-northeast-1:123456789012:loadbalancer/app/my-alb/xxx",
"Weight": 100,
"ClientIPPreservationEnabled": true
}]'
静的IPアドレスのメリット
CloudFrontはDNSで解決するため、IPアドレスが変動する。Global AcceleratorはAnycast固定IPを持つため:
メリット:
- IPホワイトリストが容易(固定IP2つだけ)
- DNSのTTL待ちなしでフェイルオーバー(30秒以内)
- ファイアウォールルールの簡素化
- Client IP Preservationにより送信元IPが保持される
典型的なユースケース:
- 法規制でIPホワイトリストが必要なシステム
- 企業のAPI Gateway(取引先がIPで制限している場合)
- ゲームサーバー(UDP使用)
- VoIP/WebRTC
フェイルオーバーの速度
Global Accelerator:
ヘルスチェック間隔: 30秒
フェイルオーバー: ~30秒以内(Anycastルーティングの切り替え)
CloudFront:
オリジンのヘルスチェック → 失敗時に別オリジンへ自動フォールバック
Origin Groups設定時: フェイルオーバー可能
Route 53 フェイルオーバー:
DNS TTLに依存(最短60秒、クライアントのDNSキャッシュも考慮)
重みに基づくトラフィック分散
# エンドポイントグループで東京と大阪に重みを設定
aws globalaccelerator create-endpoint-group \
--listener-arn arn:... \
--endpoint-region ap-northeast-1 \
--traffic-dial-percentage 80 \
--endpoint-configurations '[{
"EndpointId": "arn:aws:elasticloadbalancing:ap-northeast-1:...",
"Weight": 100
}]'
aws globalaccelerator create-endpoint-group \
--listener-arn arn:... \
--endpoint-region ap-northeast-3 \
--traffic-dial-percentage 20 \
--endpoint-configurations '[{
"EndpointId": "arn:aws:elasticloadbalancing:ap-northeast-3:...",
"Weight": 100
}]'
CloudFrontとの使い分け
CloudFrontを使うべきケース:
- 静的コンテンツ(画像、CSS、JS)の高速配信
- 動的コンテンツのキャッシュ
- Lambda@Edgeでエッジコンピューティング
- WAFとの連携(WAF + CloudFront)
- 大量コンテンツ配信でコスト最小化
Global Acceleratorを使うべきケース:
- TCP/UDPアプリケーション(ゲーム、VoIP)
- HTTP APIで安定した低レイテンシーが必要
- 固定IPアドレスが必要
- 高速なフェイルオーバー(30秒以内)
- Client IPの保持が必要
試験頻出ポイント
| シナリオ | 回答 |
|---|---|
| ゲームサーバー(UDP使用)の低レイテンシー | Global Accelerator |
| 静的コンテンツのキャッシュと配信 | CloudFront |
| 固定IPでAPIを公開したい | Global Accelerator |
| 法規制でIPホワイトリストが必要 | Global Accelerator |
| Lambda@Edgeで認証処理をしたい | CloudFront |
| HTTP以外(TCP/UDP)を加速したい | Global Accelerator |
まとめ
Global AcceleratorはAWSバックボーンを活用したネットワークアクセラレーターで、固定IPと安定した低レイテンシーが特徴だ。CloudFrontは**CDN(コンテンツ配信ネットワーク)**でキャッシュによるパフォーマンス向上が特徴だ。TCPアプリ・ゲーム・VoIPはGlobal Accelerator、静的/動的コンテンツ配信はCloudFrontを選ぶ。