ログイン / 登録 アカウント

マイクロサービス

Istio とは

Jump to section

Istio とはオープンソースのサービスメッシュ・プラットフォームで、マイクロサービスが相互にデータを共有する方法を制御する手段を提供します。Istio をあらゆるロギングプラットフォーム、テレメトリ、またはポリシーシステムに統合する API も含まれています。Istio は、オンプレミス、クラウドホスト、Kubernetes コンテナ仮想マシンで実行されるサービスなど、さまざまな環境で実行されるように設計されています。

Istio のアーキテクチャはデータプレーンとコントロールプレーンに分かれています。データプレーンでは、環境内にサイドカープロキシをデプロイして Istio サポートをサービスに追加します。サイドカープロキシはマイクロサービスと並んで存在し、リクエストを他のプロキシ間で転送します。また、これらのプロキシはメッシュネットワークを形成し、マイクロサービス間のネットワーク通信をインターセプトします。コントロールプレーンはプロキシを管理および設定し、トラフィックをルーティングします。コントロールプレーンでは、ポリシーの適用やテレメトリの収集を行うコンポーネントも設定します。

Istio などのサービスメッシュがあると、開発部門と運用部門はモノリシック・アプリケーションからクラウドネイティブ・アプリケーションへの変更に対処しやすくなります。クラウドネイティブ・アプリケーションとは、疎結合された小型で独立したサービスの集合です。Istio は、サービスメッシュおよびサービスメッシュがサポートするマイクロサービスの動作を分析し、運用を制御します。サービスメッシュを使用するとデプロイメントの複雑性が減少し、開発チームの負担がいくらか軽減されます。Istio の機能を利用して、分散マイクロサービス・アーキテクチャを実行できます。機能には次のようなものがあります。

  • トラフィック管理:Isitio でのトラフィックルーティングとルール設定により、サービス間のトラフィックと API 呼び出しのフローを制御できます。
  • セキュリティ:Istio から基盤となる通信チャネルが提供され、サービス通信の認可、認証、暗号化が広範囲で管理されます。Istio を使うと、アプリケーションへの変更を最小に抑えながら、複数のプロトコルとランタイムに対してポリシーを一貫して適用できます。Istio を Kubernetes (またはインフラストラクチャ) ネットワークポリシーと併用すると、pod 間またはサービス間の通信がネットワークレイヤーとアプリケーション・レイヤーでセキュリティ保護されるというメリットがもたらされます。
  • 観測可能性:Istio のトレース、監視、ロギング機能により、サービスメッシュデプロイの状況を把握します。監視により、サービスアクティビティがアップストリームとダウンストリームのパフォーマンスにどのように影響を与えているか、確認できます。カスタムダッシュボードでは、すべてのサービスのパフォーマンスの状態を把握できます。

Istio に Red Hat OpenShift Service Mesh を選ぶ理由

Red Hat OpenShift Service Mesh は Istio をベースとしており、Red Hat OpenShift で利用できます。マイクロサービス間のネットワーク接続をインターセプトするサイドカープロキシの利用により、サービスメッシュ内でネットワーク接続されたマイクロサービスの動作を分析し、制御します。

Red Hat OpenShift Service Mesh は、標準の Istio にはない追加機能を提供し、OpenShift Container Platform へのデプロイを容易にします。

サービスメッシュについてさらに詳しく知る