ベアメタル向け Google Distributed Cloud(ソフトウェアのみ)の概要

Google Distributed Cloud は、Google Cloud のインフラストラクチャとサービスをお客様のデータセンターに拡張する Google のソリューションです。Google Distributed Cloud は、Google 提供のハードウェア上で動作する接続された構成とエアギャップのある構成の両方で使用できます。また、独自のハードウェアで動作するソフトウェア専用プロダクト(旧称 Google Distributed Cloud)として使用することもできます。Google Distributed Cloud ソフトウェアは、VMware またはベアメタルのいずれかにインストールできます。このガイドは、ベアメタル マシンで直接実行される Google Distributed Cloud ソフトウェアを対象としています。

Google Distributed Cloud ソフトウェアは Google Kubernetes Engine(GKE)を基盤としており、オンプレミス環境で使用するために GKE を拡張する独自の Kubernetes パッケージを備えています。Google Distributed Cloud では、Google Cloud の機能を使用しながら、自社のオンプレミスで GKE クラスタを作成、管理、アップグレードして、Google のインフラストラクチャを使用して、コンテナ化されたアプリケーションをクラスタ上で大規模にデプロイして運用できます。

Google Distributed Cloud ソフトウェアをインストールすると、GKE Enterprise を使用できるようになります。GKE Enterprise は、コンテナ化されたワークロードを大規模に統制、管理、運用するための優れた機能を備えた GKE Enterprise ティアです。GKE Enterprise とベアメタルで利用可能な機能の詳細については、GKE Enterprise の技術概要をご覧ください。

Google Distributed Cloud をベアメタルで使用する理由

Google Distributed Cloud ソフトウェアをベアメタルで実行すると、既存のエンタープライズ インフラストラクチャを活用し、ライフサイクル全体を通じてアプリケーションをモダナイズできます。

お客様所有のノードを使用する

Google Distributed Cloud のベアメタルにソフトウェアのみをインストールすると、独自のハードウェア インフラストラクチャにアプリケーションを直接デプロイできるため、優れたパフォーマンスと柔軟性を確保できます。アプリケーションのスケーリング、セキュリティ、ネットワーク レイテンシを直接制御できます。また、GKE コンポーネントを介して、エンタープライズ ティアの高度な機能など、コンテナ化アプリケーションのメリットも享受できます。

パフォーマンスの向上とコストの削減

Google Distributed Cloud は既存の企業データセンター全体でアプリケーションのデプロイと健全性を管理し、運用効率を高めます。また、ネットワークのエッジでコンテナを実行することで、分析アプリを最大限のパフォーマンスで実行できます。

仮想マシンではなくベアメタルで Google Distributed Cloud を使用すると、GPU や SSD などのさまざまなパフォーマンスが最適化されたハードウェア タイプでアプリケーション コンテナを管理できます。Google Distributed Cloud をベアメタルで実行すると、ハードウェアへの直接のアプリケーション アクセスも可能です。

互換性のあるセキュリティ

ノード環境を制御するため、特定の要件に合わせてネットワーク、ハードウェア、アプリケーションを最適化できます。結果として、仮想マシンやオペレーティング システムとの互換性を気にすることなく、システム セキュリティを直接管理できます。

モニタリング対象のアプリケーションのデプロイ

Google Distributed Cloud では、環境の健全性とパフォーマンスの高度なモニタリングが可能です。ワークロードとネットワーク トラフィックが変動した場合も、信頼性を維持しながら、アプリケーションのスケールを簡単に調整できます。

クラスタとワークロードのモニタリング、ロギング、分析は、Connect を介して管理します。

ネットワークのレイテンシと柔軟性

ネットワーク要件はユーザーが管理するため、ネットワークを最適化して低レイテンシを実現できます。このネットワークの最適化は、商用分析や金融分析、他のエンタープライズ アプリケーションやネットワーク エッジ アプリケーションのパフォーマンスにとって非常に重要なものとなり得ます。

高可用性

Google Distributed Cloud は、クラスタ内の複数のコントロール ノードをサポートしています。コントロール プレーン ノードが停止しても、引き続き環境を管理できます。

安全な設計と制御

インフラストラクチャ セキュリティは、外部リソースへの最小限の接続により、必要に応じてカスタマイズできます。最も重要な点は、セキュリティ システムをデプロイする際、VM の他の複雑性は発生せず、既存のセキュリティ システムを操作するときに OS の完全な制御を維持できることです。

Google Distributed Cloud は、Google API への軽量で安全な接続により機能します。Connect と Cloud Monitoring を使用して、クラスタやアプリケーションを一元的に管理できます。また、この一元化によってデプロイを円滑に進めることができ、Google Cloud のサポート部門が問題をより効果的にトラブルシューティングできるようにします。

インストールのプリフライト チェック

Google Distributed Cloud を使用すると、GKE クラスタがオープンソースのエンタープライズ Linux システムで動作し、ハードウェア インフラストラクチャが最小限に抑えられるため、環境の柔軟性が高まります。また、Google Distributed Cloud にはさまざまなプリフライト チェックも用意されており、構成やインストールを適切に実施しやすくなっています。

アプリケーションのデプロイとロード バランシング

Google Distributed Cloud では、クラスタ作成時のレイヤ 4 およびレイヤ 7 のロード バランシング メカニズムも備えています。

etcd の信頼性の向上

サイズとデフラグの etcd データベースをモニタリングするため、Google Distributed Cloud のコントロール プレーンには etcddefrag Pod が含まれています。ディスク容量が超過すると、etcddefrag Pod は、大きい etcd データベースのストレージを再要求して、etcd を復元します。

仕組み

Google Distributed Cloud は Google Kubernetes Engine(GKE)を拡張し、オンプレミスで独自の Linux サーバーに GKE クラスタを作成できるようにします。Google Cloud では、通常の GKE クラスタとともにこれらのオンプレミス クラスタと、フリートの一部として他の環境のクラスタを管理します。

従来の GKE クラスタは Google Cloud で動作し、Kubernetes コントロール プレーンとネットワーク インフラストラクチャは Google Cloud によって管理されます。Google Distributed Cloud クラスタはお客様のデータセンターで動作するため、Google は、GKE ソフトウェアに加えて管理とコントロール プレーンのソフトウェアを提供しています。お客様のデータセンターで実行されるソフトウェアは、インストールとアップグレードのプロセスの一環としてダウンロードされます。

次の図は、完了したインストールの結果を簡略化して示しています。

管理クラスタとユーザー クラスタを示す図
管理クラスタとユーザー クラスタがあるベアメタル上の Google Distributed Cloud アーキテクチャ(クリックして拡大)

主要コンポーネント

Google Distributed Cloud のベアメタル上のソフトウェア専用インストールは、次のコンポーネントで構成されます。

  • 管理クラスタは、1 つ以上のコントロール プレーン ノードで構成されます。各ノードは、サポート対象の Linux オペレーティング システムを動作させている物理マシンです。標準デプロイは、Kubernetes Resource Management(KRM)を介して 1 つ以上のユーザー クラスタのライフサイクルを管理する管理クラスタで構成されています。インストールの各ノードのマシンには、独自の IP アドレスが設定されています。

  • ユーザー クラスタは、Google Cloud の GKE と同様に、アプリケーションを実装するワークロードを実行する場所です。各ユーザー クラスタは、1 つ以上のコントロール プレーン ノードと 1 つのワーカーノードで構成されます。

  • 管理ワークステーションは、ツールやクラスタ アーティファクト(構成ファイルなど)を含む(通常は)独立したマシンです。クラスタの作成者とデベロッパーは、これらのツールとアーティファクトを使用して、適切な権限でオンプレミス GKE クラスタを管理します。

    • 管理ワークステーションから bmctl を実行すると、クラスタの作成と更新、その他の管理タスクの実行ができます。

    • 管理ワークステーションから kubectl を実行すると、ワークロードのデプロイや管理といった管理クラスタとユーザー クラスタの操作が可能になります。

  • GKE On-Prem API は、Google Cloud がホストするクラスタ ライフサイクル管理用の API です。管理ワークステーションにログインして bmctl CLI でクラスタを管理する代わりに、API のクライアント(Google Cloud コンソール、Google Cloud CLI、Terraform)を使用して、オンプレミス クラスタのライフサイクルを作成および管理します。

  • このコンソールには、オンプレミス クラスタなどの Google Cloud プロジェクトのウェブ インターフェースも用意されています。コンソールには、クラスタに関する主要な指標が表示されます。これにより、クラスタの正常性をモニタリングできます。

  • クラスタ管理者とデベロッパーは kubectl を使用し、クラスタ構成の一部として指定された仮想 IP アドレス(VIP)を介してクラスタ コントロール プレーンにアクセスします。アプリケーション ユーザーとデベロッパーは、Service VIP と Ingress VIP を使用し、それぞれワークロードにアクセスして公開します。

フリートへの接続

すべてのユーザー クラスタ(および必要に応じて管理クラスタ)は、Kubernetes クラスタの論理グループであるフリートのメンバーです。フリートを使用することで、組織は個々のクラスタを管理する体制から、クラスタ グループ全体を管理する体制に移行でき、Google 社内で使用されるものと同様のベスト プラクティスをチームが導入しやすくなります。Google Cloud コンソールでフリート クラスタを表示して管理できます。また、フリート対応の GKE Enterprise 機能を使用してワークロードを大規模に管理、統制、運用できます。オンプレミス環境の利用可能なフリート機能の完全なリストについては、GKE Enterprise デプロイ オプションをご覧ください。

各フリート クラスタと Google Cloud の接続は、Google Distributed Cloud のインストール プロセスの一部としてデプロイされる Connect Agent によって管理されます。このエージェントの動作の詳細については、Connect Agent の概要をご覧ください。

次のセクションで説明するように、フリート メンバーシップは、ベアメタル上の Google Distributed Cloud の料金管理にも使用されます。

GKE Enterprise の機能とそれらの連携の仕組みについて詳しくは、GKE Enterprise の技術概要をご覧ください。

料金

Google Distributed Cloud を使用して作成されたオンプレミスの GKE クラスタは、GKE Enterprise の一部として vCPU ごとに課金されます。Enterprise ティアを有効にするには、Google Cloud プロジェクトで Anthos API を有効にします。

営業担当者へのお問い合わせ方法を含め、料金の詳細については、Google Kubernetes Engine の料金をご覧ください。

バージョン

Google Distributed Cloud のバージョンについては、バージョンのサポート ポリシーをご覧ください。

ベアメタル上の Google Distributed Cloud のインストール

Google Distributed Cloud を使用して作成された GKE クラスタは独自のインフラストラクチャで実行されるため、柔軟な構成が可能です。特定の組織やユースケースのニーズを満たすデプロイモデルを選択すると、サポートされているさまざまなロード バランシング モード、IP アドレス指定オプション、セキュリティ機能、接続オプションなどから選択できます。ベアメタルに GKE クラスタを設定する場合は、インストール前とインストール中に決定を行う必要があります。このドキュメント セットには、チームによる適切な機能とオプションの決定に役立つガイドが含まれています。インストールが組織のニーズを満たすようにするには、ネットワーキング チームとアプリケーション チームにご相談ください。