標準アクセラレーターの使用を開始する
このセクションでは、トラフィックを最適なエンドポイントにルーティングする標準アクセラレーターを作成する手順について説明します。
タスク
開始する前に
アクセラレーターを作成する前に、トラフィックを送信するエンドポイントとして追加できるリソースを少なくとも 1 つ作成します。例えば、次のいずれかを作成します:
-
エンドポイントとして追加するため、Amazon EC2 インスタンスを少なくとも 1 つ起動します。詳細については、「Amazon EC2 ユーザーガイド」の「EC2 リソースの作成と EC2 インスタンスの起動」を参照してください。
-
必要に応じて、EC2 インスタンスを含む 1 つ以上の Network Load Balancer または Application Load Balancer を作成します。詳細については、「Network Load Balancer ユーザーガイド」の「Network Load Balancer の作成」を参照してください。
Global Accelerator に追加するリソースを作成するときは、次の点に注意してください。
-
Global Accelerator に内部 Application Load Balancer または EC2 インスタンスエンドポイントを追加すると、プライベートサブネットでターゲットにすることで、インターネットトラフィックが仮想プライベートクラウド (VPC) のエンドポイントとの間で直接流れるようになります。ロードバランサーまたは EC2 インスタンスを含む VPC には、VPC がインターネットトラフィックを受け入れることを示す「インターネットゲートウェイ」がアタッチされている必要があります。詳細については、「AWS Global Accelerator での安全な VPC 接続」を参照してください。
-
Global Accelerator では、ルーターとファイアウォールのルールで、Amazon Route 53 ヘルスチェッカーに関連付けられた IP アドレスからのインバウンドトラフィックが EC2 インスタンスまたは Elastic IP アドレスエンドポイントのヘルスチェックを完了できるようにする必要があります。Route 53 ヘルスチェッカーに関連付けられた IP アドレス範囲に関する情報は、「Amazon Route 53 デベロッパーガイド」の「 Amazon Route 53 サーバーの IP アドレス範囲」を参照してください。
ステップ 1: 標準アクセラレーターを作成する
標準アクセラレーターを作成するときは、Global Accelerator がアクセラレーターに割り当てる静的 IP アドレスに IPv4 またはデュアルスタックを選択できます。デュアルスタックは、IPv4 と IPv6 の両方の IP アドレスをサポートしています。
アクセラレーターを作成するには
https://us-west-2.console.aws.amazon.com/globalaccelerator/home#GlobalAcceleratorHome:
で Global Accelerator コンソールを開きます。 [アクセラレーターの作成] を選択します。
アクセラレーターの名前を指定します。
[Accelerator タイプ] には、[標準] を選択します。
[IP アドレスタイプ] で、[IPv4] または [デュアルスタック]を選択します。
-
必要に応じて、Global Accelerator リソースの特定に役立つタグを 1 つ以上追加します。
[次へ] を選択します。
ステップ 2: リスナーを追加する
ユーザーから Global Accelerator へのインバウンド接続を処理するリスナーを作成します。
リスナーを作成するには
[リスナーの追加] ページで、リスナーに関連付けるポートまたはポート範囲を入力します。リスナーはポート 1~65535 をサポートします。
入力したポートのプロトコルを選択します。
必要に応じて、クライアントアフィニティを有効にすることを選択します。リスナーに対するクライアントアフィニティとは、Global Accelerator が特定のソース (クライアント) IP アドレスからの接続が常に同じエンドポイントにルーティングされるようにすることを意味します。この動作を有効にするには、ドロップダウンリストから [ソース IP] を選択します。
デフォルトは [None] です。つまり、クライアントアフィニティが有効になっていず、Global Accelerator はリスナーのエンドポイントグループのエンドポイント間でトラフィックを均等に分散します。
詳細については、「Global Accelerator でのクライアントアフィニティの仕組み」を参照してください。
(選択可能) [リスナーを追加] を選択してその他のリスナーを追加します。
タグを追加した後、[次へ] を選択します。
ステップ 3: エンドポイントグループを追加する
1 つ以上のエンドポイントグループを追加します。各エンドポイントグループは、特定の AWS リージョンに関連付けられます。
エンドポイントグループを追加するには
[エンドポイントグループの追加] ページで、リスナーのセクションで、ドロップダウンリストから [リージョン] を選択します。
必要に応じて、[トラフィックダイヤル] に 0 から 100 の数値を入力して、このエンドポイントグループのトラフィックの割合を設定します。この割合は、すべてのリスナートラフィックにではなく、このエンドポイントグループに既に送信されているトラフィックにのみ適用されます。デフォルトでは、エンドポイントグループのトラフィックダイヤルは 100 (つまり 100%) に設定されています。
必要に応じて、カスタムヘルスチェック値については、「ヘルスチェックの設定」を選択します。ヘルスチェック設定を設定すると、Global Accelerator は EC2 インスタンスと Elastic IP アドレスエンドポイントのヘルスチェックの設定を使用します。Network Load Balancer エンドポイントと Application Load Balancer エンドポイントの場合、Global Accelerator はロードバランサー自体に対して既に設定したヘルスチェック設定を使用します。詳細については、「アクセラレーターのヘルスチェックアクセスを確保する」を参照してください。
オプションで、[エンドポイントグループの追加] を選択して、このリスナーまたは他のリスナーにさらにエンドポイントグループを追加します。
[次へ] を選択します。
ステップ 4: エンドポイントを追加する
特定のエンドポイントグループに関連付けられている 1 つ以上のエンドポイントを追加します。このステップは必須ではありませんが、エンドポイントがエンドポイントグループに含まれていない限り、リージョン内のエンドポイントへのトラフィックは送信されません。
エンドポイントを追加するには
[エンドポイントの作成] ページで、エンドポイントのセクションで[エンドポイント] を選択します。
必要に応じて、[重み] に 0 から 255 の数字を入力し、このエンドポイントへのトラフィックをルーティングする際の重みを設定します。エンドポイントに重みを追加する場合、指定した比率に基づいてトラフィックがルーティングされるように Global Accelerator を設定します。デフォルトでは、すべてのフィールドの重みは 128 です。詳細については、「 エンドポイントの重みがトラフィックボリュームを管理する仕組み」を参照してください。
-
必要に応じて、[クライアント IP アドレスの保存] で、[アドレスの保存] を選択します。(一部のエンドポイントタイプでは、このオプションが選択されており、クリアできません。) 詳細については、「AWS Global Accelerator でクライアント IP アドレスを保存する」を参照してください。
必要に応じて、[エンドポイントの追加] を選択してエンドポイントを追加します。
[次へ] を選択します。
[次へ]を選択すると、Global Accelerator ダッシュボードに、アクセラレーターが進行中であることを示すメッセージが表示されます。プロセスが完了すると、ダッシュボードのアクセラレーターステータスは[アクティブ] になります。
ステップ 5: アクセラレーターをテストする
アクセラレーターをテストして、トラフィックがエンドポイントに転送されていることを確認します。例えば、アクセラレーターの静的 IP アドレスの 1 つを置き換えて、リクエストが処理される AWS リージョンを表示するように、次のように curl コマンドを実行します。これは、エンドポイントに異なる重みを設定したり、エンドポイントグループのトラフィックダイヤルを調整したりする場合に特に役立ちます。
アクセラレーターの静的 IP アドレスの 1 つを置き換えて、次のように curl コマンドを実行して IP アドレスを 100 回呼び出し、各リクエストが処理されたカウントを出力します。
for ((i=0;i<100;i++)); do curl http://198.51.100.0/ >> output.txt; done; cat output.txt | sort | uniq -c ; rm output.txt;
エンドポイントグループのトラフィックダイヤルを調整した場合、このコマンドは、アクセラレーターがトラフィックを正しい割合で異なるグループに送信していることを確認するのに役立ちます。詳細については、次のブログ記事の詳細な例、「Traffic management with AWS Global Accelerator
ステップ 6 (選択可能): アクセラレーターを削除する
アクセラレーターをテストとして作成した場合、またはアクセラレーターを使用しなくなった場合は、削除できます。コンソールでアクセラレーターを無効にし、削除できます。アクセラレーターからリスナーとエンドポイントグループを削除する必要はありません。
コンソールの代わりに API オペレーションを使用してアクセラレーターを削除するには、まずアクセラレーターに関連付けられているすべてのリスナーとエンドポイントグループを削除し、無効にする必要があります。詳細については、「AWS Global Accelerator API Reference」の「DeleteAccelerator」オペレーションを参照してください。
エンドポイントまたはエンドポイントグループを削除、またはアクセラレーターを削除する場合は、次の点に注意してください。
アクセラレーターを作成すると、Global Accelerator は 2 つの静的 IP アドレスのセットを提供します。静的 IP アドレスは、アクセラレーターを無効にし、トラフィックを受け入れたりルーティングしたりしなくなった場合でも、存在する限り、アクセラレーターに割り当てられたままになります。ただし、アクセラレーターを削除すると、アクセラレーターに割り当てられた静的 IP アドレスが失われるため、それらを使用してトラフィックをルーティングできなくなります。ベストプラクティスとして、アクセラレーターを誤って削除しないようにアクセス許可があることを確認してください。Global Accelerator では、IAM ポリシーを使用して、例えばタグベースのアクセス許可を設定し、アクセラレータを削除する権限を持つユーザーを制限することができます。詳細については、「Global Accelerator を使用した ABAC」を参照してください。
Global Accelerator のエンドポイントグループから削除する前に EC2 インスタンスを終了し、同じプライベート IP アドレスを持つ別のインスタンスを作成し、ヘルスチェックが合格した場合、Global Accelerator はトラフィックを新しいエンドポイントにルーティングします。そうしたくない場合は、インスタンスを終了する前に、エンドポイントグループから EC2 インスタンスを削除します。
アクセラレーターを削除するには
-
https://console.aws.amazon.com/globalaccelerator/home
で Global Accelerator コンソールを開きます。 削除したいアクセラレーターを選択します。
[編集] を選択します。
[アクセラレーターの無効化] を選択し、[保存] を選択します。
削除したいアクセラレーターを選択します。
[アクセラレーターの削除] を選択します。
確認ダイアログボックスで、[削除] を選択します。