😷

AWS Global Accelerator とは?

に公開

アクセラレーター とは?

アクセラレーターとは、コンピュータの処理速度や特定のタスクの処理効率を向上させるための、ハードウェアやソフトウェア、またはそれらの組み合わせのこと。

AWS Global Accelerator とは?

AWS Global Acceleratorは、世界中のユーザーからのアクセスを高速・安定させるためのサービスです。
ユーザーの近くにあるAWSの「エッジネットワーク」からリクエストを受け取り、最適なAWSリージョンへトラフィックを流します。
また、複数のAWSリージョンをサポートしております。
さらに、静的IPアドレスを提供し、IPv4の場合であれば、2つの固定IP、デュアルスタック(IPv4+IPv6)の場合は、4つ(IPv4 ×2 + IPv6 ×2)、自分で持ち込んだIP(BYOIP)も使用可能です。

注意点としては、静的IPアドレスは、アクセラレーターを無効化しても保持されるます。ただし、アクセラレーターを削除するとIPアドレスは失われます。
また、IAMポリシーを使って、誤って削除されないように制御することも可能です。

さらに、特徴として、エンドポイントの状態(ヘルスチェック)、クライアントの場所、ポリシー設定などをもとに最適なルートに自動で切り替えます。
また、障害が起きそうなゾーンを避ける仕組み(ARCのゾーンシフト)を持っています。

2種類のアクセラレーター

  1. 標準アクセラレーター
    対象:一般的なWebアプリなど
    特徴:複数リージョンの中から最適なリージョンのエンドポイントにトラフィックをルーティングしてくれる。可用性やパフォーマンスが高まる。対応エンドポイントは、ALB、NLB、EC2、Elastic IP など

  2. カスタムルーティングアクセラレーター
    対象:ゲームサーバーやVoIPなど、特定の宛先に接続するアプリ
    特徴:ユーザーを個別に、指定した送信先(IPアドレス)にルーティングできる。対応エンドポイントは、VPC内のプライベートIPアドレスのみ

Global Accelerator vs CloudFront の違い

Global Accelerator の特徴を聞いた時、CloudFront と少し似ているなと思いました。なので、違いを表に簡単にまとめてみました。

項目 Global Accelerator CloudFront
主な目的 アプリケーション全体の通信を最適化(TCP/UDP) 静的・動的なWebコンテンツの配信(HTTP/HTTPS)
対象プロトコル TCP / UDP(L4) HTTP / HTTPS(L7)
使用例 API、ゲーム、VoIP、非HTTPアプリ Webサイト、動画、画像、JS/CSS、APIレスポンスなど
最適化内容 最短ルートでAWSリージョンに転送し、エンドポイント選定も最適化 コンテンツをキャッシュして配信スピードを向上
キャッシュ機能 ❌ キャッシュなし ✅ 静的コンテンツをキャッシュ
IPアドレス ✅ 静的IP(固定)を提供 ❌ 静的IPなし(ドメイン名のみ)
使えるエンドポイント ALB、NLB、EC2、Elastic IP、VPCのIP(カスタムルーティング) S3、ALB、EC2、Lambda@Edge など
ユーザーの最寄りAWSエッジ ✅ 使用 ✅ 使用

ざっくりまとめると、下記の通りです。

  • CloudFront は「Webコンテンツ配信のスピードアップ(CDN)」で、HTML、画像、動画などをキャッシュして高速に配るサービス。

  • Global Accelerator は「通信のルーティング最適化」で、API やゲームなどのリアルタイムな通信を高速&安定化するサービス

各サービスのユースケースは、下記の通りです。

  • Webサイトや画像、動画の配信 → CloudFront
  • ゲームのサーバー通信や、複数リージョン対応API → Global Accelerator
  • 両方併用も可(CloudFront+ALB+Global Acceleratorなど)

参考

https://docs.aws.amazon.com/ja_jp/global-accelerator/latest/dg/what-is-global-accelerator.html

Discussion