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

Container Service for Kubernetes:KnativeのIngressを選択するための推奨事項

最終更新日:Dec 14, 2024

Knativeは、外部トラフィックの柔軟な進入を可能にし、異なるKnativeサービスにルーティングします。 ACK Knativeは、Application Load Balancer (ALB) Ingress、マイクロサービスエンジン (MSE) Ingress、Service Mesh (ASM) Ingress、およびKourier Ingressをサポートします。 各Ingressには異なる強みがあり、特定の使用シナリオ向けに設計されています。 このトピックでは、製品のポジショニング、アーキテクチャ、基本的なルーティング機能、O&M機能、パフォーマンス、サポートされる主流プロトコル、および可観測性の観点から、これらのIngressを比較して、ビジネス要件を満たす適切なIngressを選択するのに役立ちます。

Knative Ingressesの紹介

  • ALB Ingress: ALB Ingressは、トラフィック管理のためにAlibaba CloudのALBサービスによって強化された、完全マネージド型のO&MフリーIngressです。 ALB Ingressは、自動スケーリング機能も提供します。

  • MSE Ingress: MSE Ingressは、Kubernetes Ingress標準に準拠した次世代のIngressです。 MSE Ingressは、従来のトラフィックゲートウェイのすべての機能をサポートします。

  • ASM Ingress: ASMは、マイクロサービスアプリケーションのトラフィックを一元管理できるIstio互換プラットフォームです。 ASM Ingressは、トラフィック制御、メッシュ可観測性、安全なサービス間通信などの機能を提供して、サービスガバナンスを簡素化し、異種コンピューティングインフラストラクチャ上で実行されるサービスの管理を支援します。

  • Kourier Ingress: Kourier Ingressは、Envoyアーキテクチャに基づいて開発されたオープンソースの軽量Ingressです。

Knative Ingressの比較

タイプ

ALB

MSE

ASM

クーリエ

プロダクトの位置付け

  • アプリケーションレイヤーのワークロードに焦点を当てます。 ALB Ingressは、レイヤー7の負荷分散を提供し、コンテナ化テクノロジーと深く統合されています。

  • ALB Ingressは、HTTP、HTTPS、およびQUICをサポートしており、自動スケーリングやトラフィックの多いシナリオに適しています。

  • ALB Ingressは、カナリアリリース、A/Bテスト、青緑色の展開など、さまざまなリリースポリシーを提供しています。 ALB Ingressは、Web Application Firewall (WAF) 、Function Compute、PrivateLinks、およびトランジットルーターで使用できます。

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

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

  • MSE Ingressは、アプリケーション層のワークロードを対象としています。 MSE Ingressはコンテナ化技術と深く統合されており、トラフィックをバックエンドポッドのIPアドレスに直接転送できます。

ASMは、完全マネージド型のサービスメッシュプラットフォームを提供し、オープンソースのIstioと互換性があります。 ASM Ingressは、サービス間のトラフィックのルーティング、分割、管理を簡素化し、サービス通信の認証とメッシュの可観測性を提供して、開発とO&M作業を大幅に削減できます。

Kourier Ingressは、Knative ServingのEnvoyに基づいて開発された軽量Ingressです。 Kourier Ingressは、ルーティング機能とサービス検出機能を提供します。

アーキテクチャ

  • ALB Ingressは、Alibaba CloudのCloud Network Managementプラットフォームで実行されます。

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

  • MSE Ingressは、オープンソースのHigressプロジェクトに基づいて開発されており、Istioが制御プレーン、Envoyがデータプレーンとして機能します。 Higressの詳細については、「Higress」をご参照ください。

  • MSE Ingressはユーザー専用です。

  • Istioコントロールプレーンは完全管理コンポーネントで構成され、オープンソースのIstioと互換性があります。

  • 各ASMインスタンスは、複数のKubernetesクラスターにデプロイされたアプリケーション、またはElastic Container instanceベースのポッドで実行されるアプリケーションに対応できます。

  • Kourier Ingressは、Envoyアーキテクチャに基づいて開発されています。

  • レプリカ数とリソース制限は手動で設定できます。

基本ルーティング

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

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

  • インバウンドおよびアウトバウンド方向の転送ルールをサポートします。

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

  • HTTPリクエストヘッダーの書き換え、リダイレクト、スロットリング、クロスオリジンリソース共有 (CORS) 、タイムアウト、および再試行をサポートします。

  • ラウンドロビン、ランダム、最小接続、コンシステントハッシング、プリフェッチなど、複数の負荷分散モードを提供します。

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

  • カスタムトラフィックルーティング規則をサポートします。

  • 異なるKubernetesクラスターのアプリケーション間のトラフィック管理をサポートします。

  • きめ細かいトラフィック管理を提供します。

  • すぐに使えるカオスエンジニアリング機能を提供します。

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

  • HTTPリクエストヘッダーの書き換えをサポートします。

O&M

  • 完全に管理されたO&Mとゼロ構成。

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

  • トラフィックスパイクに耐える自動スケーリングをサポートします。

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

  • 数回クリックするだけでインストール、デプロイ、更新できます。

  • 完全マネージド型の制御プレーンコンポーネント。

  • ビジネスアプリケーションの開発に集中できます。

  • オープンソースIstioの仕様に従います。

  • コンポーネントを手動で保守する必要があります。

  • 水平ポッド自動スケーリング (HPA) を設定できます。

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

パフォーマンス

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

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

  • デフォルトでは、加速にSSLハードウェアを使用します。

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

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

  • クロスリージョンデプロイ、近隣アクセス、DNSインテリジェント解決をサポートします。 ドメイン名は、クライアントに最も近いIPアドレスに解決されます。

  • Classic Load Balancer (CLB) インスタンスを介してASM Ingressにアクセスします。

  • TLS Acceleration EditionのASM Ingressは、Intel MultiBufferテクノロジーに基づいてHTTPSリクエストを高速化し、80% でQPSを改善できます。

パフォーマンスを最適化するには手動チューニングが必要です。

サポートされている主流プロトコル

HTTP、HTTPS、QUIC、WebSocket、WSS、およびgRPCをサポートします。

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

  • HTTPをサポートし、HTTPSからDubboにリダイレクトします。

  • HTTPSと動的証明書の読み込みをサポートします。

  • Ingress Ingressを介して内部gPRCサービスにアクセスし、2つのgRPCバージョン間でトラフィックを切り替えることができます。

  • HTTP/JSONからgRPCへのトランスコードをサポートします。これにより、HTTP/JSONを使用してASMのgRPCサービスにアクセスできます。

  • Ingress Ingressを介してASMのWebSocketサービスにアクセスできるようにします。

HTTP、HTTPS、およびgRPCをサポートします。

可観測性

  • アクセスログ収集とメトリック収集をサポートします。

  • Simple Log Serviceでアクセスログを表示および分析できます。

  • CloudMonitorでメトリクスを表示および分析できます。

  • アラートをサポートします。 CloudMonitorでアラートを表示および分析できます。

  • アクセスログの収集をサポートし、Simple log ServiceおよびManaged Service for Prometheusでアクセスログを表示できます。

  • Managed Service for Prometheusでモニタリングとアラートを設定できます。

  • トレース分析とApache SkyWalkingによるトレースと統合をサポートします。

  • 視覚化されたメッシュトポロジとトポロジ分析をサポートします。

  • 自己管理されたPrometheusシステムとの統合をサポートします。

  • アプリケーションリアルタイム監視サービス (ARMS) との統合をサポートします。

  • Simple Log Serviceとの統合をサポートします。

  • カスタムメトリックをサポートします。

  • サービスレベル目標 (SLO) をサポートします。

アクセスログ収集をサポートします。

ALB Ingressはアプリケーション層での負荷分散に重点を置き、MSE Ingressはマイクロサービスシナリオに重点を置き、ASM Ingressはサービスメッシュ (Istio) 機能を提供し、Kourier Ingressは基本的なIngress機能のみを提供します。

関連ドキュメント

KnativeでこれらのIngressを使用する方法の詳細については、KnativeでALB Ingressを使用するKnativeでMSE Ingressを使用して自動スケーリングを実装するKnativeでKourierゲートウェイを使用する、およびKnativeでKourierゲートウェイを使用するを参照してください。