こんばんは。
AWSにはWebサイトを高速化するサービスとしてCloudFrontがありますが、AWS Global Acceleratorがあります。「CloudFrontと何が違うの?」と思っていました。
今回は、AWS Global Acceleratorについて整理してみます。
AWS Global Acceleratorとは
AWS Global Acceleratorは、TCP・UDP通信を高速化するためのサービスです。
利用者は最寄りのAWSエッジロケーションへ接続し、その後はAWSのグローバルネットワーク(AWSバックボーン)を経由してアプリケーションへアクセスします。
これにより、インターネット上を長距離通信する区間が短くなり、通信品質を向上できます。
イメージとしては次のようになります。
ユーザー
│
▼
最寄りのAWS Edge
│
(AWS Global Network)
│
▼
ALB
EC2
NLB
Elastic IP
なぜ通信が速くなるの?
通常のインターネット通信では、
ユーザー
│
インターネット
│
東京
│
シンガポール
│
バージニア
のように、ISP同士を経由しながら通信します。
インターネットは経路が変化するため、
- 遅延(Latency)
- ジッター
- パケットロス
が発生することがあります。
一方、Global Acceleratorでは
ユーザー
│
最寄りのEdge
│
AWS Backbone
│
アプリケーション
となるため、AWSの高速で安定したネットワークを利用できます。
Global Acceleratorの特徴
主な特徴は次のとおりです。
- TCP・UDP通信を高速化
- Anycast IPアドレスを提供
- AWSグローバルバックボーンを利用
- ヘルスチェックによる自動フェイルオーバー
- マルチリージョン構成に対応
- AWS Shield StandardによるDDoS保護
- 静的IPアドレスを利用可能
Global Acceleratorでは、アクセラレータの作成時に2つの静的IPv4アドレスが割り当てられ、異なるネットワークゾーンに配置されているため、一方に障害が発生した場合でも、もう一方のIPアドレスを利用して通信を継続できます。
Anycast IPとは
Global Acceleratorでは、世界中のユーザーが同じグローバルIPアドレスへアクセスします。
しかし実際には、ユーザーは自動的に最も近いAWSエッジロケーションへ誘導されます。
日本
│
├── 東京Edge
アメリカ
│
├── シアトルEdge
ヨーロッパ
│
├── ロンドンEdge
利用者は同じIPアドレスを利用していても、自動的に最適な経路へルーティングされます。
Route 53との違い
Global Acceleratorはエンドポイントのヘルスチェックを行い、異常を検知すると正常なエンドポイントへ自動的にトラフィックを切り替えます。
Route 53のDNSフェイルオーバーはDNSキャッシュ(TTL)の影響を受けますが、Global AcceleratorはAnycastルーティングによって切り替えるため、DNS変更を待つことなく高速にフェイルオーバーできます。
CloudFrontとの違い
| 項目 | CloudFront | Global Accelerator |
|---|---|---|
| 対象 | HTTP・HTTPS | TCP・UDP |
| 主な目的 | コンテンツ配信(CDN) | ネットワーク高速化 |
| キャッシュ | ○ | × |
| AWSバックボーン | ○ | ○ |
| 動画配信 | ○ | ライブ送信など |
つまり、
- CloudFront = コンテンツを高速配信するサービス(CDN)
- Global Accelerator = 通信経路を高速・安定化するサービス
という違いを理解しておくOKかと思います。