這份文件說明 Google Cloud 如何支援對 Compute Engine 有專屬硬體需求的自備授權 (BYOL)。嘗試將具有現有授權的映像檔帶到 Google Cloud之前,請先詳閱授權條款及細則。
如要自備具有專屬硬體需求的現有實體核心或實體處理器授權,您必須自備媒體,並在符合授權規定的硬體設定 (例如單一租戶節點) 上執行該媒體。您可以在任何支援單一租戶節點的區域,使用具備現有授權的映像檔。雖然使用具備現有授權的映像檔不需額外付費,但您仍須依據協議支付授權費用。
授權情境 (例如與 Linux BYOS 搭配 RHEL 或 SLES 相關的授權,以及 Microsoft 應用程式) 不需要單一租戶節點。如果您考慮從 Microsoft 應用程式 (例如 SharePoint Server 和 SQL Server) 攜帶授權,請使用 Microsoft 授權行動性。
單一租戶節點是實體伺服器,專門用來託管專案的虛擬機器 (VM) 執行個體。您可以設定單一租戶節點,以支援各種工作負載需求,例如盡可能減少實體伺服器和核心數量的需求。請參閱授權協議,判斷最適合工作負載的設定選項。
為支援自備授權,並協助您管理與授權相關的法規遵循需求, Google Cloud 提供多項工具,可用於匯入映像檔、使用單一租戶節點管理專用硬體上的 VM、盡量減少實體核心用量,以及追蹤實體核心用量以產生報表。
如要將具有現有授權的映像檔帶到 Google Cloud,您必須執行下列操作:
請根據授權協議準備圖片。
啟用授權。
匯入虛擬磁碟檔案,並根據這些檔案建立映像檔。
建立單一租戶節點範本。
建立單一租戶節點群組。
使用匯入的虛擬磁碟檔案,在節點群組上佈建 VM。
追蹤 VM 的授權使用情形。為協助您回報授權使用情形,Google 提供工具,協助您追蹤授權使用情形,以及實體核心和處理器使用情形。
向供應商回報授權使用情形。
如需支援或有授權相關問題,請與授權經銷商聯絡。如果您需要支援,或對將具有現有授權的映像檔帶到 Google Cloud有疑問,請聯絡 Google Cloud 支援團隊。
事前準備
-
查看節點群組主機維護政策:
針對 BYOL,有兩種主機維護政策選項,可盡量減少用於授權目的的實體伺服器數量。這些選項分別是
restart-in-place和migrate-within-node-group。 - 要求額外 CPU 配額:新專案的 CPU 配額為 72。請確認您有足夠的 CPU 配額,可支援節點群組。舉例來說,
n1-node-96-624節點類型包含 96 個 CPU,如果節點群組使用最少數量的節點 (2 個),則 CPU 配額必須至少為 192。視設定和工作負載需求而定,您可能也需要要求調整 VM 或 IP 位址的配額。 -
啟用 Cloud Build API:
您必須啟用 Cloud Build API,才能匯入 OS 映像檔。啟用這項 API 後,Compute Engine 會授予專案適當的 IAM 角色,以便您將映像檔匯入專案。如要列出授予專案的角色,請使用
gcloud projects get-iam-policy指令。如要瞭解如何將角色授予專案,請參閱「管理 Compute Engine 資源的存取權」。 - 啟用 Cloud Logging API:如果授權協議要求您追蹤實體伺服器用量,請啟用這個 API。啟用這個 API 後,您可以使用 Google 強烈建議的 BigQuery 匯入及查看伺服器使用資訊,例如實體核心數量。如要瞭解如何判斷實體核心數量,請參閱「分析單一租戶節點用量」。
-
如果尚未設定驗證,請先完成設定。驗證程序會確認您的身分,以便授予 Google Cloud 服務和 API 的存取權。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:
請根據您打算如何使用本頁範例,選取對應的分頁標籤:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證機制。
gcloud
-
安裝 Google Cloud CLI。 安裝完成後,請執行下列指令,初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
- 設定預設區域和可用區。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
若您採用的是外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」一節。
從離線虛擬磁碟匯入及建立映像檔
如要使用現有授權佈建 VM,您必須自備媒體。以付費映像檔為基礎的映像檔不符合 BYOL 資格,因為付費映像檔需要 Google 的即付即用授權。如要瞭解付費映像檔,請參閱「作業系統詳細資料」。
如果地端部署環境中的虛擬磁碟 (黃金磁碟或黃金映像檔) 具有您需要的軟體設定或授權,匯入虛擬磁碟工具可協助您執行下列操作:
匯入自訂虛擬磁碟和支援的作業系統,並根據這些磁碟建立映像檔。
設定適當的授權。
安裝與Google Cloud相容所需的套件和驅動程式。
匯入 VM 的虛擬磁碟檔案前,請先從 VM 下載並執行預先檢查工具,確認檔案中沒有不相容的情況。此外,第三方軟體可能會干擾 Compute Engine 驅動程式的安裝,因此 Google 建議您在匯入映像檔前先移除第三方軟體。
如要使用自己的授權啟動 VM,請匯入含有要使用 OS 的虛擬磁碟。您可以從 Cloud Storage bucket 和本機工作站匯入虛擬磁碟。從本機工作站匯入虛擬磁碟檔案時,映像檔匯入工具會將映像檔上傳至 Cloud Storage,並視需要建立新的 Cloud Storage bucket。接著,匯入工具會將檔案複製到 Compute Engine,並從虛擬磁碟檔案建立可啟動的映像檔。
儲存在 Cloud Storage 上的檔案與 Compute Engine 中的映像檔會產生費用。確認映像檔已匯入並正確啟動為 VM 後,即可從 Cloud Storage 刪除虛擬磁碟檔案。
控制台
前往「Images」(映像檔) 頁面。
點選「建立映像檔」。
為您的執行個體指定名稱。
在「來源」下方,選擇「虛擬磁碟 (VMDK、VHD)」。
在「Cloud Storage file」(Cloud Storage 檔案) 下方,選擇「Browse」(瀏覽),然後瀏覽至要匯入的映文件 Cloud Storage 位置。
在「Operating system on virtual disk」(虛擬磁碟中的作業系統) 下方,選擇要匯入的映像檔作業系統。
請務必選取「Install guest packages」(安裝訪客套件),確保匯入的映像檔可啟動。
展開「授權金鑰選項」。在「OS 授權」下方,選擇「使用您自己的授權金鑰」。
按一下 [Create] (建立) 即可匯入映像檔。
gcloud
執行 gcloud compute images import,匯入虛擬磁碟檔案,並從虛擬磁碟檔案建立磁碟映像檔:
gcloud compute images import IMAGE_NAME \
--source-file VMDK_NAME \
--byol
更改下列內容:
IMAGE_NAME:從虛擬磁碟檔案建立的映文件名稱。VMDK_NAME:要匯入並建立映像檔的虛擬磁碟名稱。您可以從下列位置匯入 VMDK 檔案:- 本機檔案:如果從本機檔案匯入,請使用檔案的絕對路徑或相對路徑。視虛擬磁碟的大小和網路連線速度而定,上傳作業可能需要數十分鐘。
- Cloud Storage:如果從 Cloud Storage 匯入,Cloud Storage bucket 必須位於您用來匯入虛擬磁碟的專案中,且您必須將檔案的完整路徑指定為
gs://BUCKET_NAME/OBJECT_NAME。將BUCKET_NAME替換為 Cloud Storage bucket 名稱,並將OBJECT_NAME替換為 Cloud Storage 物件名稱。
啟用授權
確認匯入的是相容的 OS 後,您必須確認授權協議允許您自備授權,且您有權使用 Google 提供的客體 OS 映像檔和授權匯入環境。您也必須根據授權協議,準備要匯入的客體 OS 映像檔。
如要啟用授權,請使用開機指令碼和多重啟用金鑰 (MAK),或設定貴組織 Microsoft 金鑰管理服務的存取權。您無法使用現有授權,向 Compute Engine 授權伺服器啟用映像檔。
匯入映像檔並啟用授權後,請根據匯入的映像檔,在單一租戶節點上佈建 VM。
建立單一租戶節點
如要在專用硬體上使用現有授權執行 VM,請務必完成下列步驟:
按照「建立單一租戶節點範本」中的操作說明,建立單一租戶節點範本。
按照「建立單一租戶節點群組」中的操作說明,建立單一租戶節點群組。建立節點群組時,請考量下列主機維護政策:
- 如果授權是按實體核心指派,請使用
restart-in-place或migrate-within-node-group主機維護政策,盡量減少使用的實體伺服器數量。 - 如果授權是按使用者或裝置指派 (例如虛擬桌面授權),請使用
default主機維護政策,因為這些模式不需要限制實體伺服器的使用。
詳情請參閱「主機維護政策」。
- 如果授權是按實體核心指派,請使用
佈建單一租戶 VM
在節點群組上佈建 VM,並指定主機維護政策。請注意下列規定:
- 如要在主機維護政策為
restart-in-place的節點群組中佈建,請確認 VM 的「on host maintenance」選項值為TERMINATE。 - 如要在採用
migrate-within-node-group維護政策的節點群組中佈建,請確認 VM 指定的是具有node-group-name親和性標籤的單一節點群組,而非具有node-name親和性標籤的單一節點。任何類型的主機維護選項都有效,但建議使用MIGRATE。
控制台
如果您在範本中使用節點相似度標籤,可以透過代管執行個體群組 (MIG) 建立多個 VM,並在「Sole-tenant nodes」(單一租戶節點) 設定下指定節點相似度標籤,或從節點群組詳細資料頁面建立個別 VM:
前往「Sole-tenant nodes」(單一租戶節點) 頁面。
按一下要佈建 VM 的節點群組名稱。
請執行下列任一操作,在單一租戶節點上建立 VM:
- 如要在單一租戶節點群組中的任何位置建立 VM,請按一下「Create instance」(建立執行個體)。
- 如要在特定單一租戶節點上建立 VM,請依序點選單一租戶節點群組的「Name」(名稱)、單一租戶節點的「Name」(名稱),然後點選「Create instance」(建立執行個體)。
設定單一租戶 VM。由於您已選取節點群組或特定節點,因此範本已指定「Region」(區域)、「Zone」(可用區) 和「Node affinity labels」(節點相似度標籤)。
指定「Machine family」(機器家族)、「Series」(系列) 和「Machine type」(機型),選取「Machine configuration」(機器設定)。選擇與單一租戶節點類型對應的「Series」(系列)。
選取單一租戶 VM 的「Boot disk」(開機磁碟),也就是先前匯入的虛擬磁碟映像檔。
選取「管理」分頁標籤:
- 在「Availability policy」(可用性政策)>「On host maintenance」(在主機維護期間) 下方,選取 VM 的重新啟動行為。
- 在「自動重新啟動」下方,選取「開啟 (建議)」或「關閉」。
點選「建立」。
gcloud
使用 gcloud compute instances create 指令,在單一租戶節點群組上佈建單一租戶 VM。
gcloud compute instances create VM_NAME \
--machine-type MACHINE_TYPE \
--image IMAGE_NAME \
--zone ZONE \
--node-group GROUP_NAME \
RESTART_BEHAVIOR \
--maintenance-policy MAINTENANCE_POLICY
更改下列內容:
VM_NAME:要建立的 VM 名稱。MACHINE_TYPE:新 VM 的機器類型。IMAGE_NAME:用於建立 VM 的映像檔。這是匯入程序中建立的映像檔。ZONE:要建立 VM 的可用區。GROUP_NAME:要佈建 VM 的節點群組名稱。RESTART_BEHAVIOR:這個 VM 的重新啟動行為。將重新啟動行為設為下列其中一個值:--restart-on-failure--no-restart-on-failure
MAINTENANCE_POLICY:VM 在維護事件期間的行為。將維護政策設為下列其中一個值:MIGRATETERMINATE
REST
使用 instances.insert 方法,在單一租戶節點群組上佈建單一租戶 VM。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/VM_ZONE/instances
{
"name": "VM_NAME",
"machineType": "/zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
"scheduling": {
"nodeAffinities": [
{
"key": "node-group",
"operator": "IN",
"values": [
"GROUP_NAME"
]
}
],
"onHostMaintenance": "MAINTENANCE_POLICY",
"automaticRestart": "AUTOMATIC_RESTART"
},
"networkInterfaces": [
{
"network": "/global/networks/NETWORK",
"subnetwork": "/regions/region/subnetworks/SUBNETWORK"
}
],
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
]
}
更改下列內容:
PROJECT_ID:要建立 VM 的專案 ID。VM_ZONE:要建立 VM 的可用區。VM_NAME:新 VM 的名稱。MACHINE_TYPE_ZONE:包含機器類型的可用區。MACHINE_TYPE:用於佈建 VM 的機器類型。GROUP_NAME:要佈建 VM 的節點群組名稱。MAINTENANCE_POLICY:VM 在維護事件期間的行為,設為MIGRATE或TERMINATE。AUTOMATIC_RESTART:指定 Compute Engine 停止 VM 時,是否自動重新啟動 VM。預設值為true。NETWORK:VM 要連上的網路名稱。SUBNETWORK:: VM 要連線的子網路名稱。IMAGE_PROJECT:包含來源映像檔的映像檔專案。IMAGE_FAMILY:來源映像檔的映像檔系列。
後續步驟
請參閱常見問題,瞭解如何將自備授權帶到 Google Cloud。