本文說明如何管理可用區和區域性永久磁碟,以及 Google Cloud Hyperdisk 磁碟區的快照排程。
您可以按照下列方式管理快照排程:
- 查看快照排程
- 變更快照排程
- 刪除快照排程
您也可以為排定的快照設定快訊。
事前準備
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上範例的預計用途分頁:
控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,不需要設定驗證。
gcloud
-
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init
-
- 設定預設區域和可用區。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果系統傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果系統傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果系統傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果系統傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。
Go
如要在本機開發環境中使用本頁的 Go 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 設定本機開發環境的驗證機制」。
Java
如要在本機開發環境中使用本頁的 Java 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 設定本機開發環境的驗證機制」。
Node.js
如要在本機開發環境中使用本頁的 Node.js 範例,請安裝並初始化 gcloud CLI,然後使用您的使用者憑證設定應用程式預設憑證。
詳情請參閱「 設定本機開發環境的驗證機制」。
Python
如要在本機開發環境中使用本頁的 Python 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
詳情請參閱「 設定本機開發環境的驗證機制」。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
所需角色和權限
如要取得建立快照排程所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
- Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1) -
如要連線至可做為服務帳戶執行的 VM:
服務帳戶使用者 (v1) (
roles/iam.serviceAccountUser)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備建立快照排程所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立快照排程,必須具備下列權限:
-
如要查看快照排程:
compute.resourcePolicies.list在專案或組織中 -
如要更新快照排程,請按照下列步驟操作:
-
compute.resourcePolicies.update資源政策 -
compute.resourcePolicies.get資源政策
-
-
如要取代快照排程:
-
compute.resourcePolicies.use資源政策 -
compute.disks.addResourcePolicies磁碟上 -
compute.disks.removeResourcePolicies磁碟上
-
-
如要刪除快照排程:
-
compute.resourcePolicies.delete資源政策 -
compute.disks.removeResourcePolicies磁碟上
-
查看快照排程
如要取得快照排程的清單,可以使用主控台、gcloud 指令或 Compute Engine API 方法進行操作。這項要求會顯示專案中所有快照排程的名稱、說明和區域。
控制台
- 前往 Cloud de Confiance 控制台的「Snapshots」(快照) 頁面。
- 選取「快照排程」分頁標籤。
- 使用「Filter」(篩選) 欄位縮小快照排程清單範圍。
- 按一下快照排程名稱,即可查看詳細資料。
gcloud
如要查看快照排程清單,請使用 resource-policies list 指令。
gcloud compute resource-policies list
如要查看特定快照排程的說明,請使用 resource-policies describe 指令。
gcloud compute resource-policies describe SCHEDULE_NAME
將 SCHEDULE_NAME 替換為快照時間表名稱。
Go
列出快照排程
描述快照排程
Java
列出快照排程
描述快照排程
Node.js
Python
列出快照排程
描述快照排程
REST
提出 GET 要求 resourcePolicies.aggregatedList,傳回專案的快照排程清單。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/resourcePolicies
將 PROJECT_ID 替換為專案名稱。
依區域查看快照排程
如要查看特定區域內專案的快照排程,請使用Cloud de Confiance 控制台、gcloud CLI 或 REST。
控制台
- 前往 Cloud de Confiance 控制台的「Snapshots」(快照) 頁面。
- 選取「快照排程」分頁標籤。
- 使用「Filter」(篩選器) 欄位,列出特定區域的快照排程。
gcloud
如要查看特定區域內專案的快照排程,請使用 resource-policies list 指令。
gcloud compute resource-policies list PROJECT_ID --filter REGION
更改下列內容:
PROJECT_ID:專案名稱REGION:區域,例如us-west1
REST
向 resourcePolicies.list 方法提出 GET 要求,即可擷取區域內建立的快照排程。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
更改下列內容:
PROJECT_ID:專案名稱REGION:區域,例如us-west1
變更快照排程
建立快照排程後,您可以使用「更新快照排程」程序,動態修改下列欄位:
- 說明
- 快照排程
- 套用至生成的快照的標籤
- 來源磁碟刪除政策,用於處理來源磁碟刪除時自動產生的快照
- 資料保留政策:定義要保留透過快照排程產生的快照多久
如要更新快照排程的其他值,請刪除快照排程並建立新的排程,如「取代快照排程」一文所述。
快照時間表更新會在更新後的第一次快照生效。如果在更新快照排程時,系統正在執行快照,變更會在下一個快照生效。
更新快照排程
如要變更快照排程的部分屬性,可以使用 Google Cloud CLI 或 Compute Engine API,詳情請參閱「變更快照排程」。
如要變更快照排程的其他屬性,請使用「取代快照排程」一文所述的方法。
控制台
- 前往 Cloud de Confiance 控制台的「Snapshots」(快照) 頁面。
- 選取 [Snapshot schedules] (快照排程) 以查看排程的清單。
- 按一下要修改的快照時間表名稱。
- 在快照排程詳細資料頁面中,按一下「編輯排程」按鈕。
gcloud
使用 compute resource-policies update 指令更新快照排程的說明、排程、保留政策或標籤。
gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
--region=REGION \
--description="DESCRIPTION" \
--snapshot-labels="KEY=VALUE" \
--max-retention-days=DAYS \
--on-source-disk-delete=DELETE_OPTION \
--start-time=START_TIME \
SCHEDULE_FLAG
更改下列內容:
- SCHEDULE_NAME:快照排程的名稱。
- REGION:快照排程所在的區域。
- DESCRIPTION:快照排程說明。請在說明內容的前後加上引號。
- KEY 和 VALUE:鍵/值組合,可用於將相關或關聯的資源分組。
- DAYS:快照在刪除前保留的天數上限。
- DELETE_OPTION:原始磁碟刪除後,自動快照的保留行為。這個值必須是下列其中一個:
apply-retention-policy:刪除來源磁碟後,繼續對快照排程建立的任何快照套用保留期限。keep-auto-snapshots:(預設) 如果來源磁碟遭到刪除,無論保留期限為何,系統都會保留快照排程建立的任何快照。
- START_TIME:世界標準時間的開始時間。時間必須從整點開始。例如:
- 太平洋標準時間下午 2 點是
22:00。 - 如果將開始時間設為
22:13,系統會顯示錯誤訊息。
- 太平洋標準時間下午 2 點是
SCHEDULE_FLAG:下列其中一個旗標:
--hourly-schedule=HOURLY_INTERVAL:每個快照之間的小時數。HOURLY_INTERVAL必須是介於1至23之間的整數。舉例來說,如果將--hourly-schedule設為 12,系統就會每 12 小時產生一次快照。--daily-schedule:每天在START_TIME--weekly-schedule=WEEKLY_INTERVAL:定義要建立快照的日期。你必須完整拼出星期幾,值不區分大小寫。--weekly-schedule-from-file=FILE_NAME:指定包含每週快照時間表的檔案。你可以使用檔案,在每週的不同天和不同時間指定每週時間表。舉例來說,您的檔案可能會指定在週一和週三建立快照:none [{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}]如果在檔案中加入開始時間,就不需要設定--start-time旗標。時間表採用世界標準時間時區。時間必須從每個小時的整點開始,例如:- 太平洋標準時間下午 2 點是
22:00。 - 如果將開始時間設為
22:13,系統會顯示錯誤訊息。
- 太平洋標準時間下午 2 點是
快照頻率旗標
hourly-schedule、daily-schedule、weekly-schedule和weekly-schedule-from-file互斥。快照排程只能使用其中一種。
範例:
如要將快照排程變更為每日排程,請按照下列步驟操作:
gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
--region=REGION --daily-schedule --start-time=START_TIME
如要將快照變更為每小時排程,並更新說明和快照標籤,請按照下列步驟操作:
gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
--region=REGION --description="DESCRIPTION" \
--hourly-schedule=HOURLY_INTERVAL --start-time=START_TIME \
--snapshot-labels="KEY=VALUE"
如要變更快照排程的快照保留政策和來源磁碟刪除政策,請按照下列步驟操作:
gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
--region=REGION --max-retention-days=DAYS \
--on-source-disk-delete=DELETE_OPTION
Go
Java
Node.js
Python
REST
建構 PATCH 要求,使用 resourcePolicies 方法更新快照排程的說明、排程、保留政策、來源磁碟刪除政策或標籤。在要求主體中,您只需要指定 name 和要更新的欄位。
變更說明和標籤:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "description": "DESCRIPTION", "snapshotProperties": { "labels": {"KEY": "VALUE"} } }將快照排程變更為每小時:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "snapshotSchedulePolicy": { "schedule": { "hourlySchedule": { "hoursInCycle": HOURLY_INTERVAL, "startTime": START_TIME } } } }將快照排程變更為每日:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "snapshotSchedulePolicy": { "schedule": { "dailySchedule": { "daysInCycle": DAILY_INTERVAL, "startTime": START_TIME } } } }將快照排程變更為每週:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "snapshotSchedulePolicy": { "schedule": { "weeklySchedule": { "dayOfWeeks": [ { "day": WEEKLY_INTERVAL, "startTime": START_TIME } ] } } } }變更快照保留政策:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "snapshotSchedulePolicy": { "retentionPolicy": { "maxRetentionDays": DAYS, "onSourceDiskDelete":"DELETE_OPTION" } } }
更改下列內容:
- PROJECT_ID:專案名稱。
- REGION:快照排程所在的區域。
- SCHEDULE_NAME:快照排程的名稱。
- DESCRIPTION:快照排程說明。請在說明內容的前後加上引號。
- KEY 和 VALUE:鍵/值組合,可用於將相關或相關聯的資源分組。
- HOURLY_INTERVAL:定義要建立快照的時間間隔。使用介於
1和23之間的整數設定每小時排程。如要每天在同一時間建立快照,請選擇可整除 24 的數字 (1、2、3、4、6、8 或 12)。舉例來說,如果將--hourly-schedule設為 12,系統就會每 12 小時產生一次快照。 - DAILY_INTERVAL:定義每個快照之間的天數。如要每天建立快照,請使用
1值。 - WEEKLY_INTERVAL:定義在每週特定日子執行的排程。指定一或多天。可用的選項如下:
MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY和SUNDAY。你必須完整拼出星期幾,且不區分大小寫。您最多可以為dayOfWeeks定義 7 個間隔,每週一天一個間隔。 - START_TIME:世界標準時間的開始時間。時間必須從整點開始。例如:
- 太平洋標準時間下午 2 點是世界標準時間
22:00。 - 如果將開始時間設為
22:13,系統會顯示錯誤訊息。
- 太平洋標準時間下午 2 點是世界標準時間
- DAYS:快照在刪除前保留的天數上限。
- DELETE_OPTION:原始磁碟刪除後,自動快照的保留行為。這個值必須是下列其中一個:
APPLY_RETENTION_POLICY:刪除來源磁碟後,繼續對快照排程建立的任何快照套用保留期限。KEEP_AUTO_SNAPSHOTS:(預設) 如果刪除來源磁碟,無論保留期限為何,系統都會保留快照排程建立的任何快照。
取代快照排程
請按照下列步驟刪除快照排程,然後建立新的排程。使用這個方法修改快照排程屬性,這些屬性無法透過「更新快照排程」程序變更。
如要更換已附加至磁碟的快照時間表,請先從磁碟卸離時間表並刪除,接著,您可以建立新的時間表,並附加至磁碟。
從已卸離的快照排程產生的快照,不會由新政策管理。系統會無限期保留這些快照,直到您刪除為止。
使用 Cloud de Confiance 控制台、gcloud CLI 或 REST 移除並取代快照排程。
控制台
- 前往 Cloud de Confiance 控制台的「Disks」(磁碟) 頁面。
- 選擇含有待卸離排程的磁碟。
- 在「管理磁碟」頁面中,按一下「編輯」。 你可能需要先按一下「更多動作」選單。
- 開啟「Snapshot schedule」(快照排程) 下拉式選單。
- 按一下 [No schedule] (沒有任何排程),將排程從磁碟卸離。
- 您可以建立新排程,或在編輯磁碟選項時更換排程。
- 按一下 [Save] (儲存) 來完成工作。
gcloud
使用
gcloud compute disks remove-resource-policies指令,從要變更的排程中,將快照排程與磁碟分離。gcloud compute disks remove-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --region REGION \ --zone ZONE更改下列內容:
DISK_NAME:已附加快照排程的磁碟名稱SCHEDULE_NAME:要從這個磁碟中分離的快照排程名稱REGION:快照排程所在的區域ZONE:區域磁碟所在的可用區
使用
gcloud compute disks add-resource-policies指令,將新的快照時間表新增至磁碟。gcloud compute disks add-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE更改下列內容:
DISK_NAME:具有快照排程資源政策的磁碟名稱SCHEDULE_NAME:要新增至這個磁碟的快照排程名稱ZONE:磁碟所在的可用區
REST
如要從磁碟卸離目前的快照排程,請建構對
disks.removeResourcePolicies的POST要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/removeResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }更改下列內容:
PROJECT_ID:專案名稱ZONE:磁碟所在的可用區DISK_NAME:與快照排程相關聯的磁碟名稱REGION:快照排程的位置SCHEDULE_NAME:要從這個磁碟移除的快照排程名稱
建構對
disks.addResourcePolicies方法的POST要求,將新的快照排程附加至磁碟。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }更改下列內容:
PROJECT_ID:專案名稱ZONE:磁碟位置DISK_NAME:磁碟名稱REGION:快照排程的位置SCHEDULE_NAME:要套用至這個磁碟的快照排程名稱
刪除快照排程
刪除快照排程後,系統會永久保留與該排程相關聯的所有自動產生快照。不過,排程刪除後就無法再產生快照。
您的保留政策屬於快照排程的一部分。刪除排程後,系統就不會再套用保留政策。系統會永久保留已經產生的快照,如要刪除,您必須手動執行。
如要刪除現有的快照排程,請使用Cloud de Confiance 控制台、Google Cloud CLI 或 Compute Engine API 方法。如果排程已附加至磁碟,請先從磁碟卸離排程,再刪除該排程。您無法刪除已附加至磁碟的快照排程。
控制台
- 前往 Cloud de Confiance 控制台的「Snapshots」(快照) 頁面。
- 選取 [Snapshot schedules] (快照排程) 以查看排程的清單。
- 選取沒有與磁碟建立關聯的排程。
按一下「刪除」圖示 。
gcloud
如要刪除快照排程,請使用 resource-policies delete 指令。
gcloud compute resource-policies delete SCHEDULE_NAME \
--region REGION
更改下列內容:
SCHEDULE_NAME:快照排程名稱REGION:快照排程的位置
Go
Java
Node.js
Python
REST
如要刪除快照排程,請向 resourcePolicies.delete 方法發出 DELETE 要求。如果快照排程已附加至磁碟,系統會顯示錯誤訊息。
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
更改下列內容:
PROJECT_ID:專案名稱REGION:快照排程的位置SCHEDULE_NAME:快照排程名稱
記錄和監控
每個與磁碟相關聯的排程快照都會持續建立隨時受系統監控及記錄的系統事件。系統事件稽核記錄功能永遠處於啟用狀態。
這些記錄會針對每個相關聯磁碟提供排程快照的行為資訊。您可以在 Cloud de Confiance 控制台的「記錄」選單中查看記錄。
如要進一步瞭解如何使用 Logs Explorer,請參閱「使用 Logs Explorer 查看記錄檔」。
控制台
前往 Cloud de Confiance 控制台的「Logs Explorer」頁面。
在「All resource」(所有資源) 下拉式清單中,指向「Disk」(磁碟),然後選取「All disk_id」(所有 disk_id)。
在「所有記錄」下拉式清單中,選取「cloudaudit.googleapis.com/system_event」,然後按一下「確定」。
在「Any log level」(任何記錄層級) 下拉式清單中,選取記錄類型。