AWS Global Accelerator によるグローバルネットワーク最適化 - 低レイテンシ配信とフェイルオーバー

Global Accelerator の Anycast IP によるトラフィックルーティング、エンドポイントグループの設計、CloudFront との使い分けを解説します。

Global Accelerator の仕組みと CloudFront との違い

この記事は約 3 分で読めます。 Global Accelerator はユーザーのトラフィックを AWS のグローバルネットワーク経由でバックエンドに転送するサービスです。2 つの固定 Anycast IP アドレスが割り当てられ、世界中のユーザーは最寄りの AWS エッジロケーションに接続します。そこから先は公衆インターネットではなく AWS のプライベートネットワークを経由するため、レイテンシの安定性とパケットロスの低減が期待できます。CloudFront がコンテンツのキャッシュと HTTP/HTTPS の配信に特化しているのに対し、Global Accelerator は TCP/UDP レベルのトラフィック最適化を提供します。静的コンテンツや API レスポンスのキャッシュが有効な場合は CloudFront、ゲームサーバーや VoIP のようなリアルタイム通信には Global Accelerator が適しています。

この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

エンドポイントグループとトラフィック制御

エンドポイントグループはリージョン単位で定義し、ALB、NLB、EC2 インスタンス、Elastic IP をエンドポイントとして登録します。各エンドポイントグループにはトラフィックダイヤル (0-100%) を設定でき、リージョン間のトラフィック配分を制御します。例えば、東京リージョンに 70%、シンガポールリージョンに 30% のトラフィックを配分する設定が可能です。リージョン移行時にはトラフィックダイヤルを段階的に変更し、新リージョンへのトラフィックを徐々に増やすことで安全に移行できます。エンドポイントの重み付け (0-255) で、同一リージョン内の複数エンドポイント間のトラフィック配分も制御できます。

ヘルスチェックとフェイルオーバー

Global Accelerator はエンドポイントのヘルスチェックを継続的に実行し、障害を検知すると数秒以内にトラフィックを正常なエンドポイントにルーティングします。Route 53 のフェイルオーバーが DNS TTL に依存するため切り替えに数十秒から数分かかるのに対し、Global Accelerator は Anycast ルーティングの変更で即座に切り替わります。マルチリージョン構成では、プライマリリージョンの全エンドポイントが異常になった場合、自動的にセカンダリリージョンのエンドポイントにフェイルオーバーします。固定 IP アドレスはフェイルオーバー後も変わらないため、DNS の変更やクライアントの再接続が不要です。

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。

まとめ

Global Accelerator は AWS グローバルネットワークを活用してトラフィックのレイテンシと可用性を改善するサービスです。固定 Anycast IP による安定したエントリポイント、数秒のフェイルオーバー、トラフィックダイヤルによる柔軟な制御が特徴です。HTTP 以外のプロトコルを使用するグローバルアプリケーションに特に有効です。

AWS の優位点

  • 2 つの固定 Anycast IP アドレスで世界中のユーザーを最寄りの AWS エッジロケーションに誘導し、AWS グローバルネットワーク経由でバックエンドに到達させる
  • TCP/UDP のトラフィックを最適化し、ゲーム、VoIP、IoT など HTTP 以外のプロトコルにも対応する
  • エンドポイントのヘルスチェックで障害を検知し、数秒以内に正常なエンドポイントにフェイルオーバーする
  • トラフィックダイヤルでエンドポイントグループへのトラフィック割合を 0-100% で制御し、段階的なリージョン移行に活用できる
  • クライアント IP アドレスの保持機能で、バックエンドのアプリケーションがユーザーの実際の IP アドレスを取得できる

同じテーマの記事

AWS App Mesh で構築するサービスメッシュ - マイクロサービス間通信の制御と可観測性 App Mesh によるマイクロサービス間のトラフィック制御、リトライポリシー、Envoy プロキシの設定を解説します。 AWS Cloud Map でサービスディスカバリを実現 - マイクロサービス間の動的な名前解決 Cloud Map によるサービスの登録、DNS/API ベースのディスカバリ、ECS 統合を解説します。 専用線接続の設計 - Direct Connect による安定した閉域網接続の実現 AWS Direct Connect を活用した専用線接続の設計手法を解説し、専用接続とホスト接続の選択、冗長構成、VPC との統合による安定した閉域網接続の実現方法を紹介します。 AWS Direct Connect で構築する専用線接続 - 冗長構成とトラフィック制御 Direct Connect による専用線接続の構築、冗長構成の設計、BGP ルーティングの設定を解説します。 Elastic IP アドレスの管理と設計 - 静的 IP の活用とコスト最適化 Elastic IP の割り当て、EC2 との関連付け、未使用 EIP のコスト影響、代替手段の検討を解説します。 グローバルネットワーク高速化 - AWS Global Accelerator と CloudFront で実現する低レイテンシ配信 AWS Global Accelerator と Amazon CloudFront を活用したグローバルネットワーク高速化の設計・運用方法を解説します。 Amazon CloudWatch Internet Monitor でインターネットパフォーマンスを監視 - 可用性とレイテンシの可視化 Internet Monitor によるインターネット経由のアプリケーションパフォーマンス監視、ISP 別の可用性分析、ヘルスイベントの検出を解説します。 AWS Network Manager でグローバルネットワークを可視化 - トポロジーと健全性の一元管理 Network Manager によるグローバルネットワークの登録、トポロジーマップ、ルート分析の活用を解説します。 AWS PrivateLink でプライベート接続を実現 - VPC エンドポイントとエンドポイントサービス PrivateLink による VPC エンドポイントの設計、インターフェースエンドポイントとゲートウェイエンドポイントの使い分けを解説します。 Amazon Route 53 の DNS 設計 - ルーティングポリシーとヘルスチェックの実践 Route 53 のルーティングポリシー、エイリアスレコード、ヘルスチェックによるフェイルオーバー設計を実践的に解説します。 Amazon Route 53 でのドメイン登録と DNS 移行 - レジストラ移管とゾーン設定の実践 Route 53 でのドメイン登録、他レジストラからの移管手順、ホストゾーンの設計とDNSSEC の有効化を解説します。 サービスディスカバリ - AWS Cloud Map でマイクロサービスの接続を自動化する AWS Cloud Map を使ったサービスディスカバリの構築を解説。DNS ベース・API ベースのサービス検出、ECS/EKS との統合、App Mesh との連携を紹介します。 AWS Transit Gateway で構築するハブ&スポークネットワーク - マルチ VPC 接続の設計 Transit Gateway によるハブ&スポーク型ネットワークの設計、ルートテーブル分離、マルチアカウント接続を解説します。 Amazon VPC Lattice で簡素化するサービス間通信 - VPC をまたいだサービスディスカバリ VPC Lattice によるサービスネットワークの構築、認証・認可ポリシー、トラフィック管理を解説します。 Amazon VPC のネットワーク設計 - サブネット構成と NAT Gateway の最適化 VPC のサブネット設計、パブリック/プライベートサブネットの使い分け、NAT Gateway のコスト最適化を解説します。 AWS Wavelength で実現する 5G エッジコンピューティング - 超低レイテンシアプリケーションの設計 Wavelength による 5G エッジでのアプリケーション実行、Wavelength Zone の設計、ユースケースを解説します。