訂購硬體

本頁面說明如何訂購 Google Distributed Cloud connected 硬體。Distributed Cloud connected 適用於下列國家/地區:

  • 澳洲
  • 奧地利
  • 比利時
  • 巴西
  • 加拿大
  • 智利
  • 丹麥
  • 芬蘭
  • 法國
  • 德國
  • 香港
  • 日本
  • 印度
  • 印尼
  • 義大利
  • 馬來西亞
  • 墨西哥
  • 荷蘭
  • 挪威
  • 波蘭
  • 沙烏地阿拉伯
  • 新加坡
  • 韓國
  • 西班牙
  • 瑞典
  • 瑞士
  • 英國
  • 美國
  • 烏拉圭

訂購硬體前,請務必符合 Distributed Cloud 連線安裝規定

Distributed Cloud connected 採購模型

您可以根據業務需求,透過下列任一方式訂購 Distributed Cloud connected 硬體:

  • Google 擁有的硬體。您可以直接向 Google 訂購 Distributed Cloud connected 硬體。在這種情況下,Google 會提供、維護、維修及停用 Distributed Cloud 連線硬體。合約結束後,Google 會收回 Distributed Cloud 硬體,並銷毀儲存在其中的所有資料。

  • 客戶自行提供的硬體。與 Google 討論符合業務需求的部署設定後,您可以向 Google 認證的系統整合商 (SI) 訂購 Distributed Cloud 連線。在這種情況下,您擁有 Distributed Cloud connected 硬體。系統整合商會與您和 Google 合作,部署、維修及停用硬體。合約結束時,系統整合商會清除 Distributed Cloud 連線硬體中的所有 Google 軟體和您的資料。然後就能重複使用或丟棄硬體。這類採購方式僅適用於 Distributed Cloud 連線伺服器。

Distributed Cloud connected 硬體變體

Distributed Cloud connected 伺服器硬體提供下列外型規格:

如需 Distributed Cloud connected 伺服器 SKU 清單,請參閱 Distributed Cloud connected 定價

必要條件

下單前,請先備妥下列資訊:

  • 訂單聯絡人:負責管理機構內 Distributed Cloud connected 硬體部署作業的人員。

  • 網站聯絡人。負責所選部署網站的人員。Google 會與這位聯絡人安排並完成 Distributed Cloud connected 硬體交付作業。這個人也會與 Google 或 Google 認證的系統整合商,協調硬體維修和停用事宜。

  • 區域聯絡人。負責將 Distributed Cloud connected 硬體整合至部署地點現有網路和電源基礎架構的人員。

  • 訂單 ID。這個 Distributed Cloud connected 硬體訂單的識別名稱。

  • 網站 ID。這個 Distributed Cloud connected 硬體訂單的部署地點有意義的 ID。

  • 區域 ID。目標 Distributed Cloud connected 可用區的識別名稱。如果每個網站只部署一個區域,請使用網站 ID 做為區域 ID。

使用 Google Cloud 控制台訂購 Distributed Cloud connected 硬體

  1. 前往 Google Cloud 控制台的「Orders」(訂單) 頁面。

    前往「訂單」頁面

  2. 選取目標 Google Cloud 專案。

  3. 按一下「建立訂單」

  4. 填寫並提交申請表單。

Google Cloud 業務代表會審查您的申請,並與您聯絡以完成訂單。代表會執行下列作業:

  • 請根據業務需求,完成硬體設定。
  • 收集有關當地網路、 Google Cloud 專案、安裝地點,以及安裝需求中列出的其他需求資訊。
  • 在交付 Distributed Cloud 硬體前,使用這項資訊進行設定。

使用 GDC Hardware Management API 訂購 Distributed Cloud connected 硬體

您可以使用 GDC Hardware Management API,以程式輔助方式訂購 Distributed Cloud 硬體。訂單代表您有意部署 Distributed Cloud connected。訂單必須包含下列資訊,這些資訊會在 Distributed Cloud 連線部署的整個生命週期中使用:

  • 訂單管理和運送聯絡窗口
  • 送貨地點地址和任何與送貨相關的資訊
  • 硬體設定
  • 網路設定

您必須與 Google 業務代表合作,填寫客戶資訊問卷 (CIQ),並完成 Distributed Cloud 連結部署的範圍和設定。

啟用 GDC Hardware Management API

如要使用 GDC Hardware Management API,必須先在目標專案中啟用這項 API。Google Cloud 如要這樣做,請完成本節中的步驟。

控制台

  1. 前往 Google Cloud 控制台的「GDC Hardware Management API」頁面。

    啟用 API

  2. 按一下「啟用」

gcloud

使用下列指令:

gcloud services enable gdchardwaremanagement.googleapis.com

訂單結構

如要使用 GDC Hardware Management API 下單,您必須建立 Order 資源,以及 Order 資源參照的隨附 SiteZoneHardware 資源。然後將 Order 資源提交給 Google。這些資源支援標準 CRUD 作業。每個資源的名稱都是路徑,包含目標 Google Cloud 專案 ID 和 Google Cloud 區域。

這些資源具有下列功能。如要進一步瞭解如何使用 GDC Hardware Management API,請參閱 Google Distributed Cloud CLI 和 API 參考資料

  • Order。這項資源會要求建立一或多個 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 connected SKU,並代表 Distributed Cloud 伺服器或機架。每個 Hardware 資源都會參照相關聯的 OrderSiteZone 資源。如要查看可用的 SKU,請使用 ListSkus API 呼叫。

  • Zone。這項資源會指定 Distributed Cloud 連線機器和相關聯叢集的網路設定。Distributed Cloud 可用區涵蓋一或多個 Distributed Cloud connected 機架,或部署在您所在位置的所有 Distributed Cloud connected 伺服器。

Order 資源提交給 Google 後,如果狀態DRAFT 變更為 SUBMITTEDINFO_COMPLETE,大部分的欄位值都會變成唯讀。

訂單生命週期

Order 資源可處於 State 中列出的其中一種狀態。相關人員可以在訂單中留下留言,這些留言會以 Comment 資源的形式,巢狀儲存在對應的 Order 資源下。您可以透過 GDC 硬體管理 API 和 Google Cloud 控制台讀取及提交註解。

GDC 硬體管理 API 支援下列訂單生命週期作業:

  • 建立並提交訂單。你可以立即建立並提交訂單,也可以逐步建立訂單,並將訂單儲存為 DRAFT 狀態,等到準備好再提交。本指南的其餘部分會說明這項程序。

  • 查看訂單狀態。如果訂單是透過 類型 INFO_COMPLETE提交,且您已與 Google 簽訂合約,訂單會依序進入下列狀態:ACCEPTED, BUILDING, SHIPPINGINSTALLINGCOMPLETED.。相關聯的 ZoneHardware 資源狀態會與 Order 資源同步更新。

  • 解決訂單問題。如果我們需要您提供更多資訊,或您尚未與 Google 簽訂合約,訂單會進入 ADDITIONAL_INFO_NEEDED 狀態,等待透過留言解決問題。 請查看留言中的進一步指示,如果對後續步驟有任何疑問,請與 Google 聯絡。

  • 刪除未提交的訂單。您可以透過 DELETE 呼叫刪除未提交的訂單。

  • 修改已提交的訂單。您可以使用各自的 PATCH 呼叫,修改已提交的訂單網站區域。提交後可編輯的欄位如下:

    • 所有資源:display_namelabels
    • 訂單:organization_contact
    • 網站:access_timesorganization_contact 的大部分欄位,但包括網站地址
    • 硬體:requested_installation_date 如果至少符合下列其中一項條件:
      • 新日期與目前日期相隔超過 45 天
      • requested_installation_date 晚於目前的 requested_installation_date and estimated_installation_date 為空
      • requested_installation_date晚於目前 requested_installation_date,且 estimated_installation_date 至少是 7 天後

    訂單提交後,其他資訊就無法修改,但你可以透過留言要求 Google 協助修改。

  • 取消已提交的訂單。如要取消已提交的訂單,請在訂單中新增留言,要求取消訂單。

選取目標 Google Cloud 專案

Google Cloud 專案是封裝一組 Google Cloud 資源的建構體,可供您使用這些資源,並為這些資源建立存取權控管和帳單規則。

建議您為每個管理網域 (例如國家/地區或公司部門) 和高階用途 (例如邊緣與核心) 建立個別專案,並透過該專案管理網域的 Distributed Cloud 連線部署作業。 Google Cloud Google Cloud

Google Cloud 專案可讓您執行下列管理工作:

  • 訂購 Distributed Cloud connected 硬體。
  • 設定 Distributed Cloud 連結叢集,並在機群中註冊。
  • 管理軟體推出作業。
  • 在 Cloud Storage 中管理 Distributed Cloud 連線資料。
  • 在 Secret Manager 中管理 Distributed Cloud 連線憑證。
  • 在 Cloud Monitoring 中管理 Distributed Cloud connected 記錄和指標。

確切的 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 connected 可用區對應至最接近的支援 Google Cloud 區域。這樣一來,管理層故障的影響範圍就會限制在單一地理區域。
  • 在多個 Google Cloud 區域中,將 Distributed Cloud 連結至 Stripe。這會限制受管理平面故障影響的 Distributed Cloud connected 區域數量,但受影響的區域會分布在較大的地理區域。

    Distributed Cloud connected 支援下列 Google Cloud 區域:

  • 亞洲asia-east1asia-east2asia-northeast1asia-northeast3asia-south1asia-south2asia-southeast1asia-southeast2

  • 歐洲europe-central2europe-north1europe-west1europe-west2europe-west3europe-west4europe-west6europe-west8europe-west9

  • 中東me-central1me-west1

  • 大洋洲australia-southeast1

  • 北美northamerica-northeast1northamerica-northeast2us-central1us-central2us-east1us-east4us-east5us-east7us-south1us-west1us-west2us-west3us-west4us-west8

  • 南美洲southamerica-east1southamerica-west1

設定環境

開始之前,請先完成下列必要條件:

  1. 設定 Python 開發環境

  2. 使用下列指令安裝 GDC Hardware Management API 用戶端程式庫:

    python3 -m pip install google-cloud-gdchardwaremanagement
    
  3. 在目標 Google Cloud 專案中啟用 GDC Hardware Management API

使用 GDC Hardware Management API 建立及提交 Distributed Cloud connected 硬體訂單

本節的步驟是範例,說明如何使用 GDC 硬體管理 API,向 Google 建立及提交 Order 資源。如要完成本節中的步驟,您必須在專案中具備「GDC 硬體管理管理員」(roles/gdchardwaremanagement.admin) 角色。 Google Cloud 如要瞭解可用型別和方法的詳細資料,請參閱 Python 用戶端程式庫參考資料

  1. 建立 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 欄位中的資源名稱。修改或追蹤這項訂單的狀態時,請使用這個資源名稱。

  2. 建立 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()
  3. 建立 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()
  4. 建立 Hardware 資源。您必須為 Distributed Cloud connected 部署中的每部機器指定不重複的 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()
  5. Order 資源提交給 Google:

    submit_order_response = client.submit_order(
        request=gdchardwaremanagement_v1alpha.SubmitOrderRequest(
            name=create_order_response.name,
            type_=gdchardwaremanagement_v1alpha.types.SubmitOrderRequest.Type.INFO_COMPLETE,
        ),
    ).result()

    INFO_COMPLETE提交類型表示您已在 ZoneHardware 資源中提供所有必要資訊。如有任何欄位值遺漏,提交作業就會失敗,並顯示描述問題的錯誤訊息。如要與 Google 展開對話,但不想完整填寫訂單,請提交狀態為 INFO_PENDING 的訂單,略過這些驗證。

測試

如要提交測試訂單,請與 Google 聯絡,取得沙箱環境的存取權。 專案或機構獲得存取權後,您可以使用以 fake- 前置字元識別的測試 SKU。測試訂單會經歷上述階段,但不會觸發貨幣費用或硬體出貨。

疑難排解

本節說明最常見的錯誤、原因和可用的解決方法。

發生錯誤:400 FAILED_PRECONDITION

如果 API 呼叫的回應包含 400 錯誤碼和 FAILED_PRECONDITION 狀態,請確認要求適用於您嘗試完成的操作。無效要求的例子包括:提交缺少欄位或值的 Order 資源,或是嘗試刪除與先前提交的 Order 資源相關聯的 Hardware 資源。

發生錯誤:400 INVALID_ARGUMENT

如果 API 呼叫的回應中包含 400 錯誤碼和 INVALID_ARGUMENT 狀態,請檢查欄位名稱和值是否不正確,或與預期類型不符,以及是否有遺漏值。如果您在 PATCH 要求中使用 updateMask,且 updateMask 中指定的一或多個欄位無效,也可能會收到這項錯誤。

如要解決這個問題,請參閱 GDC Hardware Management API,確認所有欄位名稱和值 (包括格式) 皆正確無誤。如果使用 JSON 酬載,請確認酬載中包含所有必要資訊。

發生錯誤:401 UNAUTHENTICATED

如果 API 呼叫的回應包含 UNAUTHENTICATED 狀態和 401 錯誤代碼,請檢查驗證設定。詳情請參閱「設定應用程式預設憑證」。

發生錯誤:403 PERMISSION_DENIED

如果 API 呼叫的回應中包含 403 錯誤代碼和 PERMISSION_DENIED 狀態,請檢查用於發出 API 呼叫的服務帳戶是否具備足夠的權限,可存取目標物件和資源。此外,也請確認憑證正確無誤且未過期。

發生錯誤:404 NOT_FOUND

如果 API 呼叫的回應包含 404 錯誤代碼和 NOT_FOUND 狀態,請檢查 API 呼叫中指定的資源名稱和路徑是否有效。請參閱「GDC Hardware Management API」,確認要求網址結構正確,且網址中包含的所有欄位都有效。

後續步驟