SJ blog
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 AcceleratorCloudFront
対応プロトコルTCP, UDPHTTP/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を選ぶ。