Service Mesh / サービスメッシュ

サービスメッシュとは

サービスメッシュとは、分散アプリケーションにおけるマイクロサービス間の通信を管理、観測、および保護するためのインフラストラクチャ層です。アプリケーションの異なる部分がどのようにデータを共有するかを制御する方法を提供し、サービスディスカバリ、ロードバランシング、暗号化、認証、認可などの機能を実装します。

サービスメッシュの主要コンポーネント

  1. データプレーン
    • 各サービスインスタンスの横にデプロイされるインテリジェントなプロキシ(サイドカー)の集合で構成されます。
    • プロキシは、サービス間の通信、ルーティング、ロードバランシング、およびその他の機能を処理します。
    • データプレーンのプロキシの例には、Envoy、NGINX、Linkerd2-proxyなどがあります。
  2. コントロールプレーン
    • データプレーンのプロキシを管理および設定します。
    • サービス間の通信に関するポリシーと設定を提供します。
    • 観測性のために、プロキシからテレメトリとメトリクスを収集します。
    • コントロールプレーンの例には、Istio、Linkerd、AWS App Meshなどがあります。

サービスメッシュの機能と利点

  1. トラフィック管理
    • サービス間のトラフィックの流れを制御し、ルーティング、分割、フェイルオーバーなどの機能を実現します。
    • カナリアリリースやブルーグリーンデプロイメントなどの高度なデプロイメントパターンをサポートします。
  2. 観測性
    • メトリクス、ログ、トレースを通じて、サービスの動作とパフォーマンスの洞察を提供します。
    • 分散トレーシングにより、システム全体のリクエストの流れを理解できます。
  3. セキュリティ
    • 相互TLS(mTLS)を使用してサービス間の通信を暗号化します。
    • サービス間の通信の認証と認可の機能を提供します。
  4. 回復力
    • サーキットブレーカー、リトライ、タイムアウトなどの回復力パターンを実装します。
    • 障害の連鎖を防ぎ、システム全体の安定性を向上させます。

サービスメッシュとKubernetes

サービスメッシュは、Kubernetesなどのコンテナオーケストレーションプラットフォームと組み合わせて使用されることが一般的です。Kubernetes環境では、サービスメッシュのプロキシは通常、各サービスのPodにサイドカーとしてデプロイされます。コントロールプレーンは、Kubernetesクラスタ内の一連のサービスとしてデプロイされます。

Kubernetesで人気のあるサービスメッシュの実装には以下のようなものがあります。

  • Istio:幅広い機能と統合を提供するオープンソースのサービスメッシュプラットフォームです。
  • Linkerd:使いやすさとパフォーマンスを重視した、軽量でシンプルなサービスメッシュです。
  • Consul Connect:HashiCorp Consulの上に構築されたサービスメッシュソリューションで、サービスディスカバリとセグメンテーションを提供します。

サービスメッシュは、分散システムにおけるマイクロサービス間の通信を管理および保護するための強力な機能セットを提供します。複雑なマイクロサービスアーキテクチャにおけるサービスディスカバリ、トラフィック管理、観測性、セキュリティの課題に対処するのに役立ちます。

セキュリティ

まだありません
ローコード管理画面開発SaaSのクエリアなら

管理画面開発の4つの面倒ごとを省略

管理画面開発を高速化するクエリアの基本機能

UIコンポーネント

クエリアなら、ユーザーインターフェイスをデザインする必要はありません。管理画面や、業務ツールに必要なパーツはすでに用意されており、適切なパーツを適切な場所にドラッグ&ドロップするだけでインターフェイスを構築できます。
さらに詳しく見る

データフロー

リクエストを記述したり、ロジックを組んだりすることができるデータフローを使うことで、データソースから返ってきたたデータを表示することも、データソース内のデータを操作することも簡単にできるようになります。フローとして一連の処理をひとまとまりにすることで、複雑な操作も可能です。
さらに詳しく見る

権限管理

本来であれば複雑で大掛かりな開発が必要とされる権限管理機能も、クエリアなら楽に実現できます。どのユーザーがどのページにアクセスすることができるか管理することはもちろん、大切なデータソースに対しても、ユーザーごとにアクセス制限を設けることができます。また、権限グループ機能を使えば、特定の部署やチームごとに権限を管理することも可能です。
さらに詳しく見る

監査ログ

監査ログ
大切なデータに対して実行された処理を、ログとして閲覧することができます。いつ、誰が、どのページで、どのようなクエリを実行したのかを詳細に確認できます。また、ログはCSVフォーマットでダウンロードすることで、必要な人に送ったり、表計算ソフトなどでの分析に活用することも可能です。
さらに詳しく見る