すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:NGINX Ingress、ALB Ingress、およびMSE Ingress間の比較

最終更新日:Dec 14, 2024

Container Service for Kubernetes (ACK) およびACK Serverlessは、NGINX Ingress、Application Load Balancer (ALB) Ingress、およびMicroservices Engine (MSE) Ingressをサポートしています。 NGINX Ingressは手動メンテナンスが必要です。 ALB IngressとMSE Ingressは完全に管理されています。 このトピックでは、複数のディメンションのNGINX Ingress、ALB Ingress、およびMSE Ingressの違いについて説明します。

背景情報

  • NGINX Ingressは手動メンテナンスが必要です。 ゲートウェイをカスタマイズする場合は、NGINX Ingressを選択できます。

  • ALB IngressはALBインスタンスに基づいており、完全に管理され、O&Mフリーです。 各ALBインスタンスは、1秒あたり100万件のクエリ (QPS) をサポートし、ALB Ingressの拡張トラフィックルーティング機能を提供します。 詳細については、「ALB Ingressの概要」をご参照ください。

  • MSE Ingressは、MSEのクラウドネイティブゲートウェイに基づいており、完全に管理され、O&Mフリーです。 MSEの各クラウドネイティブゲートウェイは100万個のQPSをサポートし、MSE Ingressの拡張トラフィックルーティング機能を提供します。

シナリオ

タイプ

シナリオ

Nginx Ingress

  • クラスターには高度にカスタマイズされたゲートウェイが必要です。

  • クラスターは、クラウドネイティブアプリケーションのカナリアリリースと青緑色のデプロイを実行します。

ALBイングレス

  • クラスターには、完全マネージド型およびO&Mフリーのゲートウェイが必要です。

  • クラスターでは、レイヤー7のインターネットアプリケーションに高性能な自動スケーリングが必要です。

  • クラスターには、サービスレベル契約 (SLA) で最大99.995% のマルチレベルの高可用性が必要です。

  • クラスターは、クラウドネイティブアプリケーションのカナリアリリースと青緑色のデプロイを実行します。

  • クラスターは単一のALBインスタンスを使用して、複数のクラウドサービスのトラフィックを管理します。

  • クラスターには、ハイブリッドクラウドやクロスリージョンクラウドシナリオなど、複数のシナリオでのディザスタリカバリが必要です。

  • クラスターには高いQPSと多数の同時接続が必要です。

MSEイングレス

  • クラスターには、完全マネージド型およびO&Mフリーのゲートウェイが必要です。

  • クラスターには、南北トラフィックと東西トラフィック、マイクロサービスゲートウェイ、およびエンドツーエンドのカナリアリリースの集中管理が必要です。

  • クラスターは、複数のクラスター、複数のPaaSプラットフォーム、および複数のElastic Compute Service (ECS) インスタンス間で共有されるゲートウェイを使用します。

  • クラスターには、ハイブリッドクラウド、複数のデータセンター、および複数のビジネスドメイン内での内部通信が必要です。

  • クラスターには、認証、柔軟な構成、強化されたセキュリティ保護が必要です。

  • クラスターには高いQPSと高い同時実行性が必要です。

特徴の比較

カテゴリ

Nginx Ingress

ALB Ingress

MSE Ingress

サービスの位置付け

  • レイヤー7でトラフィック管理と高度なルーティング機能を提供します。

  • ビジネス要件に基づいてカスタマイズできるクラスターコンポーネント。

  • レイヤー7でトラフィック管理と高度なルーティング機能を提供します。

  • アプリケーション層で実行され、コンテナーとの深い統合を提供し、カナリアリリース、A/Bテスト、青緑色の展開、比率によるトラフィック配分など、さまざまなリリースポリシーをサポートします。

  • 超大容量を提供し、自動スケーリングと自動O&Mをサポートします。

  • Web Application Firewall (WAF) 、Function Compute、PrivateLink、トランジットルーターなど、複数のクラウドサービスとの統合をサポートします。

  • 従来のトラフィックゲートウェイ、マイクロサービスゲートウェイ、およびセキュリティゲートウェイとして機能します。 ハードウェアアクセラレーション、WAFローカル保護、プラグインマーケットプレイスなどの機能を使用して、ホットアップデートをサポートする高性能で、高度にスケーラブルで、統合が容易なクラウドネイティブゲートウェイを構築できます。

  • レイヤー7でトラフィック管理と高度なルーティング機能を提供します。 複数のサービス検出モードとサービスカナリアリリースポリシーをサポートします。 サービスカナリアリリースポリシーには、カナリアリリース、A/Bテスト、青緑色展開、およびカスタムトラフィック率に基づくトラフィック分布が含まれます。

  • アプリケーション層の負荷分散シナリオを対象とし、コンテナサービスと深く統合されています。 MSE Ingressは、要求を転送するためにポッドのIPアドレスに直接接続されます。

アーキテクチャ

NGINXとLuaに基づく拡張機能を提供します。

  • Cloud Network Managementプラットフォームに基づいて開発されました。

  • CyberStarプラットフォームに基づいて開発され、自動スケーリングをサポートします。

  • オープンソースプロジェクトHigressに基づいて開発されました。 コントロールプレーンは、IstiodとEnvoyに基づいて構築されています。 Higressの詳細については、Higressをご覧ください。

  • 個々のユーザー専用。

基本ルーティング

  • コンテンツベースのルーティングをサポートします。

  • HTTP書き換え、リダイレクト、上書き、スロットリング、およびセッション永続化をサポートします。

  • コンテンツと送信元IPアドレスに基づくルーティングをサポートします。

  • HTTPの書き換え、リダイレクト、上書き、スロットリング、クロスオリジンリソース共有 (CORS) 、およびセッション永続化をサポート

  • 受信および送信転送ルールをサポートします。

  • コンテンツベースのルーティングをサポートします。

  • HTTPヘッダーの書き換え、リダイレクト、書き換え、スロットリング、CORS、タイムアウト、および再試行などの機能をサポートします。

  • 標準ポーリング、ランダム、最小接続、コンシステントハッシング、プリフェッチなどの負荷分散モードをサポートします。 プリフェッチモードでは、指定された時間ウィンドウ内にバックエンドサーバーに転送されるトラフィックは、安定したレートで増加します。

  • 何千ものIngressルールをサポートします。

プロトコル

  • HTTPとHTTPSをサポートします。

  • クイックUDPインターネット接続 (QUIC) 、WebSocket、WSS、およびgRPCをサポートします。

  • HTTPとHTTPSをサポートします。

  • クイックUDPインターネット接続 (QUIC) 、WebSocket、WSS、およびgRPCをサポートします。

  • HTTPとHTTPSをサポートします。

  • HTTP 3.0、WebSocket、およびgRPCをサポートします。

  • HTTP/HTTPSからDubboへの変換をサポートします。

構成変更

  • 証明書を変更すると、プロセスがリロードされます。 これは、持続的接続を中断し得る。

  • 証明書の変更以外の構成変更は、Luaに基づくホットアップデートを使用して実行されます。

  • Luaプラグインの設定を変更すると、プロセスがリロードされます。

API操作を呼び出して設定を変更できます。 この方法は、リストウォッチ機構を使用して構成を変更するよりも効率的である。

  • 設定、証明書、プラグインのホットアップデートをサポートします。

  • List-Watchメカニズムは、設定をリアルタイムで更新するために使用されます。

認証

  • Basic Authベースの認証をサポートします。

  • OAuthプロトコルをサポートします。

TLSベースの認証をサポートします。

  • Basic Auth、OAuth、JWT、およびOIDCに基づく認証をサポートします。

  • Alibaba Cloud IDaaSとの統合をサポートします。

  • カスタム認証をサポートします。

パフォーマンス

  • システムパラメータとNGINXパラメータを最適化する手動チューニングが必要です。

  • レプリケートされたポッドの数とリソースの量に適切な設定が必要です。

  • インスタンスごとに100万個のQPSをサポートします。

  • インスタンスごとに数千万の接続をサポートします。

  • 高速化にSSLハードウェアを使用します。

  • CPU使用率が40% に30% されると、MSE Ingressの1秒あたりのトランザクション (TPS) は、オープンソースのNGINX IngressのTPSよりも約90% 高くなります。

  • ハードウェアアクセラレーションを有効にすると、HTTPSのパフォーマンスが約80% 向上します。

可観測性

  • アクセスログを収集できます。

  • Prometheusモニタリングを設定できます。

  • Log Serviceを使用してアクセスログを収集できます。

  • CloudMonitorを使用してメトリクスを収集できます。

  • CloudMonitorに基づいてアラートを設定できます。

  • Simple Log ServiceとPrometheusを使用してアクセスログを収集できます。

  • Prometheusを使用してモニタリングとアラートを設定できます。

  • トレース分析とSkyWalkingをサポートします。

O&M

  • コンポーネントの手動O&Mをサポートします。

  • Horizontal Pod Autoscaler (HPA) ベースのスケーリングを設定できます。

  • 最適化のためのコンピューティングリソース仕様を指定できます。

  • 完全に管理され、O&Mフリー。

  • 自動スケーリングと自動設定をサポートし、超大容量を提供します。

  • トラフィックの急増を処理するための自動スケーリングをサポートします。

完全に管理され、O&Mフリー。

セキュリティ

  • HTTPS に対応しています。

  • ブラックリストとホワイトリストをサポートします。

  • HTTPSによるエンドツーエンドのデータ転送、複数の証明書のサーバー名表示 (SNI) 、Rivest-Shamir-Adleman (RSA) および楕円曲線暗号 (ECC) 証明書、TLS 1.3、TLS暗号スイートをサポートします。

  • WAFをサポートします。

  • Anti-DDoSをサポートします。

  • ブラックリストとホワイトリストをサポートします。

  • HTTPS経由のデータ転送のエンドツーエンド暗号化、複数の証明書のサーバー名表示 (SNI) 、およびカスタムTLSバージョンをサポートします。

  • WAFをサポートします。

  • ブラックリストとホワイトリストをサポートします。

サービスガバナンス

  • Kubernetesクラスターでのサービス検出をサポートします。

  • カナリアリリースをサポートします。

  • 高可用性のためのトラフィックスロットリングをサポートします。

  • Kubernetesクラスターでのサービス検出をサポートします。

  • カナリアリリースをサポートします。

  • 高可用性のためのトラフィックスロットリングをサポートします。

  • Kubernetes、Nacos、ZooKeeper、Enterprise Distributed Application service (EDAS) 、Serverless App Engine (SAE) 、DNS、静的IPアドレスに基づくサービス検出をサポートします。

  • カナリアリリースを使用して3つ以上のアプリケーションバージョンをリリースでき、タグベースのルーティングをサポートし、MSEサービスガバナンスに基づくエンドツーエンドのカナリアリリースをサポートします。

  • MSE IngressはSentinelと統合されており、スロットル、回路遮断、および劣化をサポートします。

  • サービステストはサービスモックをサポートします。

拡張機能

拡張機能を設定するためのLuaをサポートします。

拡張機能の構成に使用できるAScriptをサポートします。 詳細については、「AScriptの概要」をご参照ください。

  • WebAssemblyプラグインを使用して、複数のプログラミング言語をサポートします。

  • 拡張機能を設定するためのLuaをサポートします。

Cloud-nativeのサポート

  • NGINXサービスメッシュをサポートします。

  • 手動メンテナンスが必要なコンポーネントで、ACKクラスターおよびACKサーバーレスクラスターで使用できます。

  • WAF、Function Compute、PrivateLink、トランジットルーターなどの複数のクラウドサービスをサポートします。

  • Container Service for Kubernetes (ACK) クラスターおよびACKサーバーレスクラスターで使用できるマネージドコンポーネント。

ACKクラスターおよびACKサーバーレスクラスターで使用でき、NGINX Ingressの主要なアノテーションとのシームレスな統合をサポートするユーザー側のコンポーネントです。 MSE Ingressでサポートされているアノテーションの詳細については、「MSE Ingressゲートウェイでサポートされているアノテーション」をご参照ください。