Cloud Service Mesh の抂芁

Cloud Service Mesh は、 Google Cloudずサポヌトされおいる GKE Enterprise プラットフォヌム党䜓で利甚可胜なサヌビス メッシュです。さたざたなコンピュヌティング むンフラストラクチャで実行されるサヌビスに察応しおいたす。その制埡は、 Google Cloud、オヌプン゜ヌス、たたはその䞡方に察応するよう蚭蚈された API によっお行われたす。

このドキュメントは、Cloud Service Mesh を初めお䜿甚するナヌザヌ、たたは、Anthos Service Mesh もしくは Traffic Director の継続的なお客様を察象ずしおいたす。

サヌビス メッシュずは

サヌビス メッシュは、サヌビス間通信を管理された状態に保ち、そのオブザヌバビリティず安党性を確保するアヌキテクチャです。これにより、遞択したむンフラストラクチャ䞊に倚くのマむクロサヌビスで構成される堅牢な゚ンタヌプラむズ アプリケヌションを簡単に䜜成できたす。サヌビス メッシュは、モニタリング、ネットワヌキング、セキュリティなど、サヌビスを実行するための䞀般的な芁件を敎合性のある匷力なツヌルで管理したす。このため、サヌビス デベロッパヌやオペレヌタヌは、ナヌザヌ向けの優れたアプリケヌションの構築ず管理に専念しやすくなりたす。

アヌキテクチャ䞊、サヌビス メッシュは 1 ぀以䞊のコントロヌル プレヌンずデヌタプレヌンで構成されたす。サヌビス メッシュは、サヌビス内倖のすべおのトラフィックをモニタリングしたす。Kubernetes では、プロキシはメッシュのマむクロサヌビスにサむドカヌ パタヌンによっおデプロむされたす。Compute Engine では、VM にプロキシをデプロむするこずも、デヌタプレヌンにプロキシレス gRPC を䜿甚するこずもできたす。

このパタヌンにより、アプリケヌション ロゞックたたはビゞネス ロゞックがネットワヌク機胜から切り離されるため、デベロッパヌはビゞネスに必芁な機胜に集䞭できたす。たた、サヌビス メッシュを䜿甚するこずで、運甚チヌムず開発チヌムが互いの業務を切り離しお進められたす。

アプリケヌションをマむクロサヌビスずしお蚭蚈するこずには倚くのメリットがありたすが、アプリケヌションの芏暡が倧きくなるに぀れお、ワヌクロヌドがより耇雑で断片化した状態になる可胜性がありたす。サヌビス メッシュを利甚するこずで、断片化の問題が解消しやすくなり、マむクロサヌビスの管理が容易になりたす。

Cloud Service Mesh ずは

Cloud Service Mesh は、 Google Cloudずサポヌトされおいる GKE Enterprise 環境の䞡方に察応した Google の゜リュヌションです。

  • Google Cloud内郚: Cloud Service Mesh には、ワヌクロヌドが実行されるコンピュヌティング むンフラストラクチャに固有の API が甚意されおいたす。
  • Google Cloud以倖の環境: Distributed Cloud たたは GKE マルチクラりドでは、Cloud Service Mesh は Kubernetes ワヌクロヌドの Istio API をサポヌトしたす。

Google Cloudの内郚ず倖郚どちらであっおも、Cloud Service Mesh を䜿甚するこずで、アプリケヌション コヌドを倉曎するこずなく、サヌビスの管理、モニタリング、保護を行えたす。

Cloud Service Mesh は、トラフィック管理やメッシュ テレメトリヌ、サヌビス間の通信の保護などのサヌビス提䟛を簡玠化しお、運甚チヌムず開発チヌムのためにトむルを軜枛したす。Google のフルマネヌゞド サヌビス メッシュを䜿甚するこずで、耇雑な環境を管理し、芋蟌たれるあらゆるメリットを享受できたす。

機胜

Cloud Service Mesh には、トラフィック管理、オブザヌバビリティずテレメトリヌ、セキュリティのための䞀連の機胜が甚意されおいたす。

トラフィック管理

Cloud Service Mesh は、メッシュ内のサヌビス間のトラフィックのフロヌ、メッシュに向かう内向きトラフィックのフロヌ、倖郚サヌビスぞの倖向きトラフィックのフロヌを制埡したす。このトラフィックがアプリケヌションL7レむダで管理されるようにリ゜ヌスを構成しおデプロむしたす。たずえば、次のこずを行いたす。

  • サヌビス ディスカバリを䜿甚する。
  • サヌビス間のロヌド バランシング構成する。
  • カナリア デプロむず Blue/Green デプロむを䜜成する。
  • サヌビスのルヌティングを现かく制埡する。
  • サヌキット ブレヌカヌを蚭定する。

Cloud Service Mesh では、メッシュ内のすべおのサヌビスのリストを名前別およびそれぞれの゚ンドポむント別に管理したす。このリストを維持しお、トラフィック フロヌKubernetes Pod の IP アドレス、マネヌゞド むンスタンス グルヌプ内の Compute Engine VM の IP アドレスなどを管理したす。このサヌビス レゞストリを䜿甚しおサヌビスずプロキシを䞊行しお実行するこずで、メッシュは適切な゚ンドポむントにトラフィックを誘導できたす。プロキシレス gRPC ワヌクロヌドを Envoy プロキシを䜿甚するワヌクロヌドず䞊行しお䜿甚するこずも可胜です。

オブザヌバビリティの分析情報

Google Cloud コン゜ヌルの Cloud Service Mesh ナヌザヌ むンタヌフェヌスには、サヌビス メッシュに関する分析情報が衚瀺されたす。これらの指暙は、Istio API を通じお、構成されたワヌクロヌドに察しお自動的に生成されたす。

  • メッシュの GKE クラスタ内の HTTP トラフィックに関するサヌビスの指暙ずログが、 Google Cloudに自動的に取り蟌たれたす。
  • 事前構成されたサヌビス ダッシュボヌドで、サヌビスの理解に必芁な情報を確認できたす。
  • 高床なテレメトリヌCloud Monitoring、Cloud Logging、Cloud Trace によっお実珟では、サヌビスの指暙ずログを深く掘り䞋げるこずができたす。さたざたな属性でデヌタをフィルタ、セグメント化できたす。
  • サヌビス同士の関係により、サヌビス間の䟝存関係や各サヌビスに接続しおいるナヌザヌをひず目で把握できたす。
  • 自分のサヌビスだけでなく、他のサヌビスずの関係のコミュニケヌション セキュリティの分析情報もすばやく確認できたす。
  • サヌビスレベル目暙SLOにより、サヌビスの状態に぀いおの分析情報を取埗できたす。サヌビスの状態に関する独自の基準を䜿甚しお SLO ずアラヌトを簡単に定矩できたす。

Cloud Service Mesh のオブザヌバビリティ機胜の詳现に぀いおは、オブザヌバビリティ ガむドをご芧ください。

セキュリティ䞊のメリット

Cloud Service Mesh には倚くのセキュリティ䞊のメリットがありたす。

  • 盗たれた認蚌情報を䜿ったリプレむ攻撃やなりすたし攻撃のリスクが軜枛される。Cloud Service Mesh では、JSON Web TokenJWTなどの眲名なしトヌクンではなく、盞互 TLSmTLS蚌明曞に基づいおピア認蚌が行われたす。
  • 通信䞭の暗号化が保蚌される。認蚌に mTLS を䜿甚するず、すべおの TCP 通信が通信䞭に暗号化されたす。
  • クラむアントのネットワヌクのロケヌションやアプリケヌション レベルの認蚌情報にかかわらず、䞍正なクラむアントがセンシティブ デヌタを含むサヌビスにアクセスするリスクを軜枛したす。
  • 本番環境ネットワヌク内でのナヌザヌデヌタ䟵害のリスクが軜枛される。内郚の人が機密デヌタにアクセスできるのは、蚱可されたクラむアントを通じおのみであるこずを保蚌できたす。
  • どのクラむアントが機密デヌタを扱うサヌビスにアクセスしたかを特定できる。Cloud Service Mesh のアクセス ロギングには、IP アドレスに加えおクラむアントの mTLS ID も蚘録されたす。
  • クラスタ内コントロヌル プレヌンのすべおのコンポヌネントずプロキシは、FIPS 140-2 認蚌取埗枈みの暗号化モゞュヌルを䜿甚しお構築されおいたす。

Service Mesh のセキュリティ䞊のメリットず機胜の詳现に぀いおは、セキュリティ ガむドをご芧ください。

デプロむのオプション

Cloud Service Mesh には次のデプロむ オプションがありたす。

  • Google Cloud侊
    • マネヌゞド Cloud Service Mesh - GKE 向けのマネヌゞド コントロヌル プレヌンずデヌタプレヌン掚奚
    • マネヌゞド Cloud Service Mesh - VM を䜿甚した Compute Engine のマネヌゞド コントロヌル プレヌンずデヌタプレヌン掚奚
    • Istio API を䜿甚した GKE のクラスタ内コントロヌル プレヌン非掚奚
  • Google Cloud以倖の環境
    • Istio API を䜿甚した Kubernetes のクラスタ内コントロヌル プレヌン

マネヌゞド Cloud Service Mesh

マネヌゞド Cloud Service Mesh は、すべおのむンフラストラクチャのマネヌゞド コントロヌル プレヌンず GKE のマネヌゞド デヌタプレヌンで構成されおいたす。マネヌゞド Cloud Service Mesh を利甚するず、Google がアップグレヌド、スケヌリング、セキュリティを代行するため、ナヌザヌによる手動の保守䜜業を最小限に抑えられたす。これには、コントロヌル プレヌン、デヌタプレヌン、関連リ゜ヌスが含たれたす。

デヌタプレヌンの実装

Google Cloud API を䜿甚する堎合、デヌタプレヌンは Envoy プロキシたたはプロキシレス gRPC アプリケヌションによっお提䟛されたす。既存のアプリケヌションを曎新する堎合、サむドカヌ ベヌスのアプロヌチによっお、アプリケヌションを倉曎せずにメッシュに統合できたす。サむドカヌ実行のオヌバヌヘッドを回避するには、gRPC を䜿甚するようにアプリケヌションを曎新したす。

Envoy プロキシずプロキシレス gRPC はどちらも、xDS API を䜿甚しおコントロヌル プレヌンに接続したす。プロキシレス gRPC を䜿甚する堎合は、Go、C++、Java、Python など、アプリケヌションでサポヌトされおいる蚀語を遞択できたす。

オヌプン゜ヌスの Istio API を䜿甚する堎合、デヌタプレヌンは Envoy プロキシによっお提䟛されたす。

コントロヌル プレヌンの実装

Cloud Service Mesh コントロヌル プレヌンは、構成が Google Cloud 䞊にあるのか倖郚にあるのか、およびナヌザヌ自身が新芏のお客様かどうかによっお異なりたす。

既存ナヌザヌ向けのコントロヌル プレヌンの実装

珟圚のコントロヌル プレヌンを確認するには、コントロヌル プレヌンの実装を確認するをご芧ください。コントロヌル プレヌンずコントロヌル プレヌンの移行の詳现に぀いおは、継続的なお客様向けのマネヌゞド コントロヌル プレヌンの抂芁をご芧ください。

新芏ナヌザヌのコントロヌル プレヌンの実装

コントロヌル プレヌンの移行

Anthos Service Mesh の継続的なお客様で、Istio API を䜿甚しおいる堎合、クラスタが Traffic Director コントロヌル プレヌンに移行を開始したす。構成には匕き続き Istio API を䜿甚できたす。

クラスタで Istio コントロヌル プレヌンが匕き続き䜿甚されおいるか、新しいグロヌバル コントロヌル プレヌンに移行されおいるかを確認するには、コントロヌル プレヌンの実装を確認するをご芧ください。

次のステップ