Distributed Cloud コネクテッドの仕組み

このページでは、Google Distributed Cloud Connected の仕組みについて説明します。インフラストラクチャ、ハードウェア、ストレージ、ネットワーキング機能に関する情報も含まれます。

Google Distributed Cloud connected は、次のコンポーネントで構成されています。

  • Distributed Cloud コネクテッド インフラストラクチャ。Google または Google 認定システム インテグレータ(SI)が、専用チームによるリモート管理を含む、Distributed Cloud コネクテッド ハードウェアの配送、デプロイ、メンテナンスを行います。

  • Distributed Cloud コネクテッド サービス。このサービスを使用すると、Google Cloud CLI と Distributed Cloud Edge Container API を使用して、Distributed Cloud 接続クラスタとノードプールを管理できます。Distributed Cloud 接続クラスタはフリートに登録され、Kubernetes kubectl CLI ツールを使用して操作できます。

Distributed Cloud コネクテッド インフラストラクチャ

Google または Google 認定 SI が、Distributed Cloud 接続ゾーンを実行する専用ハードウェアを提供、デプロイ、運用、保守します。ワークロードを実行する Distributed Cloud コネクテッド ノードは、このハードウェアでのみ実行されます。

ハードウェア マシンは Distributed Cloud コネクテッド ノードとしてインスタンス化され、ノードプールにグループ化されます。このノードプールは、Distributed Cloud コネクテッド ゾーン内のクラスタに割り当てることができます。ネットワークを構成して、Distributed Cloud 接続クラスタで実行されるワークロードをローカル ユーザーのみが利用できるようにしたり、インターネットからアクセスできるようにしたりできます。また、Distributed Cloud に接続されたノードのみがローカル リソースを使用したり、安全な Cloud VPN ネットワーク接続を介して Google Cloudの VPC ネットワークで実行されている Compute Engine 仮想マシン(VM)インスタンスや Kubernetes Pod などのワークロードと通信したりできるように、ネットワークを構成することもできます。

Distributed Cloud コネクテッドの管理

Distributed Cloud 接続ノードはスタンドアロン リソースではなく、コントロール プレーンの管理とモニタリングのために Google Cloud に接続されたままにする必要があります。コントロール プレーン ノードは Distributed Cloud 接続ハードウェアでローカルに実行され、Distributed Cloud 接続デプロイが Google Cloudから切断されてもワークロードは引き続き実行されます。ワークロードは、 Google Cloud から切断された状態でも最大 7 日間実行され続けます。

Google は、Distributed Cloud 接続デプロイを構成する物理マシンをリモートで管理します。これには、ソフトウェア アップデートとセキュリティ パッチのインストール、構成に関する問題の解決が含まれます。ネットワーク管理者は、Distributed Cloud 接続クラスタとノードの健全性とパフォーマンスをモニタリングし、Google と協力して問題を解決することもできます。

Google が指定された場所に Distributed Cloud 接続ハードウェアを正常にデプロイすると、クラスタ管理者は従来の Kubernetes クラスタと同様の方法で Distributed Cloud 接続クラスタの構成を開始できます。マシンをノードプールに、ノードプールをクラスタに割り当て、ロールに必要なアプリケーション オーナーにアクセス権を付与できます。ただし、クラスタ管理者は、Distributed Cloud 接続デプロイとプラン クラスタ内のマシンの処理とストレージの制限を考慮し、それに応じてクラスタとワークロードの構成を計画する必要があります。

Distributed Cloud Connected は、クラスタとノードプールを構成するための API を提供します。

Distributed Cloud コネクテッド ゾーンへのアクセス

ローカル ネットワークとインターネットの両方から、Distributed Cloud 接続ゾーンへの適切なレベルのアクセスを許可するようにネットワークを構成できます。

また、Distributed Cloud 接続ゾーンを VPC ネットワークに接続することで、Google Cloud サービスへのアクセス権を付与することもできます。Distributed Cloud Connected は、Cloud VPN を使用して Google サービス エンドポイントに接続します。ネットワーク管理者が、これを許可するようにネットワークを構成する必要があります。

Distributed Cloud コネクテッドのペルソナ

Distributed Cloud 接続ゾーンのデプロイと運用には、次のペルソナが関与します。

  • フィールド技術者。指定された場所に Distributed Cloud 接続ハードウェアを配送、設置、有効化します。ネットワーク管理者が現場の技術者と連携して、ハードウェアを電源に接続し、ネットワークに接続します。注文の種類に応じて、Google の技術者または Google 認定の SI 技術者が対応します。

  • Google サイト信頼性エンジニア(SRE)。Distributed Cloud に接続されたハードウェアをモニタリングして管理します。これには、構成の問題の解決、パッチとアップデートのインストール、セキュリティの維持が含まれます。

  • ネットワーク管理者。Distributed Cloud の接続されたハードウェアとローカル ネットワーク間のネットワーク接続とアクセス制御を構成して維持します。これには、必要なすべてのタイプのネットワーク トラフィックが、Distributed Cloud ハードウェア Google Cloud、Distributed Cloud 接続ワークロードを使用するクライアント、内部および外部のデータ リポジトリ、その他の要因の間で自由に流れるように、ルーティング ルールとファイアウォール ルールを構成することが含まれます。ネットワーク管理者は、Distributed Cloud 接続マシンのステータスをモニタリングするために、 Google Cloud コンソールにアクセスできる必要があります。ネットワーク管理者は、Distributed Cloud ネットワーキング機能も構成します。

  • クラスタ管理者。組織内の Distributed Cloud 接続クラスタをデプロイして維持します。これには、各クラスタの権限、ロギング、ワークロードのプロビジョニングの構成が含まれます。クラスタ管理者は、ノードをノードプールに割り当て、ノードプールを Distributed Cloud 接続クラスタに割り当てます。クラスタ管理者は、ワークロードを正しく構成してデプロイするために、Distributed Cloud 接続クラスタと標準の Kubernetes クラスタの運用上の違い(Distributed Cloud 接続ハードウェアの処理機能やストレージ機能など)を理解する必要があります。

  • アプリケーション オーナー。Distributed Cloud コネクテッド クラスタで実行されているアプリケーションの開発、デプロイ、モニタリングを担当するソフトウェア エンジニア。Distributed Cloud 接続クラスタでアプリケーションを所有するアプリケーション オーナーは、クラスタのサイズとロケーションの制限と、パフォーマンスやレイテンシなど、エッジにアプリケーションをデプロイすることによる影響を理解する必要があります。

Distributed Cloud コネクテッド ハードウェア

Distributed Cloud コネクテッド サーバーは、次のハードウェア プラットフォームで利用できます。

  • Distributed Cloud 接続サーバー G1。1 台または 3 台の Dell XR11 シリーズ 1U ラックマウント マシン。

  • Distributed Cloud 接続サーバー G2。1 つまたは 3 つの XR8610t マシン スレッドが搭載された Dell XR8000 シリーズ シャーシ。

Distributed Cloud 接続ハードウェアは通常、独自の ToR スイッチを介してローカル ネットワークに直接接続する 3 台の Distributed Cloud 接続サーバーマシンで構成されます。デフォルトでは、Distributed Cloud 接続サーバーは 3 台構成でのみ注文できます。ビジネス要件で Distributed Cloud 接続サーバーの単一マシンへのデプロイが必要な場合は、Google のフィールド セールス担当者にお問い合わせください。

図 1 は、一般的な Distributed Cloud 接続サーバーの構成を示しています。

図 1. Distributed Cloud Server コンポーネント。
図 1. Distributed Cloud コネクテッド コンポーネント。

Distributed Cloud 接続のインストールのコンポーネントは次のとおりです。

  • Google Cloud. Distributed Cloud 接続インストールと Google Cloud 間のトラフィックには、ハードウェア管理と監査ロギングのトラフィックが含まれます。

  • インターネット。Distributed Cloud 接続インストールと Google Cloud間の暗号化された管理トラフィックと監査ロギング トラフィックは、インターネット経由で転送されます。Distributed Cloud Connected は、プロキシ インターネット接続をサポートしていません。

  • ローカル ネットワーク。Distributed Cloud に接続されたサーバーがレイヤ 2 ToR スイッチを介して接続するローカル ネットワーク。

  • トップオブラック(ToR)スイッチ。サーバーマシンを接続し、ローカル ネットワークとインターフェースするレイヤ 2 スイッチ。Distributed Cloud に接続された各サーバー マシンには、少なくとも 1 つのインバンド接続と 1 つのアウトオブバンド接続が必要です。信頼性を高めるために、マシンごとに 2 つの ToR スイッチと 2 つのインバンド接続(スイッチごとに 1 つ)を使用することをおすすめします。Distributed Cloud に接続された各サーバーマシンは、次のように ToR スイッチに接続します。

    • ワークロードの接続。各 Distributed Cloud 接続サーバー マシンのプライマリ ネットワーク インターフェースとセカンダリ ネットワーク インターフェースは、ワークロード接続のために 1 つまたは両方の ToR スイッチに接続します。これらの接続は、個々の Distributed Cloud サーバー マシン間、およびローカル ネットワークとの間でワークロード トラフィックを伝送します。対応するスイッチポートを同じ VLAN 内に配置する必要があります。ワークロードの接続を追加する必要がある場合は、追加のタグ付き VLAN を Distributed Cloud 接続サーバーにトランクできます。
    • 管理接続。各 Distributed Cloud 接続サーバー マシンのベースボード管理コントローラ(BMC)ネットワーク インターフェースは、管理接続用に 1 つの ToR スイッチに接続されます。これにより、Distributed Cloud 接続サーバーが相互に通信できます。これらは 802.1q トランクとして構成し、対応するネイティブ VLAN を、Distributed Cloud 接続の管理ネットワーク インターフェースが属するネットワークとして構成する必要があります。
  • マシン。Distributed Cloud 接続ソフトウェアを実行し、ワークロードを実行する物理 Distributed Cloud 接続サーバー マシン。各物理マシンは、Distributed Cloud 接続クラスタ内のノードとしてインスタンス化されます。

分散型クラウド サービス

Distributed Cloud コネクテッド サービスは、Distributed Cloud ハードウェアで直接実行されます。これは、Distributed Cloud 接続ハードウェア上のノードとクラスタのコントロール プレーンとして機能します。このコントロール プレーンは、Distributed Cloud 接続ゾーンをインスタンス化して構成します。Distributed Cloud ハードウェアが管理のために接続する特定の Google Cloud データセンターは、Distributed Cloud コネクテッド インストールとの近接性に基づいて選択されます。

Distributed Cloud コネクテッド ゾーンは、オンプレミスにデプロイされたすべての Distributed Cloud コネクテッド サーバーマシンで構成されます。マシンを Distributed Cloud コネクテッド クラスタに割り当てることができます。

Distributed Cloud が Google Cloudに接続できなくても、ワークロードは最長 7 日間実行され続けます。この期間が過ぎると、Distributed Cloud は Google Cloudと通信して、認証トークンとストレージ暗号鍵を更新し、ハードウェア管理と監査ロギングのデータを同期する必要があります。

図 2 は、Distributed Cloud 接続エンティティの論理的な構成を示しています。

図 2. Distributed Cloud エンティティ。
図 2. Distributed Cloud コネクテッド エンティティ。

エンティティは次のとおりです。

  • Google Cloud region. Distributed Cloud コネクテッド ゾーンのGoogle Cloud リージョンは、Distributed Cloud インストールに最も近い Google Cloud データセンターのロケーションによって決まります。

  • Kubernetes ローカル コントロール プレーン。各 Distributed Cloud 接続クラスタの Kubernetes コントロール プレーンは、Distributed Cloud ハードウェアで直接実行されます。 Google Cloud への接続が一時的に失われると、クラスタは存続モードに入り、接続が復元されるまでワークロードの実行を継続できます。詳細については、生存モードをご覧ください。

  • Distributed Cloud ゾーン。オンプレミスにデプロイされた Distributed Cloud コネクテッド ハードウェアを表す論理的抽象化。Distributed Cloud ゾーンは、お客様のロケーションにデプロイされたすべての Distributed Cloud 接続サーバー マシンを対象とします。ゾーン内の物理マシンは、 Google Cloud コンソールで Distributed Cloud 接続マシンとしてインスタンス化されます。Distributed Cloud コネクテッド ゾーン内のマシンは、単一のネットワーク ファブリックまたは単一のフォールト ドメインを共有します。Google は、Distributed Cloud 接続ハードウェアを納品する前にマシンを作成します。Distributed Cloud 接続マシンを作成、削除、変更することはできません。

  • ノード。ノードは、ノードプールの作成時に Distributed Cloud コネクテッドの物理マシンを Kubernetes 領域にインスタンス化する Kubernetes リソースです。ノードプールを Distributed Cloud コネクテッド クラスタに割り当てることで、ワークロードを実行できるようになります。

  • ノードプール。単一の Distributed Cloud コネクテッド ゾーン内の Distributed Cloud コネクテッド ノードの論理グループ。Distributed Cloud ノードを Distributed Cloud クラスタに割り当てることができます。Distributed Cloud 接続サーバーの場合、ノードプールは自動的にインスタンス化され、入力されます。

  • Cluster. コントロール プレーンと 1 つ以上のノードプールで構成される Distributed Cloud 接続クラスタ。

Distributed Cloud コネクテッド Google Cloud プロジェクト

Distributed Cloud コネクテッドを使用すると、単一の Distributed Cloud コネクテッド ゾーン内に複数のクラスタを作成できます。ゾーン自体は特定の Google Cloud プロジェクトに関連付けられますが、そのゾーン内で動作する個々のクラスタは、ゾーンのプロジェクト所属とは独立した別のGoogle Cloud プロジェクトに接続できます。このアーキテクチャでは、課金や管理の目的で別々のプロジェクト構造で運用される可能性のあるさまざまなチームやアプリケーション間で、物理ゾーン インフラストラクチャを共有できます。

ストレージ

Distributed Cloud connected は、楽天 Symcloud Storage を介して公開される各物理マシンで使用可能なストレージを提供します。これは、各 Distributed Cloud connected ノードのローカル ストレージ抽象化レイヤとして機能し、他のノードで実行されているワークロードでローカル ストレージを使用できるようにします。詳細については、Symcloud Storage 用に Distributed Cloud Connected を構成するをご覧ください。

ストレージ セキュリティ

Distributed Cloud connected は、Linux Unified Key Setup(LUKS)を使用してローカルマシンのストレージを暗号化し、Cloud KMS で顧客管理の暗号鍵(CMEK)をサポートしています。詳細については、セキュリティのベスト プラクティスをご覧ください。

Symcloud Storage の統合

一部の Distributed Cloud 接続構成では、Distributed Cloud が Rakuten Symcloud Storage を使用するように構成できます。これは、各 Distributed Cloud 接続ノードのローカル ストレージ抽象化レイヤとして機能し、他のノードで実行されているワークロードでローカル ストレージを使用できるようにします。詳細については、Symcloud Storage 用に Distributed Cloud Connected を構成するをご覧ください。

ネットワーキング

このセクションでは、Distributed Cloud Connected のネットワーク接続の要件と機能について説明します。

Google は、Distributed Cloud コネクテッド ハードウェアをお客様に発送する前に、インストール用の仮想ネットワーキング コンポーネントの一部を事前構成します。ハードウェアの納品後に事前構成済みの設定を変更することはできません。

図 3 は、Distributed Cloud 接続デプロイの仮想ネットワークのトポロジを示しています。

図 3. Distributed Cloud ネットワーキング コンポーネント。
図 3. Distributed Cloud ネットワーキング コンポーネント。

Distributed Cloud 接続デプロイの仮想ネットワークのコンポーネントは次のとおりです。

  • ネットワーク。Distributed Cloud 接続ゾーンにプライベート アドレス空間を持つ仮想ネットワーク。ネットワークは、ゾーン内の他の仮想ネットワークからレイヤ 2 で分離され、1 つ以上のサブネットワークを含めることができます。仮想ネットワークは、Distributed Cloud Connected Servers デプロイのすべての物理マシンに及びます。このデフォルト ネットワークは、Distributed Cloud 接続サーバー クラスタがインスタンス化されるときに自動的に作成されます。

  • サブネットワーク。Distributed Cloud ネットワーク内のレイヤ 2 VLAN サブネットワーク。サブネットワークには、独自のブロードキャスト ドメインと、選択した 1 つ以上の IPv4 アドレス範囲があります。同じネットワーク内のサブネットワークはレイヤ 2 で分離されます。同じネットワーク内の異なるサブネットワークにあるノードは、IP アドレスを使用して互いに通信できます。Distributed Cloud 接続サーバーは、VLAN ID を使用したサブネットワーク管理のみをサポートします。

Distributed Cloud 接続ネットワーキング コンポーネントは、Google Cloud 同等品と類似していますが、次の点が異なります。

  • Distributed Cloud 接続ネットワーキング コンポーネントは、インスタンス化される Distributed Cloud 接続ゾーンに対してローカルです。

  • Distributed Cloud ネットワークは VPC ネットワークに直接接続されていません。

  • デフォルトでは、Distributed Cloud ネットワークは、異なる Distributed Cloud コネクテッド ゾーン間で相互に接続されていません。クロスゾーン ネットワーキングを明示的に構成することもできます。

ネットワーク管理者が Distributed Cloud 接続ネットワーキング コンポーネントを構成します。ネットワーク管理者は、ターゲット Google Cloud プロジェクトに対するエッジ ネットワーク管理者ロールroles/edgenetwork.admin)が必要です。一方、Distributed Cloud Connected にワークロードをデプロイするアプリケーション デベロッパーは、ターゲット Google Cloud プロジェクトに対するエッジ ネットワーク閲覧者ロールroles/edgenetwork.viewer)が必要です。

ローカル ネットワークへの接続

ローカル ネットワーク上のリソースへのアウトバウンド トラフィックの場合、Distributed Cloud 接続クラスタ内の Pod は、ピアリング エッジ ルーターによってアドバタイズされるデフォルト ルートを使用します。Distributed Cloud Connected は、組み込みの NAT を使用して Pod をこれらのリソースに接続します。

ローカル ネットワーク上のリソースからのインバウンド トラフィックの場合、ネットワーク管理者は、ビジネス要件に一致するルーティング ポリシーを構成して、Distributed Cloud 接続クラスタ内の Pod へのアクセスを制御する必要があります。つまり、少なくとも、ファイアウォール構成の手順を完了し、ワークロードで必要に応じて追加のポリシーを構成する必要があります。たとえば、Distributed Cloud Connected の組み込みロードバランサによって公開される個々のノード サブネットワークまたは仮想 IP アドレスに対して、許可ポリシーまたは拒否ポリシーを設定できます。Distributed Cloud 接続 Pod と Distributed Cloud 接続 Service の CIDR ブロックには直接アクセスできません。

インターネットへの接続

インターネット上のリソースへの下り(外向き)トラフィックの場合、Distributed Cloud 接続クラスタ内の Pod は、ルーターによって Distributed Cloud 接続 ToR スイッチにアドバタイズされるデフォルト ルートを使用します。つまり、少なくともファイアウォール構成の手順を完了し、ワークロードで必要に応じて追加のポリシーを構成する必要があります。Distributed Cloud Connected は、組み込みの NAT を使用して Pod をこれらのリソースに接続します。必要に応じて、Distributed Cloud Connected の組み込みレイヤの上に独自の NAT レイヤを構成できます。

インバウンド トラフィックの場合は、ビジネス要件に応じて WAN ルーターを構成する必要があります。これらの要件は、パブリック インターネットから Distributed Cloud 接続クラスタの Pod に提供する必要があるアクセスレベルを規定します。Distributed Cloud Connected は、Pod CIDR ブロックとサービス管理 CIDR ブロックに組み込みの NAT を使用するため、これらの CIDR ブロックはインターネットからアクセスできません。

ネットワーク セキュリティ

ビジネス要件と組織のネットワーク セキュリティ ポリシーによって、Distributed Cloud 接続インストールに出入りするネットワーク トラフィックを保護するために必要な手順が規定されます。詳細については、セキュリティのベスト プラクティスをご覧ください。

負荷分散

Distributed Cloud 接続は、MetalLB に基づくレイヤ 2 ロード バランシングをサポートしています。詳細については、ロード バランシングをご覧ください。

ハイ パフォーマンス ネットワーキングのサポート

Distributed Cloud Connected は、可能な限り最高のネットワーキング パフォーマンスを必要とするワークロードの実行をサポートします。このため、Distributed Cloud Connected には、専用のネットワーク機能オペレータと、高パフォーマンスのワークロード実行に必要な機能を実装する一連の Kubernetes カスタム リソース定義(CRD)が付属しています。

仮想マシンのワークロードのサポート

Distributed Cloud connected は、コンテナに加えて仮想マシンでワークロードを実行できます。詳細については、仮想マシンを管理するをご覧ください。

仮想マシンが Google Distributed Cloud 接続プラットフォームの重要なコンポーネントとして機能する方法については、GKE Enterprise を拡張してオンプレミス エッジ VM を管理するをご覧ください。

GPU ワークロードのサポート

一部のハードウェア構成では、Distributed Cloud Connected は NVIDIA L4 GPU で GPU ベースのワークロードを実行できます。この要件は、Distributed Cloud コネクテッド ハードウェアを注文する際に指定する必要があります。詳細については、GPU ワークロードを管理するをご覧ください。

次のステップ