本頁面說明如何訂購 Google Distributed Cloud connected 硬體。Distributed Cloud connected 適用於下列國家/地區:
- 澳洲
- 奧地利
- 比利時
- 巴西
- 加拿大
- 丹麥
- 芬蘭
- 法國
- 德國
- 香港
- 日本
- 印度
- 印尼
- 義大利
- 荷蘭
- 挪威
- 波蘭
- 沙烏地阿拉伯
- 新加坡
- 韓國
- 西班牙
- 瑞典
- 瑞士
- 英國
- 美國
訂購硬體前,請務必符合 Distributed Cloud 連線安裝規定。
使用 Google Cloud 控制台訂購 Distributed Cloud connected 硬體
前往 Google Cloud 控制台的「Orders」(訂單) 頁面。
選取目標 Google Cloud 專案。
按一下「建立訂單」。
填寫並提交申請表單。
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 下單,您必須建立 Order 資源,以及 Order 資源參照的隨附 Site、Zone 和 Hardware 資源。然後將 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資源都會參照相關聯的Order、Site和Zone資源。如要查看可用的 SKU,請使用 ListSkus API 呼叫。Zone。這項資源會指定 Distributed Cloud 連線機器和相關聯叢集的網路設定。Distributed Cloud 可用區涵蓋一或多個 Distributed Cloud connected 機架,或部署在您所在位置的所有 Distributed Cloud connected 伺服器。
將 Order 資源提交給 Google 後,如果狀態從 DRAFT 變更為 SUBMITTED,大部分的欄位值都會變成唯讀。
訂單生命週期
Order 資源可處於 State 中列出的其中一種狀態。相關人員可以在訂單中留下留言,這些留言會以 Comment 資源的形式,巢狀儲存在對應的 Order 資源下。您可以透過 GDC 硬體管理 API 和 Google Cloud 控制台讀取及提交註解。
如果訂單包含所有必要資訊,且您已與 Google 簽訂合約,訂單會依序進入下列狀態:ACCEPTED, BUILDING, SHIPPING、INSTALLING 和 COMPLETED.
相關聯的 Zone 和 Hardware 資源狀態會與 Order 資源同步更新。
如果我們需要您提供更多資訊,或您尚未與 Google 簽訂合約,訂單會進入
ADDITIONAL_INFO_NEEDED 狀態,等待透過留言解決問題。如要修改或取消訂單,
請透過留言提出要求。
選取目標 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 connected 部署的 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-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 connected 硬體訂單
本節的步驟是範例,說明如何使用 GDC 硬體管理 API,向 Google 建立及提交 Order 資源。如要完成本節中的步驟,您必須在專案中具備「GDC 硬體管理管理員」(roles/gdchardwaremanagement.admin) 角色。 Google Cloud
建立
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 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()
將
Order資源提交給 Google:submit_order_response = client.submit_order( request=gdchardwaremanagement_v1alpha.SubmitOrderRequest( name=create_order_response.name, ), ).result()
疑難排解
本節說明最常見的錯誤、原因和可用的解決方法。
發生錯誤: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」,確認要求網址結構正確,且網址中包含的所有欄位都有效。