このページでは、Google Distributed Cloud 接続ハードウェアを注文する方法について説明します。Distributed Cloud Connected は、次の国でご利用いただけます。
- オーストラリア
- オーストリア
- ベルギー
- ブラジル
- カナダ
- デンマーク
- フィンランド
- フランス
- ドイツ
- 香港
- 日本
- インド
- インドネシア
- イタリア
- オランダ
- ノルウェー
- ポーランド
- サウジアラビア
- シンガポール
- 韓国
- スペイン
- スウェーデン
- スイス
- 英国
- 米国
ハードウェアを注文する前に、Distributed Cloud 接続のインストール要件を満たす必要があります。
Google Cloud コンソールを使用して Distributed Cloud 接続ハードウェアを注文する
Google Cloud コンソールで、[注文] ページに移動します。
ターゲットの Google Cloud プロジェクトを選択します。
[注文する] をクリックします。
リクエスト フォームに入力して送信します。
Google Cloud 販売担当者が送信内容を確認し、注文を完了するために連絡します。担当者は次の操作を行います。
- ビジネス要件を確認して、最適なハードウェア構成を選択できるようにします。
- ローカル ネットワーク、 Google Cloud プロジェクト、設置場所、設置要件に記載されているその他の要件に関する情報を収集します。
- この情報を使用して、配送前に Distributed Cloud ハードウェアを構成します。
GDC Hardware Management API を使用して Distributed Cloud コネクテッド ハードウェアを注文する
GDC Hardware Management API を使用すると、Distributed Cloud ハードウェアの注文をプログラムで実行できます。注文は、Distributed Cloud コネクテッドをデプロイする意思を示すものです。注文には、Distributed Cloud 接続デプロイのライフサイクル全体で使用される次の情報を含める必要があります。
- 注文管理と配送に関する連絡先
- 配送先の住所と配送に関連する情報
- ハードウェア構成
- ネットワークの構成
Google の営業担当者と協力して、顧客情報アンケート(CIQ)に回答し、Distributed Cloud 接続デプロイのスコープと構成を確定する必要があります。
注文の構造
GDC Hardware Management API を使用して注文するには、Order リソースと、Order リソースが参照する Site、Zone、Hardware リソースを作成する必要があります。次に、Order リソースを Google に送信します。これらのリソースは標準の CRUD オペレーションをサポートしています。各リソースの名前は、ターゲットの Google Cloud プロジェクト ID と Google Cloud リージョンを含むパスです。
これらのリソースには次の機能があります。GDC Hardware Management API の使用方法については、Google Distributed Cloud CLI と API のリファレンスをご覧ください。
Order。このリソースは、1 つ以上の Distributed Cloud ゾーンの作成をリクエストします。このリソースを作成すると、create_order_response.nameフィールドでアクセス可能な名前が付けられます。Orderリソース名の形式は次のとおりです。`projects/`PROJECT_ID`/locations/`REGION`/orders/`ORDER_ID
ここで
PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。REGION: Distributed Cloud ゾーンをデプロイする Google Cloud リージョン。ORDER_ID: この注文を識別する一意の ID。省略すると、値が自動的に生成されます。小文字、数字、ダッシュで構成される一意の注文 ID 値を指定することをおすすめします。そうしないと、注文作成の呼び出しが失敗した場合に、重複する注文が生成される可能性があります。
Site。このリソースは、Distributed Cloud ハードウェアをデプロイする物理的な場所を表します。このリソースには、初回納品と今後のメンテナンスのアクセスを調整する担当者の連絡先情報が含まれています。この連絡先は、注文時に指定した連絡先とは異なる場合があります。Hardware。このリソースは、Distributed Cloud 接続 SKU をインスタンス化し、Distributed Cloud サーバーまたはラックを表します。各Hardwareリソースは、関連付けられたOrder、Site、Zoneリソースを参照します。使用可能な SKU を確認するには、ListSkus API 呼び出しを使用します。Zone。このリソースは、Distributed Cloud 接続マシンと関連付けられたクラスタのネットワーク構成を指定します。Distributed Cloud ゾーンは、1 つ以上の Distributed Cloud 接続ラック、またはお客様のロケーションにデプロイされたすべての Distributed Cloud 接続サーバー マシンをカバーします。
Order リソースを Google に送信し、ステータスが DRAFT から SUBMITTED に変わると、ほとんどのフィールド値が読み取り専用になります。
注文のライフサイクル
Order リソースは、State に記載されている状態のいずれかになります。関係者は注文にコメントを残すことができます。コメントは、対応する Order リソースの下にネストされた Comment リソースとして保存されます。GDC ハードウェア管理 API と Google Cloud コンソールの両方で、コメントの読み取りと送信が可能です。
注文に必要な情報がすべて含まれており、Google と契約を締結している場合、注文は次の状態遷移をたどります。ACCEPTED, BUILDING, SHIPPING、INSTALLING、COMPLETED.。関連付けられた Zone リソースと Hardware リソースの状態は、Order リソースと同時に更新されます。お客様からさらに情報が必要な場合や、お客様が Google と契約を締結していない場合、注文は ADDITIONAL_INFO_NEEDED 状態になり、コメントによる解決を待ちます。注文の変更またはキャンセルは、コメントでリクエストする必要があります。
ターゲット Google Cloud プロジェクトを選択する
Google Cloud プロジェクトは、一連の Google Cloud リソースをカプセル化し、それらを使用できるようにし、それらのリソースのアクセス制御と課金のルールを確立する構成要素です。
国や企業部門などの管理ドメインごと、またエッジとコアなどのハイレベルのユースケースごとに個別の Google Cloud プロジェクトを作成し、その Google Cloud プロジェクトを通じてドメインの Distributed Cloud 接続デプロイを管理することをおすすめします。
Google Cloud プロジェクトでは、次の管理タスクを実行できます。
- Distributed Cloud コネクテッド ハードウェアを注文します。
- Distributed Cloud 接続クラスタを構成し、フリートに登録します。
- ソフトウェアのロールアウトを管理する。
- Cloud Storage で Distributed Cloud 接続データを管理する。
- Secret Manager で Distributed Cloud コネクテッドの認証情報を管理します。
- Cloud Monitoring で Distributed Cloud 接続ログと指標を管理します。
実際の Google Cloud プロジェクト トポロジは、ビジネス要件によって異なります。プロジェクト間の依存関係を回避し、常に各 Google Cloud プロジェクト内でリソースを作成して使用することをおすすめします。
特定の Google Cloud プロジェクト内で注文されたハードウェアは、常にその Google Cloud プロジェクトで管理されます。
ターゲットの Google Cloud リージョンを選択する
Distributed Cloud 接続デプロイの Google Cloud リージョンの具体的な選択は、ビジネス要件と、対象の地理的位置の法的影響によって異なります。
Distributed Cloud 接続デプロイを既存のマルチリージョンGoogle Cloud フットプリントに統合する場合は、各 Distributed Cloud 接続ゾーンを、そのゾーンの依存関係をホストする Google Cloud リージョンにマッピングすることをおすすめします。
Distributed Cloud 接続デプロイを既存の Google Cloudフットプリントと統合しない場合は、信頼性を高めるために Google Cloud リージョン選択を多様化することをおすすめします。次に例を示します。
- 各 Distributed Cloud コネクテッド ゾーンを、最も近いサポートされている Google Cloud リージョンにマッピングします。これにより、管理プレーンの障害の影響を単一の地理的リージョンに限定できます。
複数のリージョンにまたがって Distributed Cloud コネクテッドをストライピングします。 Google Cloud これにより、管理プレーンの障害の影響を受ける Distributed Cloud 接続ゾーンの数が制限されますが、影響を受けるゾーンはより広い地理的リージョンに分散されます。
Distributed Cloud Connected は、次の Google Cloud リージョンをサポートしています。
アジア:
asia-east1、asia-east2、asia-northeast1、asia-northeast3、asia-south1、asia-south2、asia-southeast1、asia-southeast2ヨーロッパ:
europe-central2、europe-north1、europe-west1、europe-west2、europe-west3、europe-west4、europe-west6、europe-west8、europe-west9中東:
me-central1、me-west1オセアニア:
australia-southeast1北米:
northamerica-northeast1、northamerica-northeast2、us-central1、us-central2、us-east1、us-east4、us-east5、us-east7、us-south1、us-west1、us-west2、us-west3、us-west4、us-west8南米:
southamerica-east1、southamerica-west1
環境の設定
始める前に、次の前提条件を満たす必要があります。
次のコマンドを使用して、GDC Hardware Management API クライアント ライブラリをインストールします。
python3 -m pip install google-cloud-gdchardwaremanagement
ターゲットの Google Cloud プロジェクトで GDC Hardware Management API を有効にします。
GDC Hardware Management API を使用して Distributed Cloud コネクテッド ハードウェアの注文を作成して送信する
このセクションの手順は、GDC ハードウェア管理 API を使用して Order リソースを作成し、Google に送信する方法を示す例です。このセクションの手順を完了するには、 Google Cloud プロジェクトに GDC ハードウェア管理管理者(roles/gdchardwaremanagement.admin)ロールが必要です。
Orderリソースを作成します。次に例を示します。import datetime from google.cloud import gdchardwaremanagement_v1alpha from google.protobuf.timestamp_pb2 import Timestamp from google.type import postal_address_pb2 client = gdchardwaremanagement_v1alpha.GDCHardwareManagementClient() contact = gdchardwaremanagement_v1alpha.Contact( given_name="John", family_name="Customer", email="jcustomer@example.com", phone="+1 123 456 7890", ) organization_contact = gdchardwaremanagement_v1alpha.OrganizationContact( address=postal_address_pb2.PostalAddress( organization="Example Organization", address_lines=["1800 Amphibious Blvd."], locality="Mountain View", administrative_area="CA", postal_code="94045", region_code="US", ), contacts=[contact], ) order = gdchardwaremanagement_v1alpha.Order( organization_contact=organization_contact, customer_motivation="I like Google Distributed Cloud!", fulfillment_time=Timestamp( seconds=int(datetime.datetime(2024, 11, 22, 9, 0).timestamp()), ), region_code="US", ) create_order_response = client.create_order( request=gdchardwaremanagement_v1alpha.CreateOrderRequest( parent="projects/myProject/locations/us-east1", order_id="myOrderID", order=order, ), ).result()
注文は
DRAFT状態になり、create_order_response.nameフィールドに保存されているリソース名が割り当てられました。この注文のステータスを変更または追跡する場合は、このリソース名を使用します。Siteリソースを作成する次に例を示します。site = gdchardwaremanagement_v1alpha.Site( organization_contact=organization_contact, google_maps_pin_uri="https://maps.app.goo.gl/z7bE8z8fffg6Sri46", ) create_site_response = client.create_site( request=gdchardwaremanagement_v1alpha.CreateSiteRequest( parent="projects/myProject/locations/us-east1", site_id="mySite", site=site, ), ).result()
Zoneリソースを作成する次に例を示します。zone = gdchardwaremanagement_v1alpha.Zone( contacts=[contact], network_config=gdchardwaremanagement_v1alpha.ZoneNetworkConfig( management_ipv4_subnet=gdchardwaremanagement_v1alpha.Subnet( address_range="192.0.2.0/24", default_gateway_ip_address="192.0.2.1", ), machine_mgmt_ipv4_range="192.0.2.8/29", kubernetes_ipv4_subnet=gdchardwaremanagement_v1alpha.Subnet( address_range="203.0.113.0/24", default_gateway_ip_address="203.0.113.1", ), kubernetes_node_ipv4_range="203.0.113.8/29", kubernetes_control_plane_ipv4_range="203.0.113.16/29", ), ) create_zone_response = client.create_zone( request=gdchardwaremanagement_v1alpha.CreateZoneRequest( parent="projects/myProject/locations/us-east1", zone_id="myZone", zone=zone, ), ).result()
Hardwareリソースを作成します。Distributed Cloud コネクテッド デプロイの各マシンに一意のhardware_id値を指定する必要があります。次に例を示します。from google.type import date_pb2 hardware = gdchardwaremanagement_v1alpha.Hardware( order=create_order_response.name, site=create_site_response.name, zone=create_zone_response.name, config=gdchardwaremanagement_v1alpha.HardwareConfig( sku="projects/myProject/locations/us-east1/skus/gdce-server-l", power_supply=gdchardwaremanagement_v1alpha.types.PowerSupply.POWER_SUPPLY_AC, ), physical_info=gdchardwaremanagement_v1alpha.HardwarePhysicalInfo( power_receptacle=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.PowerReceptacleType.NEMA_5_15, network_uplink=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.NetworkUplinkType.RJ_45, voltage=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.Voltage.VOLTAGE_110, amperes=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.Amperes.AMPERES_15, ), installation_info=gdchardwaremanagement_v1alpha.HardwareInstallationInfo( rack_location="Floor 2, Room 201, Row 7, Rack 3", power_distance_meters=2, switch_distance_meters=2, rack_unit_dimensions=gdchardwaremanagement_v1alpha.Dimensions( width_inches=19, height_inches=1.75, depth_inches=30, ), rack_space=gdchardwaremanagement_v1alpha.RackSpace( start_rack_unit=12, end_rack_unit=12, ), rack_type=gdchardwaremanagement_v1alpha.types.HardwareInstallationInfo.RackType.FOUR_POST, ), requested_installation_date=date_pb2.Date(year=2024, month=11, day=22), ) create_hardware_response = client.create_hardware( request=gdchardwaremanagement_v1alpha.CreateHardwareRequest( parent="projects/myProject/locations/us-east1", hardware_id="machineHardwareID", hardware=hardware, ), ).result()
Orderリソースを Google に送信します。submit_order_response = client.submit_order( request=gdchardwaremanagement_v1alpha.SubmitOrderRequest( name=create_order_response.name, ), ).result()
トラブルシューティング
このセクションでは、よく発生するエラー、その原因、利用可能な解決策について説明します。
エラー: 400 FAILED_PRECONDITION
API 呼び出しに対するレスポンスで FAILED_PRECONDITION ステータスとともに 400 エラーコードを受け取った場合は、完了しようとしているオペレーションに対してリクエストが有効であることを確認してください。無効なリクエストの例としては、フィールドまたは値が欠落している Order リソースを送信する、以前に送信された Order リソースに関連付けられている Hardware リソースを削除しようとするなどがあります。
エラー: 400 INVALID_ARGUMENT
API 呼び出しに対するレスポンスで INVALID_ARGUMENT ステータスとともに 400 エラーコードが返された場合は、フィールド名が正しくない、値が想定される型と一致しない、値が欠落しているなどの問題がないか確認してください。PATCH リクエストで updateMask を使用し、updateMask で指定された 1 つ以上のフィールドが無効な場合にも、このエラーが発生することがあります。
この問題を解決するには、GDC ハードウェア管理 API を参照して、すべてのフィールド名と値(形式を含む)が正しいことを確認します。JSON ペイロードを使用している場合は、必要な情報がすべてペイロードに含まれていることを確認します。
エラー: 401 UNAUTHENTICATED
API 呼び出しに対するレスポンスで UNAUTHENTICATED ステータスとともに 401 エラーコードを受け取った場合は、認証構成を確認してください。詳細については、アプリケーションのデフォルト認証情報を設定するをご覧ください。
エラー: 403 PERMISSION_DENIED
API 呼び出しに対するレスポンスで PERMISSION_DENIED ステータスとともに 403 エラーコードが返された場合は、API 呼び出しに使用されたサービス アカウントに、ターゲット オブジェクトとリソースにアクセスするための十分な権限があるかどうかを確認します。また、認証情報が正しく、期限切れになっていないことを確認します。
エラー: 404 NOT_FOUND
API 呼び出しに対するレスポンスで NOT_FOUND ステータスとともに 404 エラーコードを受け取った場合は、API 呼び出しで指定されたリソース名とパスが有効であることを確認します。GDC ハードウェア管理 API を参照して、リクエスト URL が正しく構造化され、URL に含まれるすべてのフィールドが有効であることを確認します。