

# AWS Global Accelerator でクライアント IP アドレスを保存する
<a name="preserve-client-ip-address"></a>

AWS Global Accelerator のクライアント IP アドレスを保存およびアクセスする方法は、アクセラレータで設定したエンドポイントによって異なります。クライアント IP アドレスの保存を有効にすると、ロードバランサーに到着するパケットに対して、元のクライアントのソース IP アドレスが保存されます。

カスタムルーティングアクセラレーターのエンドポイントでは、常にクライアント IP アドレスが保存されます。受信パケットでクライアントのソース IP アドレスを保存できる標準アクセラレーターのエンドポイントには、Application Load Balancer、Amazon EC2 インスタンス、およびセキュリティグループを使用する Network Load Balancer の 3 つのタイプがあります。クライアント IP アドレスの保存を伴うエンドポイントとして追加する特定のリソースには、要件と制限があります。詳細については、「[クライアント IP アドレスの保存による移行エンドポイント](about-endpoints.sipp.md)」を参照してください。

Global Accelerator は、次のエンドポイントタイプのクライアント IP アドレスの保存をサポートしていないことに注意してください。
+ セキュリティグループなしの Network Load Balancer
+ Elastic IP アドレス

エンドポイント要件の詳細については、[アクセラレーターエンドポイントとして追加するリソースの要件](about-endpoints-caveats.md) を参照してください。

**Topics**
+ [ガイドラインと制限事項](preserve-client-ip-address.how-to-enable-preservation.md)
+ [クライアント IP アドレスの保存に関する要件](about-endpoints.sipp-caveats.md)
+ [クライアント IP アドレスが保存される方法](preserve-client-ip-address.headers.md)
+ [クライアント IP アドレスの保存の利点](preserve-client-ip-address.benefits-of-preservation.md)
+ [ENI とセキュリティのベストプラクティス](best-practices-aga.md)
+ [移行エンドポイント](about-endpoints.sipp.md)

# Global Accelerator でのクライアント IP アドレスの保存に関するガイドラインと制限事項
<a name="preserve-client-ip-address.how-to-enable-preservation"></a>

AWS Global Accelerator でクライアント IP アドレスの保存を準備して使用するときは、次のガイドラインと制限に注意してください。

クライアント IP アドレスの保存を追加する場合は、次の点に注意してください。
+ クライアント IP アドレスを保存するエンドポイントにトラフィックを追加してルーティングを開始する前に、セキュリティグループなど、必要なセキュリティ設定がすべて更新され、許可リストにユーザークライアント IP アドレスが含まれていることを確認してください。
+ Global Accelerator の IP アドレスではなく、AWS WAF にクライアント IP アドレスが表示される場合があります。クライアント IP アドレスは、Global Accelerator でクライアント IP アドレスの保存を設定し、Application Load Balancer への接続が Global Accelerator からのものでない場合に AWS WAF を有効にしてブロックする場合に AWS WAF に表示されます。
+ クライアント IP アドレスの保存は、Global Accelerator がサポートされているすべての AWS リージョン で利用可能です。サポートされているリージョンのリストについては「[AWS Global Accelerator のための AWS リージョン の可用性](preserve-client-ip-address.regions.md)」を参照してください。

新しいアクセラレーターを作成すると、サポートされているエンドポイントに対して、クライアント IP アドレスの保存がデフォルトで有効になります。クライアント IP アドレス保存のデフォルト設定は、エンドポイントのタイプによって異なります:
+ Global Accelerator でインターネット向け Application Load Balancer をエンドポイントとして使用すると、新しいアクセラレーターのクライアント IP アドレスの保存がデフォルトで有効になります。このオプションは、アクセラレータを作成する際に無効化するか、後からアクセラレーターを編集して無効化することができます。
+ Global Accelerator で内部 Application Load Balancer または EC2 インスタンスを使用する場合、エンドポイントは常にクライアント IP アドレスの保存が有効になっています。
+ Global Accelerator でセキュリティグループを使用した Network Load Balancer をエンドポイントとして追加する場合、クライアント IP アドレスの保存はデフォルトでは有効になっていません。

以下の点に注意してください。
+ 内部 Application Load Balancer および EC2 インスタンスでは、常にクライアント IP アドレスの保存が有効になっています。これらのエンドポイントのオプションを無効にすることはできません。
+ AWS コンソールを使用して新しいアクセラレーターを作成すると、Application Load Balancer エンドポイントのクライアント IP アドレスの保存オプションがデフォルトで有効になります。このオプションは、セキュリティグループエンドポイントを持つ Network Load Balancer ではデフォルトで有効になっていません。これらのエンドポイントのクライアント IP アドレス保存のオプションは、追加後いつでも更新できます。
+ AWS CLI または API アクションを使用して新しいアクセラレーターを作成し、クライアント IP アドレスの保存オプションを指定しない場合、クライアント IP アドレスの保存のデフォルト設定は次のとおりです。
  + インターネット向け Application Load Balancer エンドポイントでは、クライアント IP アドレスの保存がデフォルトで有効になっています。
  + セキュリティグループエンドポイントを持つ Network Load Balancer では、クライアント IP アドレスの保存はデフォルトでは*有効になっていません*。

既存のアクセラレーターでは、クライアント IP アドレスを保存せずにエンドポイントを、クライアント IP アドレスを保存するエンドポイントに移行できます。例えば、既存の Application Load Balancer エンドポイントを新しい Application Load Balancer エンドポイントに移行できます。新しいエンドポイントへの移行に際しては、以下の手順を実行することで、既存のエンドポイントからクライアント IP アドレスの保存を有効にした新しいエンドポイントへ、トラフィックを徐々に移動させることをお勧めします:
+ セキュリティグループエンドポイントを持つ既存の Application Load Balancer または Network Load Balancer の場合は、まず、同じバックエンドをターゲットとする重複ロードバランサーエンドポイントを Global Accelerator に追加し、クライアント IP アドレスの保存が有効になっていることを確認します。次に、エンドポイントの重みを調整し、クライアント IP アドレスの保存が*有効になっていない*ロードバランサーから、クライアント IP アドレスの保存が*有効な*ロードバランサーへトラフィックを徐々に移動させます。
+ 既存の Elastic IP アドレスエンドポイントの場合、クライアント IP アドレスの保存により、トラフィックを EC2 インスタンスエンドポイントに移動できます。まず EC2 インスタンスエンドポイントを Global Accelerator に追加し、エンドポイントの重みを調整して、Elastic IP アドレスエンドポイントから EC2 インスタンスエンドポイントにトラフィックを徐々に移動させます。

詳しい移行ガイダンスについては、[クライアント IP アドレスの保存を使用するエンドポイントの移行](about-endpoints.sipp.md#about-endpoints.transition-to-IP-preservation) を参照してください。

# クライアント IP アドレスが保存されているエンドポイントの要件
<a name="about-endpoints.sipp-caveats"></a>

クライアント IP アドレスの保存で使用できるエンドポイントタイプには、特定の要件があります。＞ この機能は、このセクションで説明する追加要件に従って、Application Load Balancer、セキュリティグループを持つ Network Load Balancer、Amazon EC2 インスタンスであるエンドポイントで使用できます。カスタムルーティングアクセラレーターのエンドポイントでは、常にクライアント IP アドレスが保存されます。

このセクションでは、クライアント IP アドレスの保存を有効にして追加するエンドポイントに固有の情報を提供します。全体的なエンドポイント要件の詳細については、[アクセラレーターエンドポイントとして追加するリソースの要件](about-endpoints-caveats.md) を参照してください。

さらに、クライアント IP アドレスの保存に関するベストプラクティスの詳細については、[クライアント IP アドレスを保存する ENI とセキュリティグループのベストプラクティス](best-practices-aga.md) を参照してください。

クライアント IP アドレスの保存機能を使用する場合は、Global Accelerator のエンドポイントの全体的な要件に加えて、Global Accelerator にエンドポイントを追加するときに以下の点に注意してください。

**Elastic IP アドレス**  
Global Accelerator の Elastic IP アドレスエンドポイントでは、クライアント IP アドレスの保存はサポートされていません。

**Network Load Balancer エンドポイント**  
Network Load Balancer リソースを Global Accelerator にエンドポイントとして追加するときにクライアント IP アドレスの保存を有効にする場合は、クライアント IP アドレスの保存は以下ではサポートされていないことに注意してください。  
+ セキュリティグループなしの Network Load Balancer
+ TLS リスナーがアタッチされたセキュリティグループを使用する
+ EC2 ターゲットへの IPv4 から IPv6 への NAT 変換を実行するセキュリティグループを使用する Network Load Balancer
さらに、Network Load Balancer では、ターゲットが Network Load Balancer と同じ VPC にある場合にのみ、クライアント IP アドレスの保存がサポートされます。トラフィックは、Network Load Balancer からターゲットに直接流れる必要があります。

**Elastic Network Interface**  
クライアント IP アドレスの保存をサポートするために、Global Accelerator は、エンドポイントが存在するサブネットごとに 1 つずつ、AWS アカウントに Elastic Network Interface を作成します。Global Accelerator がElastic Network Interface と連携する方法の詳細については、[クライアント IP アドレスを保存する ENI とセキュリティグループのベストプラクティス](best-practices-aga.md) を参照してください。

**プライベートサブネット内のエンドポイント**  
Global Accelerator を使用して、プライベートサブネット内の Application Load Balancer 、Network Load Balancer 、または EC2 インスタンスをターゲットにできますが、エンドポイントを含む VPC に「[インターネットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」がアタッチされている必要があります。詳細については、「[AWS Global Accelerator での安全な VPC 接続](secure-vpc-connections.md)」を参照してください。  
ベストプラクティスとして、トラフィックを Global Accelerator のみで配信したい場合は、プライベートサブネットを使用することをお勧めします。また、インバウンドセキュリティグループルールが、アプリケーションのトラフィックを正しく許可または拒否するように適切に設定されていることを確認してください。

**クライアント IP アドレスを許可リストに追加する**  
クライアント IP アドレスを保存するエンドポイントを追加し、トラフィックのルーティングを開始する前に確認してください。必要なすべてのセキュリティ設定（例: セキュリティグループ）が、ユーザークライアントの IP アドレスを許可リストに含めるよう更新されていることを確認する必要があります。ネットワークアクセスコントロールリスト (ACL) は、送信 (アウトバウンド) トラフィックにのみ適用されます。受信 (インバウンド) トラフィックをフィルタリングする必要がある場合は、セキュリティグループを使用する必要があります。

**ネットワークアクセスコントロールリスト (ACL) を設定する**  
VPC サブネットに関連付けられたネットワーク ACL は、アクセラレーターでクライアント IP アドレスの保存が有効になっている場合、送信 (アウトバウンド) トラフィックに適用されます。ただし、トラフィックを Global Accelerator 経由で終了できるようにするには、ACL をインバウンドルールとアウトバウンドルールの両方として設定する必要があります。  
例えば、エフェメラルソースポートを使用して TCP および UDP クライアントが Global Accelerator を介してエンドポイントに接続できるようにするには、エンドポイントのサブネットを、エフェメラル TCP または UDP ポート (ポート範囲 1024-65535、宛先 0.0.0.0/0) 宛てのアウトバウンドトラフィックを許可するネットワーク ACL に関連付けます。さらに、一致するインバウンドルール (ポート範囲 1024-65535、ソース 0.0.0.0/0) を作成します。  
セキュリティグループと WAF については、次の点に注意してください:  
+ セキュリティグループと AWS WAF ルールは、リソースを保護するために適用できる追加の機能セットです。例えば、Amazon EC2 インスタンスと Application Load Balancer に関連付けられたインバウンドセキュリティグループルールを使用すると、クライアントが Global Accelerator を介して接続できる送信先ポートを制御できます。例えば、HTTP の場合はポート 80、HTTPS の場合はポート 443 などです。
+ Amazon EC2 インスタンスセキュリティグループは、Global Accelerator からのトラフィックや、インスタンスに割り当てられたパブリック IP アドレスまたは Elastic IP アドレスなど、インスタンスに到着するすべてのトラフィックに適用されます。

# AWS Global Accelerator でクライアント IP アドレスが保存される方法
<a name="preserve-client-ip-address.headers"></a>

AWS Global Accelerator は、Amazon EC2 インスタンス、Network Load Balancer、Application Load Balancer でクライアントのソース IP アドレスを次のように保存します:
+ EC2 インスタンスエンドポイントの場合、すべてのトラフィックのクライアント IP アドレスは保存されます。
+ クライアント IP アドレスが保存されている Network Load Balancer エンドポイントの場合、Global Accelerator は Network Load Balancer と連携して、元のクライアントの IP アドレスをパケットの IP ヘッダーに含めて、アプリケーションがアクセスできるようにします。
+ クライアント IP アドレスが保存されている Application Load Balancer エンドポイントの場合、Global Accelerator は Application Load Balancer と連携して、ウェブ層がアクセスできるように `X-Forwarded-For`、元のクライアントの IP アドレスを含む `X-Forwarded` ヘッダーを提供します。

HTTP リクエストと HTTP レスポンスは、ヘッダーフィールドを使用して HTTP メッセージに関する情報を送信します。ヘッダーフィールドはコロンで区切られた名前と値のペアであり、キャリッジリターン (CR) とラインフィード (LF) で区切ります。HTTP ヘッダーフィールドの標準セットは、「[メッセージヘッダー](https://tools.ietf.org/html/rfc2616#section-4.2)」RFC 2616 で定義されています。アプリケーションで広く使用されている標準以外の HTTP ヘッダーもあります。標準以外の HTTP ヘッダーには、`X-Forwarded` というプレフィックスが付いている場合があります。

Application Load Balancer は着信 TCP 接続を終了し、バックエンドターゲットへの新しい接続を作成するため、ターゲットコード (インスタンス、コンテナ、Lambda コードなど) までのクライアント IP アドレスは保存されません。ターゲットが TCP パケットに表示される送信元 IP アドレスは、Application Load Balancer の IP アドレスです。ただし、Application Load Balancer は、元のパケットの返信アドレスから削除し、HTTP ヘッダーに挿入してから、新しい TCP 接続を介してリクエストをバックエンドに送信することで、元のクライアント IP アドレスを保存します。

`X-Forwarded-For` リクエストヘッダーの形式は次のとおりです:

```
X-Forwarded-For: client-ip-address
```

以下に、IP アドレスが 203.0.113.7 であるクライアントの `X-Forwarded-For` リクエストヘッダーの例を示します。

```
X-Forwarded-For: 203.0.113.7
```

次の例は、IPv6 アドレスが 2001:DB8::21f:5bff:febf:ce22:8a2e であるクライアントの `X-Forwarded-For` リクエストヘッダーを示しています。

```
X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e
```

# クライアント IP アドレスの保存の利点
<a name="preserve-client-ip-address.benefits-of-preservation"></a>

Global Accelerator では、特定のエンドポイントのクライアント IP アドレスの保存を設定できます。AWS Global Accelerator で設定するアプリケーションによっては、クライアント IP アドレスの保存にエンドポイントを使用して、元のクライアント IP アドレスにアクセスする場合があります。

例えば、クライアント IP アドレスがある場合、クライアント IP アドレスに基づいて統計を収集できます。「[Application Load Balancer のセキュリティグループ](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-update-security-groups.html)」などの IP アドレスベースのフィルターを使用して、トラフィックをフィルタリングすることもできます。元のクライアント IP アドレス情報を含むロードバランサーの `X-Forwarded-For` ヘッダーを使用して、Application Load Balancer エンドポイントの背後にあるウェブ層サーバーで実行されるアプリケーション内のユーザーの IP アドレスに固有のロジックを適用できます。Application Load Balancer または Network Load Balancer に関連付けられているセキュリティグループのセキュリティグループルールでクライアント IP アドレスの保存を使用することもできます。詳細については、「[AWS Global Accelerator でクライアント IP アドレスが保存される方法](preserve-client-ip-address.headers.md)」を参照してください。EC2 インスタンスエンドポイントの場合、元のクライアント IP アドレスは保存されます。

クライアント IP アドレスの保存が有効になっていないエンドポイントの場合、エッジネットワークで Global Accelerator サービスが使用する IP アドレスは、リクエスト元のユーザーの IP アドレスを到着パケットの送信元アドレスに置き換えます。元のクライアントの IP アドレスやクライアントのポートなどの接続情報は、トラフィックがアクセラレーターの背後にあるシステムに移動するため、保存されません。これは、多くのアプリケーション、特にパブリックウェブサイトなどのすべてのユーザーが利用できるアプリケーションに適しています。

クライアント IP アドレスの保存がないエンドポイントの場合、エッジからトラフィックを転送するときに Global Accelerator が使用する送信元 IP アドレスをフィルタリングできます。Global Accelerator フローログを確認することで、受信パケットの送信元 IP アドレス (クライアント IP アドレスの保存が有効になっている場合はクライアント IP アドレスでもあります) に関する情報を確認できます。詳細については、[Global Accelerator エッジサーバーの場所と IP アドレス範囲](introduction-ip-ranges.md)および[AWS Global Accelerator フローログインの設定と使用](monitoring-global-accelerator.flow-logs.md)を参照してください。

# クライアント IP アドレスを保存する ENI とセキュリティグループのベストプラクティス
<a name="best-practices-aga"></a>

AWS Global Accelerator でクライアント IP アドレスの保存を使用する場合は、このセクションの Elastic Network Interface (ENI) とセキュリティグループの情報とベストプラクティスに注意してください。

クライアント IP アドレスの保存をサポートするために、Global Accelerator は、エンドポイントが存在するサブネットごとに 1 つずつ、AWS アカウントに Elastic Network Interface を作成します。*Elastic Network Interface* は、仮想ネットワークカードを表す VPC 内の論理ネットワーキングコンポーネントです。Global Accelerator は、これらのエラスティックネットワークインターフェイスを使用して、アクセラレーターの後ろに設定されたエンドポイントにトラフィックをルーティングします。この方法でトラフィックをルーティングするためにサポートされているエンドポイントは、Application Load Balancer (内部およびインターネット向け）、セキュリティグループを持つ Network Load Balancer、Amazon EC2 インスタンスです。

**注記**  
Global Accelerator に内部 Application Load Balancer や EC2 インスタンスのエンドポイントを追加する場合、プライベートサブネット内でターゲットとすることで、インターネットトラフィックが 仮想プライベートクラウド (VPC) 内のエンドポイントに直接流れるようにします。詳細については、「[AWS Global Accelerator での安全な VPC 接続](secure-vpc-connections.md)」を参照してください。

**Global Accelerator がエラスティックネットワークインターフェイスを使用する方法**  
クライアント IP アドレスの保存が有効になっている Application Load Balancer または Network Load Balancer のエンドポイントを使用する場合、ロードバランサーが存在するサブネットの数によって、Global Accelerator がアカウント内に作成する Elastic Network Interface の数が決定されます。Global Accelerator は、Application Load Balancer または Network Load Balancer の 1 つ以上の Elastic Network Interface を持つサブネットごとに 1 つの Elastic Network Interface を作成し、アカウント内のアクセラレーターが先頭に立っています。  
次の例は、この仕組みを示しています。  
+ **例 1: ** Application Load Balancer にサブネット A とサブネット B に Elastic Network Interface があり、ロードバランサーをアクセラレータエンドポイントとして追加すると、Global Accelerator は各サブネットに 1 つずつ、2 つのエラスティックネットワークインターフェイスを作成します。
+ **例 2: **例えば、subnetA とsubnetB に Elastic Network Interface を持つ ALB1 を Accelerator1 に追加し、サブネット A とサブネット B に Elastic Network Interface を使用する ALB2 を Accelerator2 に追加すると、Global Accelerator は 2 つの Elastic Network Interface のみを作成します。1 つは subnetA に、もう 1 つは subnetB に作成します。
+ **例 3: **subnetA と subnetB に Elastic Network Interface を持つ ALB1 を Accelerator1 に追加し、subnetA と subnetC に Elastic Network Interface を持つ ALB2 を Accelerator2 に追加すると、Global Accelerator は 3 つの Elastic Network Interface を作成します。1 つは subnetA、もう 1 つは subnetB、もう 1 つは subnetC です。subnetA の Elastic Network Interface は、Accelerator1 と Accelerator2 の両方のトラフィックを配信します。
例 3 に示すように、同じサブネット内のエンドポイントが複数のアクセラレーターの後ろに配置される場合、エラスティックネットワークインターフェイスはアクセラレーター間で再利用されます。  
Global Accelerator が作成する論理的な Elastic Network Interface は、単一のホスト、スループットのボトルネック、または単一の障害点を表すものではありません。アベイラビリティーゾーンまたはサブネット内の単一の Elastic Network Interface として表示される他の AWS サービスと同様に、ネットワークアドレス変換 (NAT) ゲートウェイや Network Load Balancer などのサービスと同様に、Global Accelerator は水平方向にスケールされた高可用性サービスとして実装されます。  
アクセラレーターのエンドポイントが使用するサブネットの数を評価し、Global Accelerator が作成する Elastic Network Interface の数を決定します。アクセラレーターを作成する前に、必要なエラスティックネットワークインターフェイスの IP アドレススペース容量が十分であることを確認してください。つまり、関連するサブネットごとに少なくとも 1 つの空き IP アドレスです。十分な空き IP アドレス領域がない場合は、Application Load Balancer または Network Load Balancer および関連する Global Accelerator の Elastic Network Interface に十分な空き IP アドレス領域を持つサブネットを作成または使用する必要があります。  
Global Accelerator が、アカウントのアクセラレーターのエンドポイントで Elastic Network Interface が使用されていないと判断した場合、Global Accelerator はインターフェイスを削除します。

**Global Accelerator によって作成されたセキュリティグループ**  
Global Accelerator およびセキュリティグループを使用する際は、以下の情報とベストプラクティスを確認してください。  
+ Global Accelerator によって作成されたセキュリティグループは、維持する他のセキュリティグループのソースグループとして使用できますが、Global Accelerator は VPC で指定したターゲットにのみトラフィックを転送します。
+ Global Accelerator によって作成されたセキュリティグループルールを変更すると、エンドポイントが異常になる可能性があります。その場合は、「[AWS サポート](https://console.aws.amazon.com/support/home)」にお問い合わせください。
+ Global Accelerator は、VPC ごとに特定のセキュリティグループを作成します。特定の VPC 内のエンドポイント用に作成された Elastic Network Interface はすべて、Elastic Network Interface がどのサブネットに関連付けられているかに関係なく、同じセキュリティグループを使用します。

**重要**  
Global Accelerator は、Elastic Network Interface に関連付けられているセキュリティグループを作成します。システムはこれを行うことを妨げませんが、これらのグループのセキュリティグループ設定を編集しないでください。

# クライアント IP アドレスの保存による移行エンドポイント
<a name="about-endpoints.sipp"></a>

アクセラレーターのエンドポイントにクライアント IP アドレスの保存をまだ設定していない場合は、このセクションのガイダンスに従って、1 つ以上のエンドポイントを追加し、ユーザーのクライアント IP アドレスを保存するエンドポイントに移行します。Application Load Balancer 、セキュリティグループを備えた Network Load Balancer、または Elastic IP アドレスエンドポイントを、クライアント IP アドレスが保存されている対応するロードバランサーエンドポイントまたは EC2 インスタンスエンドポイントに移行するように選択できます。

このセクションでは、AWS Global Accelerator コンソールを使用してエンドポイントを追加および移行する方法について説明します。Global Accelerator で API オペレーションを使用する場合は、「[AWS Global Accelerator API Reference](https://docs.aws.amazon.com/global-accelerator/latest/api/Welcome.html)」を参照してください。

## クライアント IP アドレスの保存を使用するエンドポイントの移行
<a name="about-endpoints.transition-to-IP-preservation"></a>

エンドポイントをクライアントの IP アドレスの保存にゆっくり移行することをお勧めします。
+ **新しいエンドポイントを追加する:** まず、クライアント IP アドレスを保存するために有効にする新しいロードバランサーまたは EC2 インスタンスエンドポイントを Global Accelerator に追加します。
+ **トラフィックをゆっくり増やす: ** 次に、エンドポイントの重みを設定して、既存のエンドポイントから新しいエンドポイントにトラフィックを徐々に移動します。
+ **進めながらテストを行う:** クライアントの IP アドレスを保存して新しいエンドポイントに少量のトラフィックを移動したら、設定が期待どおりに機能していることをテストします。次に、対応するエンドポイントの重みを調整して、新しいエンドポイントへのトラフィックの割合をゆっくり増やします。

エンドポイントを移行するには、以下のセクションの手順に従ってください。

クライアント IP アドレスの保存は、Global Accelerator がサポートされているすべての AWS リージョン で利用可能です。サポートされているリージョンのリストについては「[AWS Global Accelerator のための AWS リージョン の可用性](preserve-client-ip-address.regions.md)」を参照してください。

**重要**  
クライアント IP アドレスを保存するエンドポイントにトラフィックをルーティングする前に、Global Accelerator のクライアント IP アドレスを許可リストに含めたすべての設定を、ユーザーのクライアント IP アドレスを含めるように更新してください。

## クライアント IP アドレスの保存でエンドポイントを追加するには


1. [https://console.aws.amazon.com/globalaccelerator/home](https://console.aws.amazon.com/globalaccelerator/home) で Global Accelerator コンソールを開きます。

1. アクセラレーターページで、アクセラレータを選択します。

1. **[リスナー]** タブで、リスナーを選択します。

1. **[エンドポイントグループ]** セクションで、エンドポイントグループを選択します。

1. **[エンドポイント]** セクションで、**[エンドポイントの追加]** を選択します。

1. **[エンドポイントの追加]** ページで、**[エンドポイント]** ドロップダウンメニューで、クライアント IP アドレスの保存をサポートするエンドポイントを選択します。

1. **[重み]** フィールドで、既存のエンドポイントに設定されている重みと比較して小さい数値を選択します。例えば、対応する Application Load Balancer の重みが 255 の場合、新しい Application Load Balancer の重みに 5 を入力して開始できます。詳細については、「[エンドポイントの重みがトラフィックボリュームを管理する仕組み](about-endpoints-endpoint-weights.md)」を参照してください。

1. 必要に応じて、**[クライアント IP アドレスの保存]** で、**[アドレスの保存]** を選択します。

1. [**Save changes**] (変更の保存) をクリックします。

次に、以下の手順に従って、対応する既存のエンドポイント (クライアント IP アドレスの保存で新しいエンドポイントに置き換える) を編集し、既存のエンドポイントの重みを減らして、それらのエンドポイントへのトラフィックを減らします。

## 既存のエンドポイントのトラフィックを減らすには


1. **[エンドポイントグループ]** ページで、クライアント IP アドレスの保存がない既存のエンドポイントを選択します。

1. [**編集**] を選択します。

1. **[エンドポイントの編集]** ページの **[重み]** フィールドに、現在の数値よりも小さい数値を入力します。例えば、既存のエンドポイントの重みが 255 の場合、新しいエンドポイントに重みを 220 と入力できます (クライアント IP アドレスの保存あり）。

1. [**Save changes**] (変更の保存) をクリックします。

新しいエンドポイントの重みを低い数に設定して元のトラフィックのわずかな部分でテストした後、元のエンドポイントと新しいエンドポイントの重みを調整し続けることで、すべてのトラフィックをゆっくりと移行できます。

例えば、重みを 200 に設定した既存の Application Load Balancer から開始し、重みを 5 に設定したクライアント IP アドレスの保存が有効になっている新しい Application Load Balancer エンドポイントを追加すると仮定します。新しい Application Load Balancer の重みを増やし、元の Application Load Balancer Load Balancer の重みを減らすことで、トラフィックを元の Application Load Balancer から新しい Application Load Balancer にゆっくり移行します。例: 
+ 元の重み 190/新しい重み 10
+ 元の重み 180/新しい重み 20
+ 元の重み 170/新しい重み 30 など。

元のエンドポイントの重みを 0 に減らすと、すべてのトラフィック (この例のシナリオ) は、クライアント IP アドレスの保存を含む新しい Application Load Balancer エンドポイントに送信されます。

クライアント IP アドレスの保存を使用するように移行する追加のエンドポイントであるロードバランサーまたは EC2 インスタンスがある場合は、このセクションの手順を繰り返して移行します。

エンドポイントへのトラフィックがクライアント IP アドレスを保存しないようにエンドポイントの設定を元に戻す必要がある場合は、いつでもこれを行うことができます。クライアント IP アドレスの保存が*ない*エンドポイントの重みを元の値に増やし、クライアント IP アドレスの保存が*ある*エンドポイントの重みを 0 に減らします。