Elastic Load Balancing で、Network Load Balancer のスティッキネスに関する問題をトラブルシューティングしたいです。
簡単な説明
スティッキネス (セッションアフィニティ) は、セッションの期間中、クライアントを同じターゲットにルーティングします。Network Load Balancer のスティッキネスはターゲットグループレベルで有効になり、スティッキネス値は source_ip になります。詳細については、「スティッキーセッション」を参照してください。
Network Load Balancer において、スティッキネスの問題は次の原因で発生する可能性があります。
- 不正常なスティッキーターゲット。
- ターゲットがターゲットグループに登録または登録解除されている。
- スティッキーセッション中に、クロスゾーンローディングを有効または無効にした。
- クライアントが、ソース IP アドレスを再マッピングするロードバランサーまたはプロキシの背後にある。
- クライアントがモバイルネットワークに接続しており、Wi-Fiとモバイルデータを切り替えている。
- クライアントの DHCP によって割り当てられた IP アドレスが、セッション中に期限切れになり、変更されている。
解決策
**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
Network Load Balancer のスティッキネスに関する問題をトラブルシューティングするには、次の手順を実行します。
スティッキネスが有効になっているかどうかを確認する
スティッキネスが有効になっているかどうかを確認するには、次のいずれかの方法を使用します。
Amazon EC2 コンソールを使用する
Network Load Balancer のターゲットグループがアクティブで、スティッキネスが正しく設定されていることを確認します。スティッキネスが無効になっている場合は、スティッキーセッションの「コンソールを使用してスティッキーセッションを有効にする方法」セクションを参照してください。
注: スティッキネスは、Transport Layer Security (TLS) リスナーではサポートされていません。
AWS CLI を使用する
Network Load Balancer がスティッキーに設定されているかどうかを確認するには、次の describe-target-group-attributes コマンドを実行します。
$ aws elbv2 describe-target-group-attributes --target-group-arn example-target-group-arn --region example-region
注: お使いのものでそれぞれ、example-target-group-arn をターゲットグループの ARN に、example-region を AWS リージョンに置き換えてください。
Network Load Balancer にスティッキネスが設定されていない場合は、stickiness.enabled 属性を指定して modify-target-group-attributes コマンドを実行します。
ターゲットグループが正常かどうかを確認する
ターゲットグループの正常性が正常から異常に変わると、スティッキネスが失われます。また、クロスゾーン負荷分散を無効にすると、スティッキネスが損なわれる可能性があります。クロスゾーン負荷分散を無効にする前に、スティッキーターゲットが Network Load Balancer の IP アドレスとは異なるアベイラビリティーゾーンにないことを確認してください。Network Load Balancer のターゲットグループの状態を確認するには、Amazon EC2 コンソールを使用するか、次の describe-target-health コマンドを実行します。
$ aws elbv2 describe-target-health \
--target-group-arn example-target-group-arn
注: example-target-group-arn は、お使いのターゲットグループの ARN に置き換えてください。
関連情報
ターゲットグループ属性
elbv2