本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Redshift 快照和備份
快照是叢集的 point-in-time 備份。有兩種類型的快照:自動和手動。Amazon Redshift 會使用加密的安全通訊端層 (SSL) 連線,將這些快照儲存在 Amazon S3 內部。
Amazon Redshift 會自動取得增量快照,以追蹤自上一個自動快照以來對叢集的變更。自動快照會保留所有需要的資料以從快照還原叢集。您可以建立快照排程以控制何時進行自動快照,或隨時手動進行快照。
當您從快照進行還原時,Amazon Redshift 會建立一個新的叢集,並在所有資料載入之前讓新叢集可供使用,以便您立即查詢新叢集。叢集會隨需從快照中串流資料以回應活動查詢,然後在背景載入剩餘資料。
當您啟動叢集時,您可以為自動和手動快照設定保留期間。您可以經由修改叢集,以變更自動和手動快照的預設保留期間。您可以在建立快照時,或經由修改快照,以變更手動快照的保留期間。
您可以檢視中的快照詳細資訊,以監控快照的進度 AWS Management Console,或透過呼叫describe-cluster-snapshotsCLI或動DescribeClusterSnapshotsAPI作。有關正在進行的快照,這些資訊顯示了例如增量快照的大小、傳輸速率、經過時間和預估剩餘時間。
為了確保您的備份永遠可供叢集使用,Amazon Redshift 會將快照儲存在由 Amazon Redshift 管理的內部受管 Amazon S3 儲存貯體中。若要管理儲存費用,請評估您需要保留自動快照的天數,並相應地設定其保留期。刪除您不再需要的任何手動快照。如需備份儲存成本的相關資訊,請參閱 Amazon Redshift 定價
在 Amazon Redshift 無伺服器中使用快照和備份
Amazon Redshift 無伺服器與佈建的叢集一樣,可讓您將備份作為命名空間中物件和資料的 point-in-time 表示形式。Amazon Redshift 無伺服器中有兩種備份類型:手動建立的快照和 Amazon Redshift 無伺服器自動建立的復原點。您可以在快照和復原點找到有關使用 Amazon Redshift 無伺服器快照的詳細資訊。
您也可以將快照從佈建的叢集還原至無伺服器命名空間。如需詳細資訊,請參閱從快照還原無伺服器命名空間。
自動快照
當叢集的自動快照已啟用時,Amazon Redshift 將定期為該叢集建立快照。Amazon Redshift 預設約每 8 小時或每節點資料變更 5 GB 時拍攝一次,以先到者為準。如果您的資料大於 5 GB * 節點數,則兩次自動建立快照之間的最短間隔時間為 15 分鐘。或者,您可以建立快照排程以控制何時進行自動快照。如果您使用自訂排程,則兩次自動快照之間的最短間隔時間為一小時。依據預設,當您建立叢集時,將會啟用自動快照。
在保留期間結束後,自動快照將永久刪除。預設保留期為一天,但您可以使用 Amazon Redshift 主控台進行修改,或使用 Amazon Redshift 或以程式設計方式修改保留期限。API CLI
若要停用自動快照,請將保留期間設定為 zero (零)。若您停用了自動快照,Amazon Redshift 將停止拍攝快照並刪除叢集的任何現有自動快照。您無法停用RA3節點類型的自動快照集。您可以將RA3節點類型自動保留期設定為 1—35 天。
只有 Amazon Redshift 可以刪除自動快照;您無法手動刪除自動快照。在自動快照的保留期結束時、停用叢集的自動快照時,或當您刪除叢集時,Amazon Redshift 會刪除自動快照。Amazon Redshift 會保留最新的自動快照,直到您停用自動快照或刪除叢集為止。
如果想要讓自動快照保留期間更長,請建立該快照複本以做為手動快照。自動快照會保留到保留期間結束為止,但對應的手動快照會保留到您手動刪除它為止,或直到保留期間結束為止。
自動快照排程
若要精確控制何時進行快照,您可以建立快照排程,並將它連接至一或多個叢集。當您修改快照排程時,所有相關聯叢集的排程都會修改。如果叢集沒有連接快照排程,將會使用預設的自動快照排程。
快照排程是一組排程規則。您可以指定時間間隔來定義簡單的排程規則,例如每 8 小時或每 12 小時。您也可以新增規則,在特定的週中的日、指定的時間或特定期間進行快照。您也可以使用類似 Unix 的 cron 運算式來定義規則。
快照排程格式
您可以在 Amazon Redshift 主控台建立快照排程。然後,您可以將排程連接至叢集以觸發系統快照的建立。一個排程可連接至多個叢集,而且您可以在一個排程中建立多個 cron 定義來觸發快照。
您可以使用 cron 語法為您的快照定義排程。這些排程的定義使用經過修改且類似 Unix 的 cron
Amazon Redshift 修改的 cron 運算式有 3 個必要欄位,並且會以空格隔開。
語法
cron(
Minutes
Hours
Day-of-month
Month
Day-of-week
Year
)
欄位 | Values (數值) | 萬用字元 |
---|---|---|
分鐘 |
0–59 |
, - * / |
小時 |
0–23 |
, - * / |
D ay-of-month |
1–31 |
, - * ? / L W |
月 |
第一至十二或 JAN-DEC |
, - * / |
D ay-of-week |
1 至 7 號或 SUN-SAT |
, - * ? L # |
年 |
1970-2199 |
, - * / |
萬用字元
-
, (逗號) 萬用字元包含額外的值。在
Day-of-week
欄位,MON,WED,FRI
包括週一、週二和週三。每個欄位的總數值限制為 24。 -
- (破折號) 萬用字元用於指定範圍。在
Hour
欄位中,1–15 會包含指定日的 1 至 15 時。 -
* (星號) 包含欄位中所有的值。在
Hours
欄位,* 包含每個小時。 -
/ (斜線) 萬用字元用於指定增量。在
Hours
欄位,您可以輸入1/10
指定每第 10 小時,從一天的第一小時開始 (例如 01:00、11:00 和 21:00)。 -
? (問號) 萬用字元用於表示不限定任何一個。在該
Day-of-month
字段中,您可以輸入 7,如果您不在乎第七週的哪一天,您可以輸入? 在 D 字ay-of-week 段中。 -
L 萬用字元在
Day-of-month
或Day-of-week
欄位可指定月份或週的最後一天。 -
W 萬用字元在
Day-of-month
欄位可指定任務日。在Day-of-month
欄位,3W
指定的是月份中最接近第三個任務日的日子。 -
D ay-of-week 欄位中的 # 萬用字元會指定一個月內星期中指定日期的特定執行個體。例如,3#2 代表則該月的第二個星期二:3 是指星期二,因為它是每週的第三天,2 指的是一個月內該類型的第二天。
注意
如果您使用 '#' 字元,則只能在 day-of-week 欄位中定義一個運算式。例如:"3#1,6#3" 是無效的,因為它被轉譯為兩個表達式。
限制
-
您無法在同一個 cron 表達式中指定
Day-of-month
和Day-of-week
欄位。如果您在其中一個欄位指定了數值,就必須在另一個欄位中使用 ? (問號)。 -
快照排程不支援下列頻率:
-
快照排程頻率超過每小時 1 次。
-
快照排程頻率低於每天 (24 小時) 1 次。
如果您有重疊的排程,導致 1 個小時內有多個排程快照,將會產生驗證錯誤。
-
建立排程時,您可以使用下列 cron 字串範例。
分鐘 | 小時 | 週中的日 | 意義 |
---|---|---|---|
0 |
14-20/1 |
TUE |
週二下午 2 點至 8 點,每小時一次。 |
0 |
21 |
MON-FRI |
週一至週五每天晚上 9 點。 |
30 |
0/6 |
SAT-SUN |
週六和週日每 6 小時增量,從當日午夜後 30 分鐘開始 (00:30)。結果是在每天 [00:30、06:30、12:30 和 18:30] 進行快照。 |
30 |
12/4 |
* |
每天 12:30 開始每 4 小時增量。這解析為 [12:30、16:30、20:30]。 |
舉例來說,如果要執行排程,在每天的 15:15 開始每 2 小時增量。這解析為 [15:15、17:15、19:15、21:15、23:15],指定:
cron(15 15/2 *)
您可以在排程中建立多個 cron 排程定義。例如下面 AWS CLI 命令在一個時間表中包含兩個 cron 時間表。
create-snapshot-schedule --schedule-identifier "my-test" --schedule-definition "cron(0 17 SAT,SUN)" "cron(0 9,17 MON-FRI)"
手動快照
您可以隨時建立手動快照。在預設情況下,即使刪除叢集,手動快照也會無限期地保留。您可以在建立手動快照時指定保留期間,或經由修改快照以變更保留期間。如需變更保留期的相關資訊,請參閱修改手動快照保留期。
若刪除快照,您便無法開始任何參考該快照的新操作。不過,若一個還原操作正在處理中,該還原操作將會繼續執行至完成為止。
Amazon Redshift 有一個配額,限制您可以建立的手動快照總數;此配額為每 AWS 每個帳戶 AWS 區域。Amazon Redshift 中的配額和限制中會列出預設配額。
快照儲存
由於快照會產生儲存費用,當您不再需要快照時,務必刪除它們。Amazon Redshift 會在各自的快照保留期結束時刪除自動和手動快照。您也可以使用刪除手動快照 AWS Management Console 或使用指batch-delete-cluster-snapshotsCLI令。
您可以修改手動快照設定,以變更手動快照的保留期間。
您可以使用 Amazon Redshift 主控台或使用描述儲存命CLI令,取得快照佔用多少儲存空間的相關資訊。
從快照排除資料表
依預設,所有使用者定義的永久資料表都包含在快照中。如果不需要備份資料表 (例如臨時資料表),則可以大幅減少建立快照和從快照還原所需的時間。您也可以使用不備份資料表以在 Amazon S3 上減少儲存空間。若要建立無備份資料表,請在建立資料表時加入 BACKUP NO 參數。CREATETABLE如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南中的CREATETABLE和 AS。