Network Load Balancer の属性を編集する
Network Load Balancer を作成したら、その属性を編集できます。
ロードバランサーの属性
削除保護
Network Load Balancer が誤って削除されるのを防ぐために、削除保護を有効にできます。デフォルトでは、Network Load Balancer で削除保護が無効になっています。
コンソールを使用して削除保護を有効にするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[ロードバランサー] を選択します。
-
Network Load Balancer の名前を選択して、その詳細ページを開きます。
-
[属性] タブで、[編集] を選択します。
-
[構成] で、[削除保護] をオンにします。
-
[Save changes] (変更の保存) をクリックします。
Network Load Balancer の削除保護を有効にした場合、Network Load Balancer を削除する前に無効にする必要があります。
コンソールを使用して削除保護を無効にするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[ロードバランサー] を選択します。
-
Network Load Balancer の名前を選択して、その詳細ページを開きます。
-
[属性] タブで、[編集] を選択します。
-
[構成] ページで、[削除保護] をオンにします。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI を使用して削除保護を有効または無効にするには
deletion_protection.enabled
属性を指定して modify-load-balancer-attributes コマンドを使用します。
アベイラビリティゾーン DNS アフィニティー
デフォルトのクライアントルーティングポリシーを使用すると、Network Load Balancer DNS 名に送信されたリクエストには、正常な Network Load Balancer の IP アドレスがすべて届きます。これにより、Network Load Balancer のアベイラビリティーゾーン全体にクライアント接続が分散されます。アベイラビリティーゾーンのアフィニティールーティングポリシーでは、クライアント DNS クエリは自身のアベイラビリティーゾーン内の Network Load Balancer の IP アドレスを優先します。これにより、クライアントがターゲットに接続する際にアベイラビリティーゾーンの境界を越える必要がなくなるため、レイテンシーと回復性の両方が向上します。
Route 53 リゾルバーを使用してネットワークロードバランサーで使用できるクライアントルーティングポリシー:
-
アベイラビリティーゾーンのアフィニティ — 100% のゾーンアフィニティ
クライアントの DNS クエリでは、自身のアベイラビリティーゾーンの Network Load Balancer の IP アドレスが優先されます。自身のゾーンに正常な Network Load Balancer の IP アドレスがない場合、クエリは他のゾーンで解決される可能性があります。
-
部分的アベイラビリティーゾーンのアフィニティ — 85% のゾーンアフィニティ
クライアントの DNS クエリの 85% は自身のアベイラビリティーゾーンにある Network Load Balancer の IP アドレスを優先し、残りのクエリは正常な任意のゾーンで解決されます。自身のゾーンに正常な IP がない場合、クエリは他の正常なゾーンで解決される可能性があります。どのゾーンにも正常な IP がない場合、クエリは任意のゾーンで解決されます。
-
任意のアベイラビリティーゾーンのアフィニティ — 0% のゾーンアフィニティ
クライアント DNS クエリは、すべての Network Load Balancer アベイラビリティーゾーンの正常な Network Load Balancer の IP アドレスで解決されます。
注記
アベイラビリティーゾーンのアフィニティールーティングポリシーは、Route 53 Resolver を使用してネットワークロードバランサーの DNS 名を解決するクライアントにのみ適用されます。Route 53 リゾルバーの詳細については、「Amazon Route 53 デベロッパーガイド」の「Amazon Route 53 Resolver とは?」を参照してください。
アベイラビリティーゾーンのアフィニティはクライアントから Network Load Balancer にリクエストをルーティングするのに役立ち、クロスゾーン負荷分散は Network Load Balancer からターゲットにリクエストをルーティングするのに役立ちます。アベイラビリティーゾーンのアフィニティを使用するときは、クロスゾーン負荷分散をオフにして、クライアントからターゲットへの Network Load Balancer トラフィックが同じアベイラビリティーゾーン内に保持されるようにします。この設定では、クライアントトラフィックは同じ Network Load Balancer アベイラビリティーゾーンに送信されるため、各アベイラビリティーゾーンで個別にスケーリングするようにアプリケーションを設定することをお勧めします。これは、アベイラビリティーゾーンあたりのクライアント数、またはアベイラビリティーゾーンあたりのトラフィックが同じでない場合の重要な考慮事項です。詳細については、「ターゲットグループに対するクロスゾーン負荷分散」を参照してください。
アベイラビリティーゾーンに異常があると見なされた場合や、ゾーンシフトが開始された場合は、フェールオープンが有効でない限り、ゾーン IP アドレスは異常と見なされ、クライアントには返されません。DNS レコードがオープンに失敗しても、アベイラビリティーゾーンのアフィニティは維持されます。これにより、アベイラビリティーゾーンの独立性が保たれ、ゾーン間で発生する可能性のある障害を防ぐことができます。
アベイラビリティーゾーンのアフィニティを使用すると、アベイラビリティーゾーン間でバランスが崩れることが予想されます。各アベイラビリティーゾーンのワークロードをサポートするために、ターゲットがゾーンレベルでスケーリングされていることを確認することをお勧めします。これらの不均衡が著しい場合は、アベイラビリティーゾーンのアフィニティをオフにすることをお勧めします。これにより、60 秒以内、つまり DNS TTL の範囲内で、すべての Network Load Balancer のアベイラビリティーゾーン間でクライアント接続を均等に分散できます。
アベイラビリティゾーンアフィニティを使用する前に、以下の点を考慮してください。
-
アベイラビリティーゾーンのアフィニティにより、Route 53 Resolver を使用しているすべての Network Load Balancer クライアントに変化が生じます。
-
クライアントは、ゾーンローカル DNS 解決とマルチゾーン DNS 解決を区別できません。アベイラビリティーゾーンのアフィニティが判断します。
-
アベイラビリティーゾーンのアフィニティの影響を受けるタイミングや、どの IP アドレスがどのアベイラビリティーゾーンにあるかを知る信頼できる方法がクライアントには提供されません。
-
-
DNS ヘルスチェックにより完全に異常であると判断され、DNS から削除されるまで、クライアントはゾーンローカル IP アドレスに割り当てられたままになります。
-
クロスゾーン負荷分散がオンになっているアベイラビリティーゾーンのアフィニティを使用すると、アベイラビリティーゾーン間のクライアント接続の分散が不均衡になる可能性があります。各アベイラビリティーゾーンで個別にスケールするようにアプリケーションスタックを設定し、アプリケーションスタックがゾーンクライアントのトラフィックをサポートできるようにすることをお勧めします。
-
クロスゾーン負荷分散がオンになっている場合、Network Load Balancer はクロスゾーンの影響を受けます。
-
Network Load Balancer の各アベイラビリティーゾーンの負荷は、クライアントのリクエストのゾーンロケーションに比例します。どのアベイラビリティーゾーンで、いくつのクライアントを実行するかを設定しない場合は、各アベイラビリティーゾーンを事後的に個別にスケーリングする必要があります。
モニタリング
ゾーン Network Load Balancer メトリクスを使用して、アベイラビリティーゾーン間の接続の分散を追跡することをお勧めします。メトリクスを使用して、ゾーンごとの新規接続数およびアクティブ接続数を表示できます。
次の点を追跡することをおすすめします。
-
ActiveFlowCount
– クライアントからターゲットへの同時フロー (または接続) の合計数。 -
NewFlowCount
– 期間内にクライアントからターゲットに確立された新しいフロー (または接続) の合計数。 -
HealthyHostCount
– 正常と見なされるターゲットの数。 -
UnHealthyHostCount
– 異常とみなされるターゲットの数。
詳細については、「Network Load Balancer の CloudWatch メトリクス」を参照してください。
アベイラビリティーゾーンのアフィニティをオンにする
この手順のステップでは、Amazon EC2 コンソールでアベイラビリティーゾーンのアフィニティをオンにする方法について説明します。
コンソールを使用してアベイラビリティゾーンのアフィニティを有効にするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[ロードバランサー] を選択します。
-
Network Load Balancer の名前を選択して、その詳細ページを開きます。
-
[属性] タブで、[編集] を選択します。
-
[アベイラビリティーゾーンのルーティング設定] の [クライアントルーティングポリシー (DNS レコード)] で、[アベイラビリティーゾーンのアフィニティ] または [Partial Availability Zone affinity] (部分的アベイラビリティーゾーンのアフィニティ) を選択します。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI を使用してアベイラビリティーゾーンのアフィニティを有効にするには
dns_record.client_routing_policy
属性を指定して modify-load-balancer-attributes コマンドを使用します。
アベイラビリティーゾーンのアフィニティをオフにする
この手順のステップでは、Amazon EC2 コンソールでアベイラビリティーゾーンのアフィニティをオフにする方法について説明します。
コンソールを使用してアベイラビリティゾーンのアフィニティをオフにするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[ロードバランサー] を選択します。
-
Network Load Balancer の名前を選択して、その詳細ページを開きます。
-
[属性] タブで、[編集] を選択します。
-
[アベイラビリティーゾーンのルーティング設定] の [クライアントルーティングポリシー (DNS レコード)] で、[Any Availability Zone] (任意のアベイラビリティーゾーン) を選択します。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI を使用してアベイラビリティーゾーンのアフィニティをオフにするには
dns_record.client_routing_policy
属性を指定して modify-load-balancer-attributes コマンドを使用します。