自動化快照生命週期 - Amazon Elastic Compute Cloud

自動化快照生命週期

下列程序說明如何使用 Amazon Data Lifecycle Manager 來自動化 Amazon EBS 快照生命週期。

使用下列其中一個程序來建立快照生命週期政策。

New console

若要建立快照政策

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Elastic Block StoreLifecycle Manager (生命週期管理員),然後選擇 Create lifecycle policy (建立生命週期政策)

  3. Select policy type (選取政策類型) 畫面中,選擇 EBS snapshot policy (EBS 快照政策),然後選擇 Next (下一步)。

  4. Target resources (目標資源) 區段中,執行下列動作:

    1. 對於 Target resource types (目標資源類型),選擇要備份的資源類型。選擇 Volume 以建立個別磁碟區的快照,或選擇 Instance,以從與執行個體連接的磁碟區中建立多磁碟區快照。

    2. (僅適用於 AWS Outpost 客戶) 對於 Target resource location (目標資源位置),指定來源資源所在位置。

      • 如果來源資源位於某個 AWS 區域,請選擇 AWS 區域。Amazon Data Lifecycle Manager 僅備份指定類型的所有資源,它們在當前區域中具有相符目標標籤。如果資源位於區域中,則由政策建立的快照將儲存在相同的區域中。

      • 如果來源資源位於您帳號的哨站上,請選擇AWS Outpost (哨站)。Amazon Data Lifecycle Manager 會備份指定類型的所有資源,它們在您帳戶中的所有 Outpost 中具有相符目標標籤。如果資源位於哨站上,則政策建立的快照可以儲存在與資源相同的區域或相同的哨站上。

      • 如果您的帳戶中沒有任何 Outpost,此選項會隱藏,並為您選取 AWS 區域。

    3. 對於 Target resource tags (目標支援標籤),選擇可識別要備份之磁碟區或執行個體的資源標籤。政策只會備份具有指定標籤索引鍵和值配對的資源。

  5. 對於 Description (描述),輸入政策的簡短描述。

  6. 對於 IAM role (IAM 角色),選擇擁有許可能夠管理快照並描述磁碟區和執行個體的 IAM 角色。若要使用 Amazon Data Lifecycle Manager 提供的預設角色,請選擇 Default role (預設角色)。或者,若要使用您先前建立的自訂 IAM 角色,請選擇 Choose another role (選擇另一個角色),然後選取要使用的角色。

  7. 對於 Policy tags (政策標籤),新增標籤以套用至生命週期政策。可以使用這些標籤來識別和分類您的政策。

  8. 對於 Policy status after creation (建立後的政策狀態),選擇 Enable policy (啟用政策) 以在下一個排程時間開始政策執行,或選擇 Disable policy (停用政策) 以防止政策執行。如果您現在不啟用政策,它將不會開始建立快照,直到您在建立後手動啟用它。

  9. 選擇 Next (下一步)

  10. Configure schedule (設定排程) 畫面中,設定政策排程。一個政策最多有 4 個排程。排程 1 是強制性的。排程 2、3 和 4 是選擇性的。針對新增的每個政策排程,執行下列動作:

    1. Schedule details (排程詳細資訊) 區段中,執行下列動作:

      1. 對於 Schedule name (排程名稱),指定排程的描述性名稱。

      2. 對於 Frequency (頻率) 和相關欄位,設定政策執行之間的間隔。您可以根據每日、每週、每月或每年排程設定政策執行。或者,選擇 Custom cron expression (自訂 cron 表達式) 來指定長達一年的間隔。如需詳細資訊,請參閱 Amazon CloudWatch Events 使用者指南 中的 Cron expressions (Cron 表達式)

      3. 對於 Starting at (開始時間),指定排程政策執行開始的時間。第一個政策執行於排程時間的一個小時內開始。必須以 hh:mm UTC 格式輸入時間。

      4. 對於 Retention type (保留類型),指定由排程建立之快照的保留政策。您可以根據快照的總計數或存留期來保留快照。

        對於以計數為基礎的保留,範圍為 11000。到達計數上限之後,新的快照建立時,最舊的將予以刪除。

        對於以存留期為基礎的保留,範圍為 1 天到 100 年。每個快照的保留期間過期後,就會將其刪除。

        注意

        所有排程都必須具有相同的保留類型。您只能指定排程 1 的保留類型。排程 2、3 和 4 會繼承排程 1 的保留類型。每個排程都可以有自己的保留計數或期間。

      5. (僅適用於 AWS Outposts 客戶) 對於 Snapshot destination (快照目的地),指定由政策建立之快照的目的地。

        • 如果政策以區域中的資源為目標,則必須在相同區域中建立快照。AWS已為您選取區域。

        • 如果政策以 Outpost 上的資源為目標,可以在與來源資源相同的 Outpost 上或與 Outpost 相關聯的區域中進行選擇以建立快照。

        • 如果您的帳戶中沒有任何 Outpost,此選項會隱藏,並為您選取 AWS 區域。

    2. Tagging (標記) 區段中,執行下列動作:

      1. 若要將使用者定義的所有標籤從來源磁碟區複製到由排程建立的快照,請選取 Copy tags from source (從來源中複製標籤)。

      2. 若要指定其他標籤以指派給此排程所建立的快照,請選擇 Add tags (新增標籤)。

    3. 若要對排程建立的快照啟用快速快照還原,請在 Fast snapshot restore (快速快照還原) 區段中,選取 Enable fast snapshot restore (啟用快速快照還原)。如果您啟用快速快照還原,您必須選擇要在哪個可用區域中啟用該功能。如果排程使用以存留期為基礎的保留排程,您必須指定為每個快照啟用快速快照還原的時間段。如果排程使用以計數為基礎的保留,您必須指定要啟用的最大快照數量以進行快速快照還原。

      如果排程在 Outpost 上建立快照,您就無法啟用快速快照還原。儲存在哨站的本機快照不支援快速快照還原。

      注意

      若已針對特定可用區域中的快照啟用快速快照還原,系統則會按每分鐘計費。費用會按最低一小時的比例分配。

    4. 若要將排程建立的快照複製到 Outpost 或不同的區域,請在 Cross-Region copy (跨區域複製) 區段中,選取 Enable cross-Region copy (啟用跨區域複製)。

      如果排程在區域中建立快照,則您可以將快照複製到帳戶中的最多三個其他區域或 Outpost。您必須為每個目的地區域或哨站指定個別的跨區域複製規則。

      您可以針對每個區域或哨站選擇不同的保留政策,以及選擇是否複製所有標籤或不複製標籤。如果已加密來源快照,或已預設啟用加密,則會加密複製的快照。如果未加密來源快照,您可以啟用加密。如果您並未指定 KMS 金鑰,則會使用每個目的地區域中的 EBS 加密的預設 KMS 金鑰 來加密快照。如果您為目的地區域指定 KMS 金鑰,則選取的 IAM 角色必須具有 KMS 金鑰 的存取權。

      注意

      您必須確保不超過每個區域的並行快照複本數目。

      如果政策在哨站上建立快照,則您無法將快照複製到某個區域或另一個哨站,而且無法使用跨區域副本設定。

    5. Cross-account sharing (跨帳戶共用) 中,設定政策,以便自動與其他 AWS 帳戶共用排程建立的快照。執行下列操作:

      1. 若要啟用與其他 AWS 帳戶的共用,請選取 Enable cross-account sharing (啟用跨帳戶共用)。

      2. 若要新增要與之共用快照的帳戶,請選擇 Add account (新增帳戶),輸入 12 位數的 AWS 帳戶 ID,然後選擇 Add (新增)。

      3. 若要在特定時間段後自動取消共用快照,請選取 Unshare automatically (自動取消共用)。如果您選擇自動將共用的快照取消共用,自動取消共用快照的時間段不能超過政策保留其快照的時間段。例如,如果政策的保留組態保留快照的時間段為 5 天,您就只能將政策設定為在最多 4 天的時間段後自動取消共用的快照。這適用於具有以存留期為基礎和以計數為基礎之快照保留組態的政策。

        如果您未啟用自動取消共用,則會共用快照,直到它被刪除為止。

    6. 若要新增其他排程,請選擇位於畫面頂部的 Add another schedule (新增另一個排程)。對於每個額外排程,如本主題先前所述填寫欄位。

    7. 新增必要的排程後,選擇 Review policy (檢閱政策)。

  11. 檢閱政策摘要,然後選擇 Create policy (建立政策)。

Old console

若要建立快照政策

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Elastic Block StoreLifecycle Manager (生命週期管理員),然後選擇 Create lifecycle policy (建立生命週期政策)

  3. 視需要為政策提供以下資訊:

    • Description (描述):此政策的描述。

    • Policy type (政策類型)— 要建立的政策類型。選擇 EBS snapshot policy (EBS 快照政策)。

    • Resource type (資源類型) - 要備份的資源類型。選擇 Volume 以建立個別磁碟區的快照,或選擇 Instance,以從與執行個體連接的磁碟區中建立多磁碟區快照。

    • Resource location (資源位置) - 要備份的資源位置。如果來源資源位於某個 AWS 區域,請選擇 AWS 區域。如果來源資源位於您帳號的哨站上,請選擇AWS Outpost (哨站)。如果您選擇 AWS Outpost,Amazon Data Lifecycle Manager 會備份指定類型的所有資源,它們在您的帳戶的所有 Outpost 中具有相符目標標籤。

      如果您的帳戶中沒有任何 Outpost,則預設會選取 AWS 區域

      注意

      如果資源位於區域中,則由政策建立的快照將儲存在相同的區域中。如果資源位於哨站上,則政策建立的快照可以儲存在與資源相同的區域或相同的哨站上。

    • Target with these tags (帶有這些標籤的目標):識別要備份之磁碟區或執行個體的資源標籤。政策只會備份具有指定標籤索引鍵和值配對的資源。

    • Policy tags (政策標籤) - 要套用至生命週期政策的標籤。

  4. 對於 IAM role (IAM 角色),請選擇擁有許可來建立、刪除及描述快照以及描述磁碟區和執行個體的 IAM 角色。AWS 提供預設角色,您也可以建立自訂 IAM 角色。

  5. 新增政策排程。排程 1 是強制性的。排程 2、3 和 4 是選擇性的。針對新增的每個政策排程,指定下列資訊:

    • Schedule name (排程名稱):排程的名稱。

    • Frequency (頻率):政策執行之間的間隔。您可以根據每日、每週、每月或每年排程設定政策執行。或者,選擇 Custom cron expression (自訂 cron 表達式) 來指定長達一年的間隔。如需詳細資訊,請參閱 Amazon CloudWatch Events 使用者指南 中的 Cron expressions (Cron 表達式)

    • Starting at hh:mm UTC (在 hh:mm UTC 開始):排程政策執行開始的時間。第一個政策執行於排程時間的一個小時內開始。

    • Retention type (保留類型) - 您可以根據快照的總計數或存留期來保留快照。對於以計數為基礎的保留,範圍為 1 到 1000。到達計數上限之後,新的快照建立時,最舊的將予以刪除。對於以存留期基礎的保留,範圍為 1 天到 100 年。每個快照的保留期間過期後,就會將其刪除。保留期間應該大於或等於間隔。

      注意

      所有排程都必須具有相同的保留類型。您只能指定排程 1 的保留類型。排程 2、3 和 4 會繼承排程 1 的保留類型。每個排程都可以有自己的保留計數或期間。

    • Snapshot destination (快照目的地) - 指定政策所建立之快照的目的地。若要在與來源資源相同的 AWS 區域建立快照,請選擇 AWS 區域。若要在 Outpost 上建立快照,請選擇 AWS Outpost

      如果政策以區域中的資源為目標,則會在相同區域建立快照,且無法在哨站上建立。

      如果政策以哨站上的資源為目標,可以在與來源資源相同的哨站或與哨站相關聯的區域建立快照。

    • Copy tags from source (從來源中複製標籤) - 選擇是否要將使用者定義的所有標籤從來源磁碟區複製到排程建立的快照。

    • Variable tags (變數標籤) - 如果來源資源是執行個體,您可以選擇使用下列變數標籤自動標記快照:

      • instance-id:來源執行個體的 ID。

      • timestamp - 政策執行的日期和時間。

    • Additional tags (其他標籤) - 指定任何其他標籤以指派給此排程所建立之快照。

    • Fast snapshot restore (快速快照還原) - 選擇是否要針對此排程建立的所有快照啟用快速快照還原。如果您啟用快速快照還原,您必須選擇要在哪個可用區域中啟用該功能。若已針對特定可用區域中的快照啟用快速快照還原,系統則會按每分鐘計費。費用會按最低一小時的比例分配。您也可以指定可為快速快照還原啟用的最大快照數量。

      如果政策在哨站上建立快照,您就無法啟用快速快照還原。儲存在哨站的本機快照不支援快速快照還原。

    • Cross region copy (跨區域複製) - 如果政策在區域中建立快照,則您可以將快照複製到帳戶中的最多三個其他區域或 Outpost。您必須為每個目的地區域或哨站指定個別的跨區域複製規則。

      您可以針對每個區域或哨站選擇不同的保留政策,以及選擇是否複製所有標籤或不複製標籤。如果已加密來源快照,或已預設啟用加密,則會加密複製的快照。如果未加密來源快照,您可以啟用加密。如果您並未指定 KMS 金鑰,則會使用每個目的地區域中的 EBS 加密的預設 KMS 金鑰 來加密快照。如果您為目的地區域指定 KMS 金鑰,則選取的 IAM 角色必須具有 KMS 金鑰 的存取權。

      您必須確保不超過每個區域的並行快照複本數目。

      如果政策在哨站上建立快照,則您無法將快照複製到某個區域或另一個哨站,而且無法使用跨區域副本設定。

  6. 對於 Policy status after creation (建立後的政策狀態),選擇 Enable policy (啟用政策) 以在下一個排程時間開始政策執行,或選擇 Disable policy (停用政策) 以防止政策執行。

  7. 選擇 Create Policy (建立政策)

Command line

使用 create-lifecycle-policy 命令建立快照生命週期政策。在 PolicyType,請指定 EBS_SNAPSHOT_MANAGEMENT

注意

為了簡化語法,下列範例會使用包含政策詳細資訊的 JSON 檔案 (policyDetails.json)。

範例 1:快照生命週期政策

此範例會建立快照生命週期政策,該政策會建立標籤索引鍵值為 costcenter 且值為 115 之所有磁碟區的快照。政策包含兩個排程。第一個排程會在每天 03:00 UTC 建立快照。第二個排程會在每週五 17:00 UTC 建立每週快照。

aws dlm create-lifecycle-policy \ --description "My volume policy" \ --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole \ --policy-details file://policyDetails.json

以下是 policyDetails.json 檔案的範例。

{ "PolicyType": "EBS_SNAPSHOT_MANAGEMENT", "ResourceTypes": [ "VOLUME" ], "TargetTags": [{ "Key": "costcenter", "Value": "115" }], "Schedules": [{ "Name": "DailySnapshots", "TagsToAdd": [{ "Key": "type", "Value": "myDailySnapshot" }], "CreateRule": { "Interval": 24, "IntervalUnit": "HOURS", "Times": [ "03:00" ] }, "RetainRule": { "Count": 5 }, "CopyTags": false }, { "Name": "WeeklySnapshots", "TagsToAdd": [{ "Key": "type", "Value": "myWeeklySnapshot" }], "CreateRule": { "CronExpression": "cron(0 17 ? * FRI *)" }, "RetainRule": { "Count": 5 }, "CopyTags": false } ]}

成功時,此命令會回傳新建立之政策的 ID。下列為範例輸出。

{ "PolicyId": "policy-0123456789abcdef0" }

範例 2 — 快照生命週期政策可自動化哨站資源的本機快照

此範例會建立快照生命週期政策,在您所有哨站之間建立標籤 team=dev 的磁碟區快照。政策會在與來源磁碟區相同的哨站建立快照。政策從 12 UTC 開始每 00:00 小時建立快照。

aws dlm create-lifecycle-policy \ --description "My local snapshot policy" \ --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole \ --policy-details file://policyDetails.json

以下是 policyDetails.json 檔案的範例。

{ "PolicyType": "EBS_SNAPSHOT_MANAGEMENT", "ResourceTypes": "VOLUME", "ResourceLocations": "OUTPOST", "TargetTags": [{ "Key": "team", "Value": "dev" }], "Schedules": [{ "Name": "on-site backup", "CreateRule": { "Interval": 12, "IntervalUnit": "HOURS", "Times": [ "00:00" ], "Location": [ "OUTPOST_LOCAL" ] }, "RetainRule": { "Count": 1 }, "CopyTags": false } ]}

範例 3 — 快照生命週期政策,可在區域中建立快照並將其複製到哨站

下列範例政策會建立標記為 team=dev 磁碟區的快照。快照建立在與來源磁碟區相同的區域中。從 12 UTC 開始每 00:00 小時建立快照,並保留最多 1 快照。政策也會將快照複製到 Outpost arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0,使用預設加密 KMS 金鑰 加密複製的快照,並將副本保留 1 個月。

aws dlm create-lifecycle-policy \ --description "Copy snapshots to Outpost" \ --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole \ --policy-details file://policyDetails.json

以下是 policyDetails.json 檔案的範例。

{ "PolicyType": "EBS_SNAPSHOT_MANAGEMENT", "ResourceTypes": "VOLUME", "ResourceLocations": "CLOUD", "TargetTags": [{ "Key": "team", "Value": "dev" }], "Schedules": [{ "Name": "on-site backup", "CopyTags": false, "CreateRule": { "Interval": 12, "IntervalUnit": "HOURS", "Times": [ "00:00" ], "Location": "CLOUD" }, "RetainRule": { "Count": 1 }, "CrossRegionCopyRules" : [ { "Target": "arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0", "Encrypted": true, "CopyTags": true, "RetainRule": { "Interval": 1, "IntervalUnit": "MONTHS" } }] } ]}