Azure Kubernetes Services 上の nginx イングレス IP 許可リスト

Azure Kubernetes Services 上の nginx イングレス IP 許可リスト

ポート 8983 を公開するために LoadBalancer タイプのサービスで SOLR クラスターを設定しました。要件は SSL 終了であるため、バックエンド サービスへのルートを持つ nginx イングレス コントローラーを設定しました。これらはすべて期待どおりに動作していますが、特定の IP のみにアクセスを制限したいと考えています。

nginx.ingress.kubernetes.io/whitelist-source-range アノテーションを使用しようとしたところ、リクエストがすべてノードの内部 IP から送信されており、予想どおりクライアントから送信されていないことに気付きました。これは、トラフィックが AKS クラスターに到達する前にフィルター処理する必要があることを意味しますか? そうである場合、自動的に作成された NSG を変更することは推奨されていないようですが、それを行うための最良の方法は何ですか。

答え1

外部 IP を適切に通過させてフィルタリングできるようにするには、Nginx で service.spec.externalTrafficPolicy フィールドを Local に設定する必要があります。

関連情報