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

Container Compute Service:Knative Ingress の選択に関する推奨事項

最終更新日:Dec 27, 2024

Knative Ingress を作成して、外部トラフィックを異なる Knative サービスにルーティングできます。ACS は、ALB、MSE、ASM、および Kourier Ingress などの Knative Ingress をサポートしています。Ingress のタイプごとに利点と使用シナリオがあります。このトピックでは、これらのタイプの Ingress を、製品のポジショニング、アーキテクチャ、ルーティング機能、O&M、パフォーマンス、サポートされている主要なプロトコル、および可観測性の観点から比較します。

Knative Ingress の概要

  • 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

Kourier

製品のポジショニング

  • アプリケーション層のワークロードに重点を置いています。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 のクラウドネットワーク管理プラットフォームで実行されます。

  • 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 の仕様に準拠しています。

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

  • Horizontal Pod Autoscaling (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 リクエストを高速化し、QPS を 80% 向上させることができます。

パフォーマンスを最適化するには、手動で調整する必要があります。

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

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

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

  • HTTPS から Dubbo への HTTP およびリダイレクトをサポートします。

  • 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 で監視とアラートを構成できます。

  • トレースと Tracing Analysis および Apache SkyWalking との統合をサポートします。

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

  • セルフマネージド Prometheus システムとの統合をサポートします。

  • Application Real-Time Monitoring Service (ARMS) との統合をサポートします。

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

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

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

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

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

参考資料

Knative でこれらの Ingress を使用する方法と使用上の注意の詳細については、「ALB Ingress の使用」、「ASM Ingress の使用」、「Knative で MSE Ingress を使用して自動スケーリングを実装する」、および「Kourier Ingress の使用」を参照してください。