コンテンツに移動
Containers & Kubernetes

マルチクラスタ Kubernetes を使用して、コストや無駄を回避する方法

2022年1月19日
Google Cloud Japan Team

※この投稿は米国時間 2022 年 1 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。

編集者注: 今回は、フリート管理用ハードウェアおよびソフトウェア ソリューションの大手プロバイダである Geotab 社のシニア ソフトウェア開発者で、チームリーダーも務める Mengliao Wang 氏にお話を伺いました。同社では、Google Kubernetes Engine(GKE)のマルチクラスタ機能を活用するなど、Google Cloud の利用を拡大しながら、顧客へのサービス拡充に取り組んでいます。では、Wang 氏の説明をお楽しみください。

当社のプラットフォームに顧客が寄せる要望は少なくありません。顧客がプラットフォームを使用する主な目的は、車両から収集した膨大なテレメトリー データを分析することです。その際、プラットフォームには、厳しいデータ プライバシー要件を満たすことが求められます。また、当社は世界各地に顧客を抱えていますが、それぞれデータ所在地やその他の法的要件(コンピューティングおよびストレージを特定のリージョンに限定するなど)が異なり、これらの要件も満たす必要があります。

当社はマネージド サービス プロバイダとして、コスト効率の良いビジネスモデルを必要としています。コンテナや GKE の導入を決めたのは、そういう方針が背景にあったからにほかなりません。GKE を導入するにあたり、データ所在地に関する要件を満たすため、マルチクラスタを設計、導入する必要がありました。それと同時に、マルチクラスタ環境の運用保守作業およびコストを全体的に削減することも考慮して、さまざまな方法を検討しなければなりませんでした。

世界各地の顧客のニーズに応えるため、複数の Google Cloud Platform リージョンで GKE クラスタを実行することにしたのですが、最近、GKE マルチクラスタ サービスも使い始めました。このサービスは、顧客が求めるレベルのセキュリティと低レイテンシを実現してくれるだけでなく、当社にとってはコストの削減や、保守が簡単というメリットがあります。

では続けて、当社が Google Cloud および GKE を導入した経緯や、最近使い始めた GKE マルチクラスタ サービスでマルチクラスタ Kubernetes をデプロイした様子をご紹介しましょう。

コネクテッド トラックの台頭

「2024 年までに、新規生産車両の 82% にテレマティクスが導入されることになるだろう」Berg Insight

Geotab は、IoT およびコネクテッド トランスポーテーションのグローバル リーダーとして、セキュリティ強化や、商用自動車のインターネット接続、ウェブベース分析サービスの提供など、車両管理機能の拡充に努めています。当社は、250 万台以上のコネクテッド トラックから取得した 1 日あたり数十億件にのぼるデータポイントを処理し、データ解析や機械学習を駆使しながら、顧客をさまざまな側面から支援しています。たとえば、生産性の向上をはじめ、車両の最適化(燃料消費量の削減)、ドライバーの安全性向上、最新の規制の遵守、サステナビリティの目標達成などに貢献しています。また、OEM(相手先ブランド製品製造企業)と提携することによって、Geotab プラットフォームから幅広い車両管理機能を使用できるようにしています。

Google Cloud と GKE の導入とその後

最初に Google Cloud をプライマリ クラウド プロバイダとして選択したのは、試用したクラウド プロバイダの中で Google Cloud は最も安定性が高く、予定外のダウンタイムも最小限に抑えられるとわかったからです。ドライバーの安全性はもちろん、ドライバー サポート機能を安心して利用してもらえるようにするために、エンドツーエンドの信頼性を特に重視していたのです。パブリック クラウドの導入に着手して以来、当社は Google Cloud を活用しながらプラットフォームをさまざまな方法でモダナイズし続けてきました。

まず、いくつかのマイルストーンに分けた複数年にわたる取り組みとして、Geotab Data Platform のモダナイゼーションがあります。具体的には、オープンソースの技術を用いて、コンテナベースのアーキテクチャに変えるというものです。続けて、Google Cloud サービスを利用し、分析機能と膨大なデータを組み合わせてトランスポーテーション計画に活用するという、革新的ソリューションを始動しました。現在では、Geotab Data Platform は完全に GKE 上に構築され、データの取り込み、加工、処理をはじめ、モニタリングおよびアラート、管理コンソール、その他のアプリケーションなど、さまざまなサービスを提供しています。この生まれ変わったプラットフォームのもと、新たな Geotab サービスの提供も開始しました。

マルチクラスタ Kubernetes の検討

先ほど申し上げたとおり、顧客ごとのパフォーマンスやデータ所在地に関する要件に応えるために、最近、複数のリージョンで GKE クラスタのデプロイを開始しました。それに伴って明らかになったのが、Geotab プラットフォームのすべてのサービスが同じ条件ではないということです。

たとえば、データ プラットフォームの基本的なサービスとして、データの加工や取り込みがあります。データの加工サービスとは、API(アプリケーション プログラミング インターフェース)や、機械学習モデル、BI(ビジネス インテリジェンス)ツールなど、データ環境にあるデータを各種分析目的のために加工するもので、顧客が直接利用します。一方、データの取り込みサービスは、1 日あたり数十億件におよぶテレマティクス データ レコードを Geotab GO デバイスから取り込んで、当社のデータ環境に長期的に保存する部分を担います。

運用コストの最適化を検討する過程で、データ プラットフォームの外部サービスのいくつかは、顧客の機密情報を扱っていないことがわかりました。たとえば、モニタリングやアラート サービスがその一例です。このようなサービスをそれぞれのリージョンで別個に実行すると、インフラストラクチャのコストが高くつくほか、保守も複雑化するなど、さまざまな無駄が生じます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Charts-for-Geotab-Multi-cluster-Blog_1.max-2000x2000.jpg

そこで当社は、各種サービスのうち顧客データを特に扱わないものは、専用クラスタ内で共有サービスとして導入することにしました。これにより、リソース費用を抑えられるだけでなく、運用管理がしやすくなるというメリットも得られます。しかし、この方法をとるにあたって、2 つの新たな課題が生じました。

  1. 各法域のクラスタ内で実行されているデータの取り込みおよび加工サービスから統計データを取り出し、共有クラスタ内で実行されている共有サービス(モニタリングおよびアラート / 管理コンソール)にわたす形になるので、セキュリティ上の懸念がある。

  2. こうした統計データは、クラスタのサブネットワークではなく、パブリック ネットワーク経由で送信されるため、セキュリティ上の懸念がさらに増すだけでなく、レイテンシが高くなる。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Charts_for_Geotab_Multi-cluster_Blog_4.max-2000x2000.jpg

ここでうってつけのソリューションとして登場するのが GKE マルチクラスタ サービス(MCS)で、アーキテクチャとして新しいコンポーネントを設定、維持しなくて済むのが特徴です。MCS は、クラスタ間サービス ディスカバリおよび呼び出しのための GKE 内蔵のメカニズムで、標準の Kubernetes Service オブジェクトの機能を拡張するものです。MCS で設定、エクスポートされたサービスは、仮想 IP アドレスを使用して個々のクラスタ内でアクセス可能な ClusterIP Service の動作と一致させることで、複数のクラスタすべてから参照、アクセスできるようになります。MCS を使用すると、パブリック エンドポイントを公開せずに済み、トラフィックはすべて Google ネットワーク内でルーティングされます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Charts_for_Geotab_Multi-cluster_Blog_5.max-2000x2000.jpg

MCS は、これを設定することで、各リージョンでホストされているクラスタと共有クラスタがまるで 1 つのクラスタであるかのごとく両者間でサービス通信を行えるという、いいとこどりのソリューションであるといえます。これで問題解決です!

これまでの経緯を振り返って

Google Cloud を用いたモダナイゼーションは、引き続き効果をもたらしています。モダナイゼーションの第一段階では、ダウンタイムを抑えながら、システムをスケールアップさせることに成功しました。さらに、GKE の MCS などの機能のおかげで、世界規模で新機能をリリースする時間を短縮できたほか、運用コストを抑えるというビジネス目標も達成しています。今後も、Google Cloud と GKE を用いたマルチクラスタ化を進めていきたいと考えています。

GKE のマルチクラスタ サービスについて詳しく学び、Kubernetes のマルチクラスタに関する悩みを解決したいとお考えの方は、こちらのマルチクラスタ サービスの設定ガイドをご覧ください。Google Cloud エキスパートへのお問い合わせもお待ちしております。


- Geotab シニア ソフトウェア開発者、チームリーダー Mengliao Wang 氏
投稿先