Istio とは

サービス メッシュである Istio は、透過的で言語に依存しない手段を提供し、アプリケーション ネットワーク機能を柔軟かつ簡単に自動化する、最新のサービス ネットワーキング レイヤです。クラウドネイティブなアプリケーションを構成するさまざまなマイクロサービスを管理するためのソリューションとして広く使用されています。Istio サービス メッシュでは、これらのマイクロサービスが相互に通信し、データを共有する方法もサポートしています。

組織は、クラウドへの移行を加速すると同時に、必要に応じて、アプリケーションをモダナイズします。しかし、モノリシックなレガシー アプリからクラウド ネイティブなアプリに移行すると、DevOps チームの課題が増える可能性があります。

デベロッパーは、クラウドのポータビリティを確保するために、疎結合されたマイクロサービスを使用するアプリを組み立てる方法を学習する必要があります。同時に、運用チームは、ハイブリッド環境やマルチクラウド環境がますます大きくなる中で、新しいクラウド ネイティブ アプリを管理する必要があります。Istio を使用すると、これが可能になります。

Istio の定義

Istio は、組織が分散型のマイクロサービス ベースのアプリケーションをどこでも実行できるようにするためのオープンソースのサービス メッシュです。Istio を使用する理由Istio を使用すると、組織はマイクロサービスの保護、接続、モニタリングが可能になるため、エンタープライズ アプリを迅速かつ安全にモダナイズできます。

Istio は、アプリケーション コードを変更する必要なく、サービス間のトラフィック フローを管理し、アクセス ポリシーを適用してテレメトリー データを集計します。Istio は、既存の分散アプリケーションに透過的に階層化されることで、デプロイの複雑さを軽減します。

Istio サービス メッシュの利点

一貫性のあるサービス ネットワーキングを実現

ネットワーキング オペレータは、デベロッパーのオーバーヘッドを追加することなく、すべてのサービスのネットワークを一貫して管理できます。

Istio のメリットを利用したサービスの保護

セキュリティ オペレータは、認証、承認、暗号化などのサービス間のセキュリティを簡単に実装できます。

アプリケーションのパフォーマンスの向上

カナリア ロールアウトなどのベスト プラクティスを実装し、アプリケーションの可視性を高めて、パフォーマンス向上のために注力すべき場所を特定します。

Istio、Envoy、Kubernetes の連携方法

Istio と Istio アーキテクチャを理解するには、Envoy と Kubernetes の両方について把握することが重要です。Istio と Envoy または Istio と Kubernetes の比較は問題ではありません。多くの場合、これらが連携してマイクロサービス ベースのコンテナ化された環境がスムーズに動作します。

たとえば、Istio などのサービス メッシュは、コントロール プレーンとデータプレーンの両方で構成されています。Istio は、Envoy の拡張バージョンをデータプレーンとして使用します。Envoy は、Istio サービス メッシュにおけるすべての受信トラフィックと送信トラフィックを管理します。

一方、Kubernetes は、コンテナ化されたアプリケーションのデプロイとスケーリングに関する手動プロセスの多くを不要にする、オープンソース プラットフォームです。また、Istio はプラットフォームに依存しませんが、デベロッパー はよく Istio と Kubernetes を一緒に使用します。

Istio はプラットフォームに依存しないため、さまざまな環境で実行できます。

  • Cloud
  • オンプレミス
  • Kubernetes
  • Mesos

Istio の用途

Istio を使用すると、組織は大規模なアプリケーションを分散できます。これにより、トラフィック管理、承認、暗号化や、監査、オブザーバビリティなどのサービス間のネットワーク操作が簡素化されます。Istio のメリットを提供する最も一般的なユースケースを次に示します。

クラウドネイティブ アプリの保護

強力な ID ベースの認証、認可、暗号化により、アプリケーション レベルでセキュリティを強化します。

トラフィックの効果的な管理

高度なルーティング ルール、再試行、フェイルオーバー、フォールト インジェクションにより、トラフィックの動作をきめ細かく制御します。

サービス メッシュのモニタリング

Istio の堅牢なトレース、モニタリング、ロギングの機能によって、サービスのパフォーマンスがアップストリームに与える影響について理解を深めることができます。

Kubernetes と仮想マシンを使用して簡単にデプロイ

Istio は、コンテナと仮想マシンを含む、従来のワークロードと最新ワークロードの両方の可視性とネットワーク制御を提供します。

高度な機能による負荷分散の簡素化

クライアント ベースのルーティングやカナリア ロールアウトなどの高度な機能とともに、すべてのトラフィックに対して自動負荷分散を使用します。

ポリシーの適用

アクセス制御、レート上限、割り当てをサポートするプラグイン可能なポリシーレイヤと構成 API を使用して、ポリシーを適用します。

Anthos Service Mesh には、大規模なサービスを構築し、提供してきた Google の長年の経験が活かされています。これにより、サイト信頼性エンジニアリング(SRE)とゼロトラストのベスト プラクティスを採用して、セキュリティ面で妥協することなく、質の高いサービスを迅速かつ大規模に提供できます。Anthos を使用すると、どこでも必要な場所でサービス ネットワーキングを安定的に管理できます。