📖

Cloud Service Mesh を深掘りたい!- Part.2 公式ドキュメント -

2024/05/27に公開

2024 年 5 月 23 日に Anthos Service Mesh(以下、ASM) と Traffic Director が統合された Cloud Service Mesh が発表されました。Google Cloud Next '24 で Cloud Service Mesh に興味を持っていたことから、さっそく公式ドキュメントを読んでみたところ私にとってはかなり難解なものでした、、

Cloud Service Mesh リリースノートから引用
(Cloud Service Mesh リリースノートから引用)

ドキュメントを読んでいて、ASM と Traffic Director が統合されたことで、下記の単語が多く登場したため、自分なりに整理してみることにしました!特にドキュメントの Overview と Managed control plane for continuing customers のページにフォーカスしています。

  • Anthos Service Mesh / Traffic Director
  • Managed Control Plane / In-Cluster Control Plane
  • Istio API / Google Cloud API

本記事では用語を整理しつつ Google Cloud Next '24 での発表と照らし合わせる「概要パート」と ASM と Traffic Director からどのように Cloud Service Mesh へ変わっていくかの「移行パート」の二部構成となっています。

内容に誤りがありましたら、ご指摘いただけたら幸いです。

概要パート

前提

まずは ASM と Traffic Director でポイントとなる用語、特にアーキテクチャに関して整理しておきます。

ASM は Google Cloud が提供するフルマネージドなサービスメッシュです。GKE 上でのみ動作し、コントロールプレーンは GKE クラスタ内にデプロイされます

また、デプロイ方式は 2 種類あり、Google Cloud がコントロールプレーンの運用管理を行うマネージドコントロールプレーンとユーザーが自身でコントロールプレーンをインストール・管理する方式のユーザー管理コントロールプレーンです。

ASM は Istio ベースの実装となっており、Istio API を介して操作します。

Traffic Director は Google Cloud が提供するフルマネージドなトラフィック管理サービスです。コントロールプレーンは Google Cloud のインフラストラクチャ上で動作します

サービスメッシュの構築において、マネージドコントロールプレーンとして Traffic Director を利用できます。(Traffic Director は厳密には単体でサービスメッシュを構築できるわけではないようです。)

Traffic Director は Google Cloud API を介して操作します。

双方でマネージドコントロールプレーンが出てくれるので、区別のためにも以降は ASM の方は Istio マネージドコントロールプレーン、もう一方は Traffic Director コントロールプレーンとします。

Google Cloud Next '24 での発表

こちらについては、クラウドエース株式会社の間瀬さんの記事や以前執筆した私の記事で解説されています。まだ、どんな発表があったのか知らないという方はぜひお読みください!

私の記事から要点を載せておきます。

  • Cloud Service Mesh は既存の Anthos Service Mesh と Traffic Director が統合されて新しいサービスメッシュのサービスとして発表されました。従来の GKE や Compute Engine へのサービスメッシュの導入に加えて、Cloud Run への導入が可能な点が大きなポイントでした。
  • Istio のデータプレーンの新たな実装である Ambient Mode でのデプロイ方式も予定されており、Sidecar Mode で課題となっていた 「アプリケーションの阻害」「リソースの非効率な使用」「非 HTTP 準拠アプリケーションの問題」 に関するアプローチとなっているようです。
  • 特にノードへ配置される共有プロキシが L4 処理のみを担当することで軽量化されており、Sidecar Mode より柔軟なサービスメッシュの導入が可能となっていそうです。

発表との照らし合わせ

Cloud Service Mesh が ASM と Traffic Director が統合された点や Traffic Director が Cloud Service Mesh の標準のコントロールプレーンとなることから運用負荷の軽減・グローバルにスケール・各種コンピュートプラットフォームへの柔軟な導入といった点は Google Cloud Next '24 での発表と合致する部分でした。

一方で、Cloud Service Mesh の大きな特徴として発表された 「Cloud Run への導入」 や Istio データプレーンの新たなデプロイ方式である 「Ambient Mode」 に関する記述は現時点ではありませんでした。

これらの点は個人的にも楽しみにしていた部分だったので少し残念ではありましたが、現時点では Cloud Run への導入が Privete Preview という点や Ambient Mode が開発中という点が影響していると考えられるので今後の追加に期待です!

移行パート

Traffic Director ユーザーの場合

If you are a Traffic Director user, your control plane remains the same. You don't need to read the rest of this guide. Documentation for your Cloud Service Mesh implementation is under Configure with Google Cloud APIs.

Cloud Service Mesh では、マネージドコントロールプレーンとして Traffic Director を利用するために元々 Traffic Director を利用している場合は変更がないようです。また、Google Cloud API を引き続き使用するようです。

Anthos Service Mesh ユーザーの場合

ASM の場合は上述した通り、2 種類のデプロイ方式を提供していて、それによって Cloud Service Mesh でどのような影響があるのかが変わってくるようです。

ユーザー管理コントロールプレーン

If you use the in-cluster control plane, your control plane remains the same. You don't need to read the rest of this guide.

ユーザーが自身でコントロールプレーンをインストール・管理する方式であるユーザー管理コントロールプレーンでも変更がないようです。これはコントロールプレーンを Google Cloud が管理していないため、引き続きクラスター内の Istiod が利用可能なようです。

マネージドコントロールプレーン

If you use the managed control plane, with some exceptions your existing fleets will be migrated to the new control plane, referred to in the Cloud Service Mesh as managed control plane (Traffic Director, or TD, implementation).

Google Cloud がコントロールプレーンの運用管理を行うマネージドコントロールプレーンでは、いくつかの例外を除き Cloud Service Mesh では Traffic Director コントロールプレーンに移行されるようです。

また、本来 Traffic Director では Google Cloud API をサポートしていますが、この移行の際に互換性を保つために Istio API もサポートしているようで、引き続き Istio API で操作することが可能です。

いくつかの例外の一例として、一部の Istio API の機能を使用している場合は Traffic Director では Istio の全機能をサポートしているわけではないため、従来の Istio マネージドコントロールプレーンが引き続き利用されるようです。Traffic Director コントロールプレーンがこれらの機能をサポートしたタイミングで移行となるようです。

注意事項

2024 年 6 月 22 日以降、Google Cloud のサービスメッシュは Cloud Service Mesh が中心となるようです。

新規利用の場合は 2024/06/22 以降の新規プロビジョニング、既存の ASM マネージドコントロールプレーンの場合は 2024/07/22 から段階的に CSM 移行される予定です。

グーグル・クラウド・ジャパン合同会社の内間さんのポストから引用

それに伴い、いくつか頭に留めておくとよい項目がありました。

ASM の新規メッシュのサポート終了

ASM は、既存のユーザーに対しては引き続きサポートされますが、新規でのサービスメッシュの作成はできなくなります。

Cloud Service Mesh が標準サービスメッシュサービスに

ASM と Traffic Director の機能を統合し、さらに新機能が追加された Cloud Service Mesh が、Google Cloud の標準的なサービスメッシュサービスとなります。

Traffic Director 実装がデフォルトに

新規に作成される Cloud Service Mesh でのサービスメッシュでは、Traffic Director 実装がデフォルトで採用されます。

Istio API の継続的なサポート

GKE 環境では、既存の ASM ユーザーの移行をスムーズにするため、Cloud Service Mesh でも Istio API が引き続きサポートされます。

以上が Cloud Service Mesh の公式ドキュメントを読んでみて整理したかった内容となります!ドキュメントの一部ではあるのですが、だいぶ Cloud Service Mesh 周りの話がすっきりしました!

参考

さいごに

先週の金曜に発表されてすぐさま触ってみたいと思った Cloud Service Mesh ですが、公式ドキュメントを読んでいるうちにまずは上述した内容の整理がしたくなりました。

概要パートの最後にも書きましたが、Cloud Run への導入や Ambient Mode でのデプロイなど今後の機能追加に期待したいと思います!

https://twitter.com/pHaya72

Discussion