この記事では、Azure Kubernetes Service (AKS) のアプリケーション ネットワーク オプションについて説明します。 まず、計画の指針となる質問を提示し、オプション、推奨事項、ベスト プラクティスを提供します。
どのようにアプリケーションにアクセスしたいですか?
アプリケーション ネットワークは、Kubernetes ポッドで実行されているアプリケーションをクラスターの外部からクライアントに公開する方法を制御します。
アプリケーション ネットワーク オプション
アプリケーション ネットワークを設定する場合は、 レイヤー 4 の負荷分散を使用する Load Balancer サービスと、レイヤー7 の負荷分散を使用するイングレス コントローラーのいずれかを選択できます。
| アプリケーション ネットワーク オプション | 機能と特徴 |
|---|---|
| 負荷分散サービス | • Kubernetes LoadBalancer Service を使用して、パブリックまたはプライベート IP でアプリケーションを直接公開します。 • 複数のポートと TCP または UDP トラフィックをサポートします。 • アプリケーションごとに 少なくとも 1 つの 一意の IP:port ペアが必要です。 |
| イングレス コントローラー | • レイヤー 7 リバース プロキシの背後にあるアプリケーションを公開します。 • HTTP に似たトラフィック (HTTP、HTTPS、gRPC) でのみ使用できます。 • 同じイングレス コントローラー上のすべてのイングレス定義に対して、1 つのパブリック IP とポートを共有できます。 • マネージド イングレス オプションには、 アプリケーション ルーティング アドオンを介したマネージドイングレス nginx、 Azure Application Gateway for Containers (推奨)、 Istio イングレス ゲートウェイなどがあります。 |
推奨事項
HTTP 以外のトラフィックの場合は、レイヤー 4 の負荷分散で Load Balancer サービスを使用することをお勧めします。 この方法では、アプリケーションに直接アクセスでき、さまざまなプロトコルがサポートされます。 HTTP に似たトラフィックの場合は、レイヤー 7 の負荷分散でイングレス コントローラーを使用することをお勧めします。 この方法では、高度なルーティング機能を利用し、複数のアプリケーションに対して 1 つのパブリック IP を共有できます。