為 EBS後端建立 Amazon Data Lifecycle Manager 自訂政策 AMIs - Amazon EBS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為 EBS後端建立 Amazon Data Lifecycle Manager 自訂政策 AMIs

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

建立AMI生命週期政策

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

Console
如要建立 AMI 政策
  1. 在 開啟 Amazon EC2主控台https://console.aws.amazon.com/ec2/

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

  3. 選取政策類型畫面上,選擇 EBS後端AMI政策,然後選擇下一步

  4. Target resources (目標資源) 區段中,對於 Target resource tags (目標資源標籤),選擇可識別要備份之磁碟區或執行個體的資源標籤。政策只會備份具有指定標籤金鑰/值對的資源。

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

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

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

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

  9. 執行個體重新啟動區段中,指出是否應該在AMI建立之前重新啟動執行個體。若要防止目標執行個體重新啟動,請選擇 No (否)。選擇 NO (否) 可能會導致資料一致性問題。若要在AMI建立之前重新啟動執行個體,請選擇。選擇此選項可確保資料一致性,但可能導致多個目標執行個體同時重新啟動。

  10. 選擇 Next (下一步)

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

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

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

      2. 對於 Frequency (頻率) 和相關欄位,設定政策執行之間的間隔。

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

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

      4. 針對保留類型,指定排程所AMIs建立的保留政策。

        您可以AMIs根據其總數或年齡來保留 。

        對於以計數為基礎的保留,範圍為 11000。達到最大計數後,會在建立新的計數時AMI取消註冊最舊的計數。

        對於以存留期為基礎的保留,範圍為 1 天到 100 年。每個 的保留期間AMI過期後,就會取消註冊。

        注意

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

    2. 設定 的標記AMIs。

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

      1. 若要將所有使用者定義的標籤從來源執行個體複製到排程AMIs建立的 ,請選取從來源複製標籤

      2. 根據預設,排程AMIs建立的 會自動以來源執行個體的 ID 標記。為了防止發生這種自動標記,對於 Variable tags (變數標籤),移除 instance-id:$(instance-id) 圖標。

      3. 若要指定要指派給此排程AMIs建立的其他標籤,請選擇新增標籤

    3. 設定棄AMI用。

      若要棄用不應再使用AMIs的時間,請在AMI棄用區段中,選取為此排程啟用AMI棄用,然後指定棄AMI用規則。棄AMI用規則會指定何時AMIs要棄用。

      如果排程使用以計數為基礎的AMI保留,您必須指定AMIs要棄用的最舊數量。棄用計數必須小於或等於排程的AMI保留計數,且不能大於 1000。例如,如果排程設定為保留最多 5 個 AMIs,則您可以設定排程 以取代最多舊的 5 個最舊的 AMIs。

      如果排程使用以年齡為基礎的AMI保留,您必須指定AMIs要取代的期間。棄用計數必須小於或等於排程的AMI保留期間,且不能大於 10 年 (120 個月、520 週或 3650 天)。例如,如果排程設定為保留 AMIs 10 天,則您可以將排程設定為在建立後最多 10 天的期間AMIs之後棄用。

    4. 設定跨區域複製。

      若要將排程AMIs建立的複本複製到不同的區域,請在跨區域複製區段中,選取啟用跨區域複製。您AMIs最多可以複製到帳戶中的三個額外區域。您必須為每個目的地區域指定單獨的跨區域複製規則。

      針對每個目標區域,您可以指定下列項目:

      • AMI 副本的保留政策。保留期到期時,會自動取消註冊目標區域中的複本。

      • AMI 複製的加密狀態。如果來源AMI已加密,或預設啟用加密,則複製的一律AMIs會加密。如果來源AMI未加密且預設停用加密,您可以選擇啟用加密。如果您未指定KMS金鑰,AMIs則會使用預設KMS金鑰在每個目的地區域中EBS加密 。如果您為目的地區域指定KMS金鑰,則所選IAM角色必須能夠存取KMS金鑰。

      • AMI 複本的取代規則。當棄用期間過期時,AMI複本會自動棄用。取代期必須小於或等於複本保留期,且不得超過 10 年。

      • 是否要從來源 複製所有標籤或不複製標籤AMI。

      注意

      請勿超過每個區域的並行AMI副本數量。

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

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

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

    注意

    如果出現 Role with name AWSDataLifecycleManagerDefaultRoleForAMIManagement already exists 錯誤,請參閱 對 Amazon Data Lifecycle Manager 問題進行故障診斷 以取得更多資訊。

Command line

使用 create-lifecycle-policy命令來建立AMI生命週期政策。對於 PolicyType,請指定 IMAGE_MANAGEMENT

注意

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

範例 1:以年齡為基礎的保留和AMI棄用

此範例會建立AMI生命週期政策,以建立具有 標籤索引鍵purpose且值為 AMIs的所有執行個體,production而不會重新啟動目標執行個體。政策包含一個排程,AMI每天在 建立 01:00 UTC。政策會保留 AMIs 2 天,並在1一天後棄用。它也會將標籤從來源執行個體複製到其建立AMIs的 。

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

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

{ "PolicyType": "IMAGE_MANAGEMENT", "ResourceTypes": [ "INSTANCE" ], "TargetTags": [{ "Key": "purpose", "Value": "production" }], "Schedules": [{ "Name": "DailyAMIs", "TagsToAdd": [{ "Key": "type", "Value": "myDailyAMI" }], "CreateRule": { "Interval": 24, "IntervalUnit": "HOURS", "Times": [ "01:00" ] }, RetainRule":{ "Interval" : 2, "IntervalUnit" : "DAYS" }, DeprecateRule": { "Interval" : 1, "IntervalUnit" : "DAYS" }, "CopyTags": true } ], "Parameters" : { "NoReboot":true } }

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

{ "PolicyId": "policy-9876543210abcdef0" }
範例 2:使用跨區域複製進行以計數為基礎的保留和AMI取代

此範例會建立AMI生命週期政策,以建立具有 標籤索引鍵且值purpose為 AMIs的所有執行個體,production並重新啟動目標執行個體。此政策包含一個排程,從 17:30 開始AMI,每6小時會建立 UTC。政策會保留3AMIs並自動取代最2舊的 AMIs。它也有跨區域複製規則,AMIs可複製到 us-east-1、保留2AMI複本,並自動取代最舊的 AMI。

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

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

{ "PolicyType": "IMAGE_MANAGEMENT", "ResourceTypes" : [ "INSTANCE" ], "TargetTags": [{ "Key":"purpose", "Value":"production" }], "Parameters" : { "NoReboot": true }, "Schedules" : [{ "Name" : "Schedule1", "CopyTags": true, "CreateRule" : { "Interval": 6, "IntervalUnit": "HOURS", "Times" : ["17:30"] }, "RetainRule":{ "Count" : 3 }, "DeprecateRule":{ "Count" : 2 }, "CrossRegionCopyRules": [{ "TargetRegion": "us-east-1", "Encrypted": true, "RetainRule":{ "IntervalUnit": "DAYS", "Interval": 2 }, "DeprecateRule":{ "IntervalUnit": "DAYS", "Interval": 1 }, "CopyTags": true }] }] }

AMI 生命週期政策的考量事項

下列一般考量適用於建立AMI生命週期政策:

  • AMI 生命週期政策僅針對與政策位於相同區域中的執行個體。

  • 第一個AMI建立操作會在指定的開始時間後一小時內開始。後續AMI的建立操作會在其排程時間的一小時內開始。

  • 當 Amazon Data Lifecycle Manager 取消註冊 時AMI,會自動刪除其備份快照。

  • 目標資源標籤區分大小寫。

  • 如果您從政策鎖定目標的執行個體中移除目標標籤,Amazon Data Lifecycle Manager 將不再管理標準AMIs中的現有 ;如果不再需要,您必須手動刪除這些標籤。

  • 您可以建立多個政策來備份執行個體。例如,如果執行個體有兩個標籤,其中標籤 A 是政策 A AMI每 12 小時建立 的目標,而標籤 B 是政策 B AMI 每 24 小時建立 的目標,Amazon Data Lifecycle Manager AMIs會根據兩個政策的排程建立 。或者,您可以建立具有多個排程的單一政策,以達到相同的結果。例如,您可以建立僅以標籤 A 為目標的單一政策,並指定兩個排程:每 12 小時一個排程,以及每 24 小時一個排程。

  • 在建立政策後連接至目標執行個體的新磁碟區會在下次政策執行時自動包含在備份中。在政策執行時連接至執行個體的所有磁碟區會包含在內。

  • 如果您使用設定為僅建立一個 的自訂 Cron 型排程建立政策AMI,則政策不會在達到保留閾值AMI時自動取消註冊該排程。AMI 如果不再需要,您必須手動取消註冊 。

  • 如果您建立保留期短於建立頻率的以年齡為基礎的政策,Amazon Data Lifecycle Manager 將一律保留最後一個,AMI直到建立下一個保留期為止。例如,如果以年齡為基礎的政策AMI每月建立一個保留期為 7 天的保留期,即使保留期為 7 天,Amazon Data Lifecycle Manager 仍會保留每個保留期AMI一個月。

  • 對於以計數為基礎的政策,Amazon Data Lifecycle Manager 一律AMIs會根據建立頻率建立 ,然後再嘗試AMI根據保留政策取消註冊最舊的政策。

  • 成功取消註冊 AMI和 刪除相關聯的備份快照可能需要數小時的時間。如果 Amazon Data Lifecycle Manager 在先前建立AMI的 成功取消註冊AMI之前建立下一個 ,您可以暫時保留AMIs大於保留計數的 。

下列考量事項適用於終止政策所鎖定的執行個體:

  • 如果您終止由具有以計數為基礎的保留排程之政策鎖定的執行個體,則政策不會再管理AMIs先前從已終止執行個體建立的 。如果AMIs不再需要,您必須提早手動取消註冊。

  • 如果您終止由具有以年齡為基礎的保留排程之政策所鎖定的執行個體,則政策會繼續取消註冊先前依定義排程從已終止執行個體建立AMIs的 ,最多但不包括最後一個 AMI。如果AMI不再需要,您必須手動取消註冊最後一個 。

下列考量適用於AMI政策和AMI取代:

  • 如果您使用以計數為基礎的保留來增加排程的AMI棄用計數,則變更會套用至排程建立的所有 AMIs(現有和新的)。

  • 如果您使用以年齡為基礎的保留來增加排程的AMI棄用期間,變更AMIs只會套用至新的 。現有 AMIs 不受影響。

  • 如果您從排程中移除棄AMI用規則,Amazon Data Lifecycle Manager 將不會取消先前由該排程棄用AMIs之 的棄用。

  • 如果您減少排程的AMI棄用計數或期間,Amazon Data Lifecycle Manager 將不會取消先前由該排程棄用AMIs之 的棄用。

  • 如果您手動棄用 AMI政策建立的 AMI ,Amazon Data Lifecycle Manager 將不會覆寫棄用。

  • 如果您手動取消先前由 AMI政策取代AMI的 的棄用,Amazon Data Lifecycle Manager 將不會覆寫取消。

  • 如果由多個衝突排程建立 AMI ,且其中一或多個排程沒有AMI取代規則,Amazon Data Lifecycle Manager 將不會取代該 AMI。

  • 如果由多個衝突排程建立 AMI ,且所有這些排程都具有棄AMI用規則,Amazon Data Lifecycle Manager 將使用導致最新棄用日期的棄用規則。

下列考量適用於AMI政策和資源回收筒

  • 如果 Amazon Data Lifecycle Manager 取消註冊 ,AMI並在達到政策的保留閾值時將其傳送至資源回收筒,而您AMI從資源回收筒手動還原該 ,則您必須在不再需要AMI時手動取消註冊 。Amazon Data Lifecycle Manager 將不再管理 AMI。

  • 如果您手動取消註冊由政策建立AMI的 ,並在達到政策的保留閾值時AMI位於資源回收筒中的 ,Amazon Data Lifecycle Manager 將不會取消註冊 AMI。Amazon Data Lifecycle Manager 在資源回收筒中AMIs時不會管理它們。

    如果在達到政策的保留閾值之前從資源回收筒AMI還原 ,Amazon Data Lifecycle Manager 將在達到政策的保留閾值AMI時取消註冊 。

    如果在達到政策的保留閾值後從資源回收筒AMI還原 ,Amazon Data Lifecycle Manager 將不再取消註冊 AMI。當它不再需要時,您必須手動刪除。

下列考量適用於處於錯誤狀態AMI的政策:

  • 對於具有以存留期為基礎的保留排程的政策,AMIs當政策處於 error 狀態時, 設定為過期的政策會無限期保留。您必須AMIs手動取消註冊 。當您重新啟用政策時,Amazon Data Lifecycle Manager 會在其保留期間過期AMIs時繼續取消註冊。

  • 對於具有計數型保留排程的政策,政策會在處於 error 狀態AMIs時停止建立和取消註冊。當您重新啟用政策時,Amazon Data Lifecycle Manager 會繼續建立 AMIs,並在達到保留閾值AMIs時繼續取消註冊。

下列考量適用於 AMI 政策和停用 AMIs

  • 如果您停用 Amazon Data Lifecycle Manager AMI建立的 ,並在達到保留閾值時AMI停用,Amazon Data Lifecycle Manager 將取消註冊AMI並刪除其相關聯的快照。

  • 如果您停用由 Amazon Data Lifecycle Manager AMI建立的 ,且手動封存其相關聯的快照,且這些快照會在達到保留閾值時封存,Amazon Data Lifecycle Manager 將不會刪除這些快照,也不會再對其進行管理。

下列考量適用於AMI政策和AMI取消註冊保護

  • 如果您手動為 Amazon Data Lifecycle Manager 建立AMI的 啟用取消註冊保護,且在達到AMI保留閾值時仍然啟用,Amazon Data Lifecycle Manager 將不再管理該 AMI。如果不再需要基礎快照,您必須手動取消註冊AMI並刪除它。

其他資源

如需詳細資訊,請參閱使用 Amazon Data Lifecycle Manager 儲存部落格自動化 Amazon EBS快照AMI和管理 AWS 。