Azure Kubernetes Service (AKS) のアプリケーション ネットワークを計画する

この記事では、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 を共有できます。