AWS Global Accelerator のよくある質問

全般

AWS Global Accelerator は、世界中の顧客に提供するアプリケーションの可用性とパフォーマンスを改善するネットワーキングサービスです。AWS Global Accelerator は簡単にセットアップ、設定、管理できます。アプリケーションの固定エントリポイントを提供し、さまざまな AWS リージョンおよびアベイラビリティーゾーンの専用 IP アドレスを管理するという煩雑さが解消できる静的 IP アドレスが提供されます。AWS Global Accelerator は、パフォーマンスに基づいて最適なエンドポイントにユーザートラフィックをルーティングし、アプリケーションの状態、ユーザーの位置、設定するポリシーの変更に瞬時に反応します。速度比較ツールを使用することで、お客様のロケーションからどのようなパフォーマンスの利点があるかをテストできます。他の AWS サービスと同様、AWS Global Accelerator はセルフサービスの従量課金制システムを提供しており、長期契約や最低料金は必要ありません。

AWS Global Accelerator を使用すると、以下のことができます。

  • AWS Global Accelerator が提供する静的 IP アドレスを、Network Load Balancer、Application Load Balancer、EC2 インスタンス、Elastic IP アドレスなどのリージョン別 AWS リソースまたはエンドポイントに関連付ける。IP アドレスは AWS エッジロケーションからのエニーキャストであるため、ユーザーに近い AWS グローバルネットワークへのオンボーディングを提供します。
  • DNS 設定の更新または顧客対応アプリケーションの変更を行うことなく、アベイラビリティーゾーンまたは AWS リージョン間のエンドポイントを簡単に移動する。
  • エンドポイントグループのトラフィックダイヤルの割合を設定して、特定の AWS リージョンのトラフィックをトラフィックを調整する。これは、パフォーマンスのテストとアップデートのリリースに特に役立ちます。
  • エンドポイント全体に重みを割り当てることによって、エンドポイントグループ内の各エンドポイントに割り当てられるトラフィック割合を制御する。

AWS Global Accelerator は Amazon グローバルネットワークを利用しており、パブリックインターネットと比較して、最初のバイトのレイテンシー (パケットがクライアントからエンドポイントに行き来する往復時間) とジッター (レイテンシーの変動) を低減し、スループット (1 秒間に転送されるデータ量) を短縮することで、アプリケーションのパフォーマンスを向上させることができます。90 パーセンタイル (p90) でサードパーティーの実際のユーザー測定ツールを使って測定した TCP トラフィックの場合、Global Accelerator は最初のバイトのレイテンシーを最大 49%、ジッターを最大 58% 削減し、スループットを最大 60% 向上させます。 採用プラットフォームである Lever は、「AWS Global Accelerator を有効にしただけで、多国籍企業のお客様 1 人がエンドツーエンドのアプリの平均読み込み時間を 51.2% 短縮したことに気付きました」。 Skyscanner は、Global Accelerator が主導するマルチリージョンアーキテクチャを構築することで、「...200 ミリ秒以上かかっていた応答時間を 4 ミリ秒未満に短縮し、98% の向上を達成」しました。

速度比較ツールによって、ご利用のロケーションからのパフォーマンスが向上するか、事前にお試しください。

使用を開始するには、API または AWS マネジメントコンソールを使用するか、AWS CloudFormation テンプレートを使用して AWS Global Accelerator をセットアップします。AWS Global Accelerator はグローバルサービスであるため、特定の AWS リージョンと関連付けられていません。以下に、AWS Global Accelerator をアプリケーションにセットアップする簡単な 3 つの手順を示します。

  1. アクセラレーターを作成する: アクセラレーターを作成すると、AWS Global Accelerator により 2 つの静的 IP アドレスがプロビジョニングされます。次に、指定したプロトコルとポートに基づいて、エンドクライアントからアクセラレーターへの受信接続を処理するように 1 つ以上のリスナーを設定します。
     
  2. エンドポイントグループを設定する: トラフィックを分散させる AWS リージョンを指定して、アクセラレーターのリスナーに関連付ける 1 つ以上のリージョナルエンドポイントグループを選択します。リスナーは、このエンドポイントグループの登録済みのエンドポイントにリクエストをルーティングします。AWS Global Accelerator は、各エンドポイントに対して定義されたヘルスチェック設定を使用して、グループ内のエンドポイントの状態を監視します。エンドポイントグループごとに、トラフィックダイヤルの割合を設定できます。これにより、エンドポイントグループが許可するトラフィック量を制御することができます。デフォルトでは、すべてのリージョナルエンドポイントグループのトラフィックダイヤルは 100% に設定されています。
     
  3. エンドポイントグループのエンドポイントを登録する: エンドポイントグループごとに、1 つ以上のリージョナルリソース (Application Load Balancer、Network Load Balancer、EC2 インスタンス、Elastic IP アドレスなど) を登録します。次に、各エンドポイントにルーティングされるトラフィック量を選択するためのウェイトを設定できます。

これらのサービスはどちらも、正常なアプリケーションエンドポイントにユーザーのリクエストをルーティングするという課題を解決します。AWS Global Accelerator は ELB を使用して、従来のロードバランシング機能 (内部および AWS 以外のエンドポイントのサポート、事前ウォーミング、レイヤー 7 ルーティングなど) を提供します。ただし、ELB は 1 つのリージョン内でロードバランシングを提供するのに対し、AWS Global Accelerator は複数のリージョン全体でのトラフィック管理を提供します。

リージョンの ELB ロードバランサーは、AWS Global Accelerator にとって最適なターゲットです。リージョンの ELB ロードバランサーを使用すると、Amazon EC2 インスタンスや Amazon ECS タスクなどの複数のバックエンドにわたって、AWS リージョン内で受信アプリケーショントラフィックを正確に分散させることができます。AWS Global Accelerator は、これらの機能を単一の AWS リージョンを超えて拡張することにより ELB を補完するので、リージョンの数を問わず、アプリケーションのグローバルインターフェイスをプロビジョニングできます。グローバルクライアントベースを対象としたワークロードがある場合は、AWS Global Accelerator を使用することをお勧めします。ワークロードが単一の AWS リージョンでホストされ、AWS リージョン内およびその周辺でクライアントによって使用されている場合は、Application Load Balancer または Network Load Balancer を使用してリソースを管理できます。

AWS Global Accelerator と Amazon CloudFront は、AWS グローバルネットワークと世界中のエッジロケーションを使用する別々のサービスです。CloudFront は、キャッシュ可能なコンテンツ (例: 画像や動画など)、動的コンテンツ (例: API アクセラレーションや動的なサイト配信など) の両方のパフォーマンスを向上させます。Global Accelerator は、1 つ以上の AWS リージョンで実行されているアプリケーションにエッジでパケットをプロキシすることにより、TCP または UDP を介した幅広いアプリケーションのパフォーマンスを向上させます。Global Accelerator は、ゲーム (UDP)、IoT (MQTT)、Voice over IP などの HTTP 以外のユースケース、およびスタティック IP アドレスまたは確定的な高速地域フェールオーバーを特に必要とする HTTP ユースケースに最適です。両方のサービスは、DDoS 保護のために AWS Shield と統合されます。

オンプレミスリソースを静的 IP アドレスのエンドポイントとして直接設定することはできませんが、各 AWS リージョンに NLB (Network Load Balancer) を設定してオンプレミスのエンドポイントに対応することができます。その後これらの NLB を AWS Global Accelerator 設定でエンドポイントとして登録できます。

はい。カスタムルーティングアクセラレーターを使用することで、独自のアプリケーションロジックを使用して、ユーザートラフィックを 1 つまたは複数の AWS リージョンの特定の Amazon EC2 IP およびポートにルーティングできます。使用例の 1 つとしては、地理的な場所、プレイヤーのスキル、ゲーム構成などの要因に基づいて、ゲームサーバー上の単一のセッションに複数のプレイヤーを割り当てるマルチプレイヤーゲームがあります。他の例には、VoIP、EdTech、および複数のユーザーを特定のメディアサーバーに割り当てて音声、動画、およびメッセージセッションを開始するソーシャルメディアアプリケーションがあります。

Amazon S3 Multi-Region Access Points を使用して、オブジェクトストレージ用の Global Accelerator のメリットを得ることができます。S3 Multi-Region Access Points は、透過的に Global Accelerator を使用し、異なる AWS リージョンの複数の S3 バケットにまたがるデータセットにアクセスするための単一のグローバルエンドポイントを提供します。これにより、単一リージョンで使用されるのと同じシンプルなアーキテクチャでマルチリージョンのアプリケーションを構築し、それらのアプリケーションを世界のどこでも実行することができます。S3 Multi-Region Access Point のグローバルエンドポイントに対して行われたアプリケーションリクエストは、AWS グローバルネットワークを介して、最も低いネットワークレイテンシーで S3 バケットにルーティングされます。これによりアプリケーションは、パブリックネットワークの混雑したネットワークセグメントを自動的に回避して、アプリケーションのパフォーマンスと信頼性を改善します。

メリット

AWS Global Accelerator には次のような利点があります。

リージョン別インスタントフェイルオーバー: AWS Global Accelerator はアプリケーションの状態を自動的にチェックし、正常なアプリケーションエンドポイントにのみユーザートラフィックをルーティングします。ヘルスステータスの変更または設定の更新が行われると、AWS Global Accelerator は瞬時に反応し、ユーザーを次の使用可能なエンドポイントにルーティングします。

高可用性: AWS Global Accelerator には、アプリケーションの可用性を向上させる障害切り分けの設計を採用しています。アクセラレーターを作成すると、2 つの静的 IPv4 アドレスが割り当てられ、独立したネットワークゾーンからサービスが提供されます。これらのネットワークゾーンはアベイラビリティーゾーンと同様、独自の物理インフラストラクチャを備えた独立したユニットであり、一意の IP サブネットから静的 IP アドレスを提供します。IP アドレスのブロックまたは到達不可能なネットワークにより 1 つの静的 IP アドレスが使用不可になると、AWS Global Accelerator は、他の独立したネットワークゾーンから正常な静的 IP アドレスにルーティングすることにより、クライアントアプリケーションに耐障害性をもたらします。

IP アドレスをキャッシュするクライアントの統一性: 一部のクライアントデバイスとインターネットリゾルバーは、DNS の回答を長期間キャッシュします。そのため、設定を更新したときや、アプリケーション障害またはルーティング設定の変更時などに、更新された IP アドレスをすべてのユーザー受け取るのにどのくらいの時間がかかるか予想できません。AWS Global Accelerator を使用すると、クライアントデバイスの IP アドレスキャッシュ設定に依存する必要がなくなります。変更の伝搬は数秒で完了するため、アプリケーションのダウンタイムを削減できます。

パフォーマンスの向上: AWS Global Accelerator は、静的エニーキャスト IP アドレスを使用して、エンドクライアントに最も近いエッジロケーションからトラフィックを送信します。その後トラフィックは輻輳のない冗長接続の AWS グローバルネットワークを通過するため、AWS リージョンで実行されているアプリケーションへのパスが最適化されます。AWS Global Accelerator は、エンドクライアントの地理的場所に基づいて最適な AWS リージョンを選択するため、最初のバイトのレイテンシーが短縮され、パフォーマンスが 60% も向上します。

簡単な管理性: AWS Global Accelerator により提供される静的 IP アドレスは固定されており、アプリケーションに単一のエントリポイントを提供します。これにより、DNS 設定の更新または顧客対応アプリケーションの変更を行うことなく、アベイラビリティーゾーンまたは AWS リージョン間のエンドポイントを簡単に移動することができます。ユースケースには、A/B テスト、アプリケーションの更新、フェイルオーバーのシミュレーションなどがあります。企業のプロキシは、ファイアウォール内のアプリケーションの静的 IP アドレスをホワイトリストに登録することもできます。

細かな制御: AWS Global Accelerator ではリージョンのエンドポイントグループに対してトラフィックダイアルを設定することができ、パフォーマンステストやアプリケーションの更新を行う際に、特定の AWS リージョンへのトラフィックを増減させることができます。また、ステートフルアプリケーションでは、クライアントのアフィニティを維持するため、送信元のポートやプロトコルに関係なく、ユーザーからのすべてのリクエストを同じエンドポイントに転送することができます。これらの機能により、きめ細かな制御を行うことができます。

はい。AWS Global Accelerator のインテリジェントトラフィックルーティング機能の使用を希望しない場合も、静的 IP アドレスを使用する利点はたくさんあります。まず、これらのアドレスを使用して、可能な限りユーザーの近くで AWS グローバルネットワークへのトラフィックをオンボーディングすることによって、ユーザーのサービス品質 (QoS) を向上させます。一般的に、トラフィックは宛先の AWS リージョンに到達するために、輻輳している可能性があるネットワークパスや冗長性のないネットワークパスを通過しながら、パブリックインターネット経由で複数のホップを行う必要があります。AWS Global Accelerator を使用すると、AWS のグローバルな冗長ネットワークを活用してアプリケーションのアベイラビリティーとパフォーマンスを向上できます。次に、パブリックインターフェイスを変更することなく、アプリケーションを AWS リージョン間で簡単に移動できるようになります。つまり、ニーズが変化した場合に、ユーザーがアプリケーションへの接続方法を気にすることなく、AWS リージョンを簡単に移行または追加することができるので、将来的な計画を立てることができます。

高可用性

アプリケーションをユーザーの近くで実行することにより、リージョンの冗長性とパフォーマンスの改善を目的として、複数の AWS リージョンでアプリケーションを実行することができます。AWS Global Accelerator は、アプリケーションとそのクライアントの間にネットワークレイヤーを提供することにより、ヘルスチェックを実行し、クライアントを中断させることなく、障害状態のエンドポイントを自動的に迂回してルーティングできます。この新しいエンドポイントの正常なシャットダウンと起動によりユーザーの可用性とパフォーマンスが向上するだけでなく、インターネットトラフィックが最寄りのエンドポイントに確実にルーティングされます。

AWS Global Accelerator は、冗長性を改善するため、AWS リージョン内の複数のアプリケーションエンドポイントにマッピング可能な静的 IP アドレス一式を提供します。特定の AWS リージョンでアプリケーション障害が発生した場合、AWS Global Accelerator は異常のあるエンドポイントを自動検出し、トラフィックを次の最適な AWS リージョンにリダイレクトするため、高可用性と災害対策が確保されます。

AWS Global Accelerator が、異常のあるエンドポイントを検出してサービスを停止するまでは 1 分もかかりません。

コンプライアンス

AWS Global Accelerator の認証により、高いセキュリティ基準を確認し、独自の規制およびコンプライアンス義務を満たすことが容易になります。PCI DSS、ISO 900127001270172701827018、および SOC (System & Organization Control) に適合していると評価されており、さらに HIPAA 対応です。

Bring Your Own IP

AWS Global Accelerator での Bring Your Own IP アドレス範囲 (BYOIP) によって、独自の IP アドレスをアプリケーションエンドポイントへの固定エントリポイントとして使用できます。これにより、AWS に依存するハードコードされた IP アドレスを持つオンプレミスのアプリケーションを、顧客対応の変更なしで移行できます。これは、IP アドレス範囲の許可リストを必要とするような規制された環境下などで役立ちます。独自の IP アドレスを使用するアクセラレーターは、Amazon が提供した IP アドレスを使用するアクセラレーターとまったく同様に動作します。詳細については、ドキュメントを参照してください。

いいえ、IPv4 プールをアドバタイズできるのは、いずれかのサービスからのみです。

Global Accelerator の IP アドレスと EC2 Elastic IP アドレスはいずれも静的アドレスですが、両者にはいくつかの違いがあります。まず、Global Accelerator の IP アドレスは、任意の数の AWS リージョンで、Application Load Balancer、Network Load Balancer、EC2 インスタンスなど、1 つ以上のエンドポイントに関連付けることができます。これにより、アプリケーションを複数の AZ や AWS リージョンに簡単にスケールアウトできます。一方、Elastic IP は、単一の AWS リージョンで、ロードバランサーや EC2 インスタンスなど単一の AWS リソースに関連付けられます。2 番目の違いは、クライアントとサーバーの両方が生成する接続をサポートする Elastic IP とは異なり、Global Accelerator の IP アドレスはクライアントが生成する接続のみをサポートできることです。3 番目の違いは、Global Accelerator の IP アドレスが、AWS のエッジロケーションの広範なネットワークからアドバタイズされることです。これにより、トラフィックを可能な限りユーザーに近い、高パフォーマンスで利用可能な AWS ネットワークに進入させることができます。Elastic IP は、一度に 1 つの AWS リージョンからアドバタイズされます。

最大 2 つの IP 範囲をお使いのアカウントに持ち込めます。

BYOIP を介して持ち込むことができる、最も限定的なアドレス範囲は、/24 です。IP アドレスの最初の 24 ビットでネットワーク番号は指定されます。例えば、IP アドレス 198.51.100.0 のネットワーク番号は 198.51.100 です。

ARIN、RIPE、および APNIC 登録のプレフィックスをご使用いただけます。

いいえ、所有している IP アドレス範囲のみを AWS Global Accelerator に持ち込むことができます。これらの範囲は、お客様がインターネットレジストリから購入したものになります。

カスタムルーティング

カスタムルーティングアクセラレーターは、Global Accelerator の新しいタイプのアクセラレーターです。独自のアプリケーションロジックを使用して、1 人以上のユーザーを 1 つまたは複数の AWS リージョンの特定の Amazon EC2 インスタンスの送信先に確定的にルーティングできます。これは、ユーザートラフィックが EC2 インスタンスのどのセッションに送信されるかを制御したい場合に役立ちます。具体例の 1 つとしては、地理的な場所、プレイヤーのスキル、ゲーム構成などの要因に基づいて、ゲームサーバー上の単一のセッションに複数のプレイヤーを割り当てるマルチプレイヤーゲームアプリケーションがあります。他の例には、VoIP、EdTech、および複数のユーザーを特定のメディアサーバーに割り当てて音声、動画、およびメッセージセッションを開始するソーシャルメディアアプリケーションがあります。カスタムルーティングアクセラレーターを使用すると、複数のユーザーをアクセラレーターの一意のポートに誘導でき、それらのトラフィックは、アプリケーションセッションが実行されている特定の送信先 IP アドレスとポートにルーティングされます。

標準アクセラレーターは、ユーザーに最も近い正常なエンドポイントにトラフィックを自動的にルーティングします。標準アクセラレーターはトラフィックの負荷を分散するように設計されているため、アクセラレータの背後にある特定の EC2 送信先に確定的に複数のユーザーをルーティングすることはできません。カスタムルーティングアクセラレーターを使用すると、まさにそれを実行できます。もう 1 つの違いは、標準ルーティングアクセラレーターが、Network Load Balancer、Application Load Balancer、EC2 インスタンス、および Elastic IP をエンドポイントとしてサポートしていることです。カスタムルーティングアクセラレーターは、VPC サブネットエンドポイントのみをサポートしています。そのエンドポイントのそれぞれには、アプリケーションを実行している 1 つ以上の EC2 インスタンスが含まれています。

カスタムルーティングアクセラレーターを使用すると、アプリケーションセッションが実行されている特定の送信先 IP アドレスとポートに複数のユーザーを確定的にルーティングできます。Global Accelerator の特定のポートにユーザーを誘導するだけです。ユーザーは、アクセラレーターに割り当てられた 2 つの静的エニーキャスト IP アドレスのいずれかに接続できます。ユーザーがアクセラレーターの IP アドレスとポートを使用してエンドポイントに接続すると、トラフィックは最も近いエッジロケーションで AWS グローバルネットワークに入ります。カスタムルーティングアクセラレーターは、このアクセラレーターポートを VPC サブネット内の特定の EC2 インスタンスとポートにマッピングし、そこにユーザートラフィックをルーティングします。アクセラレーターポートから各 VPC サブネット内の EC2 インスタンスへのマッピングは、事前設定されており、静的です。つまり、アプリケーションが API を使用してマッピングをクエリし、それを保存してから、それを使用して Global Accelerator がクライアントトラフィックをルーティングする方法を制御できます。アクセラレーターの作成後にエンドポイントを追加または削除しても、既存のエンドポイントのマッピングは変更されません。

VPC サブネットエンドポイントは、この機能で導入された新しいタイプのエンドポイントです。1 つまたは複数のリージョンに存在する可能性のある各 VPC サブネットエンドポイントには、アプリケーションをホストする EC2 インスタンスの IP アドレスが含まれています。カスタムルーティングアクセラレーターにより、1 つまたは複数の VPC で実行されている最大数千の EC2 インスタンスの前にアクセラレーターを配置できます。カスタムルーティングアクセラレーターは、最大サイズが /17 の VPC サブネットエンドポイントをサポートし、各サブネット内の EC2 インスタンスにのみトラフィックをルーティングします。

カスタムルーティングアクセラレーターは、VPC サブネットエンドポイントまたはその中の EC2 インスタンスに対して外部ヘルスチェックを行っていません。このシナリオでは、すべてのアクセラレーターポートが特定の EC2 インスタンスのプライベート IP アドレスとポートにマッピングされます。そのため、アプリケーションは EC2 インスタンスの正常性を監視でき、インスタンスが異常になった場合、ユーザートラフィックを別のアクセラレーター IP アドレスとポートの組み合わせに転送することで、別の特定の正常なインスタンスへのトラフィックフェイルオーバーを制御できます。

より多くの送信先が必要になると予想される場合は、追加のサブネットに配置された追加のエンドポイントを使用して、より多くのカスタムルーティングアクセラレーターを設定するだけです。次に、カスタムアプリケーションロジックを更新して、新しいアクセラレーターの IP アドレスと新しいポートマッピングを使用して、各インスタンスとポートに到達できるようにします。

その他の質問

Global Accelerator は、すべてのエンドポイントに向けた IPv4 トラフィックと、Application Load Balancer エンドポイントに向けた IPv6 トラフィックをサポートしています。

AWS Global Accelerator は、TCP と UDP 両方のプロトコルをサポートしています。

まず最初に、一部のクライアントデバイスとインターネットリゾルバーは DNS の回答を長期間キャッシュします。そのため、設定を更新したときや、アプリケーション障害またはルーティング設定の変更時などに、更新された IP アドレスをすべてのユーザー受け取るのにどのくらいの時間がかかるか予想できません。AWS Global Accelerator を使用すると、クライアントデバイスの IP アドレスキャッシュ設定に依存する必要がなくなります。変更の伝搬は数秒で完了するため、アプリケーションのダウンタイムを削減できます。また、Global Accelerator を使用すると、アプリケーションに固定エントリーポイントを提供する静的 IP アドレスを利用できます。これにより、DNS 設定の更新または顧客対応アプリケーションの変更を行うことなく、アベイラビリティーゾーンまたは AWS リージョン間のエンドポイントを簡単に移動することができます。