View a markdown version of this page

複寫回填 - Amazon ECR

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

複寫回填

您可以將 Amazon ECR 私有登錄檔中預先存在的影像複寫到設定的複寫目的地。根據預設,複寫僅適用於套用複寫組態後推送的映像。複寫回填可讓您複寫在設定複寫之前推送的映像。

複寫回填的運作方式

當您開始複寫回填時,您可以指定由區域和登錄檔 ID 組成的單一目的地。Amazon ECR 會評估您現有的複寫組態,以判斷登錄檔中的哪些映像符合回填至指定目的地的資格。只有符合您目前複寫組態規則的影像才會包含在回填中。

每個複寫回填都以單一目的地為目標。若要將映像回填至多個目的地,請為每個目的地啟動個別的複寫回填。每個項目都會以replicationBackfillId您用來監控進度、檢視結果,並視需要停止的唯一 來識別。

複寫回填生命週期

複寫回填會轉換下列狀態:

  • PREPARING:Amazon ECR 正在識別您登錄檔中的合格映像。

  • IN_PROGRESS:Amazon ECR 正在主動將映像複寫到目的地。

  • COMPLETE:已成功複寫所有合格的映像。

  • FAILED:如果 50% 或更多的基礎複寫失敗,複寫回填會自動失敗。此閾值只會在處理至少 100 個複寫時評估。

  • STOPPING:已請求停止,Amazon ECR 正在等待傳輸中複寫完成。

  • STOPPED:您已停止複寫回填,且所有進行中的複寫都已結束。

注意

您只能在複寫回填處於 PREPARING或 IN_PROGRESS 狀態時停止複寫回填。

複寫回填的考量事項

使用複寫回填時,應考慮下列事項。

  • 回填中只會包含符合指定目的地目前複寫組態的影像。如果您需要將映像回填至不在複寫組態中的目的地,您必須先將該目的地新增至複寫規則。

  • 每個登錄檔最多可以同時執行 10 個複寫回填。如果您啟動更多,Amazon ECR 會傳回LimitExceededException錯誤。

  • 對於指定的目的地區域,您一次只能有一個作用中的複寫回填。對相同目的地區域的第二個請求會傳回ReplicationBackfillInProgressException錯誤。

  • Amazon ECR 會在完成後將複寫回填保留在終端狀態 (FAILED、 COMPLETE或 STOPPED) 90 天。在此期間,它們會在ListReplicationBackfills回應中保持可見。

  • 停止複寫回填不會復原已複寫的影像。這些映像會保留在目的地登錄檔中。

  • 複寫回填使用與 Amazon ECR 在您第一次為私有登錄檔設定複寫時建立的相同服務連結角色。

  • 大多數登錄檔預期會在一小時內完成回填。不過,包含大量資料的登錄檔可能需要數小時甚至數天才能完全回填。

  • 複寫回填會略過其來源儲存庫已刪除的映像。這些影像會在回填結果中顯示 FAILED 狀態。

  • 當複寫回填達到終端機狀態時,Amazon ECR 會傳送 EventBridge 事件。如需詳細資訊,請參閱來自 Amazon ECR 的範例事件。

開始複寫回填

  1. 在 https://console.aws.amazon.com/ecr/repositories 開啟 Amazon ECR 主控台。

  2. 從導覽列中,選擇要回填的來源登錄檔區域。

  3. 在導覽窗格中,選擇 Private registry (私有登錄檔)。

  4. 在私有登錄頁面上,選擇設定,然後選擇複寫組態下的編輯。

  5. 在複寫頁面上,選擇回填任務索引標籤。

  6. 選擇開始回填任務。

  7. 選擇最多 10 個您要回填的目的地。

  8. 選擇開始回填任務。

  • 開始複寫回填。

    aws ecr start-replication-backfill \ --region us-west-2 \ --registry-id aws_account_id \ --destination region=destination_region,registryId=destination_aws_account_id

監控複寫回填進度並檢視結果

  1. 在 https://console.aws.amazon.com/ecr/repositories 開啟 Amazon ECR 主控台。

  2. 從導覽列中,選擇包含複寫回填的區域。

  3. 在導覽窗格中,選擇 Private registry (私有登錄檔)。

  4. 在私有登錄頁面上,選擇設定,然後選擇複寫組態下的編輯。

  5. 在複寫頁面上,選擇回填任務索引標籤來監控進度,並檢視複寫回填的結果。

  1. 若要監控進度或檢視複寫回填的結果,請執行下列命令。當複寫回填進行中時,回應只會包含進度計數。每個影像結果和分頁只有在完成後才能使用。

    aws ecr describe-replication-backfill-results \ --region us-west-2 \ --registry-id aws_account_id \ --replication-backfill-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --max-results 1000 \ --result-status-filter COMPLETE
  2. 若要檢視所有複寫回填的摘要資訊,請執行下列命令。

    aws ecr list-replication-backfills \ --region us-west-2 \ --registry-id aws_account_id \ --max-results 50

停止複寫回填

  1. 在 https://console.aws.amazon.com/ecr/repositories 開啟 Amazon ECR 主控台。

  2. 從導覽列中,選擇包含複寫回填的區域。

  3. 在導覽窗格中,選擇 Private registry (私有登錄檔)。

  4. 在私有登錄頁面上,選擇設定,然後選擇複寫組態下的編輯。

  5. 在複寫頁面上,選擇回填任務索引標籤。

  6. 選擇您要停止的複寫回填。

  7. 選擇停止回填任務。

  • 若要停止複寫回填,請執行下列命令。

    aws ecr stop-replication-backfill \ --region us-west-2 \ --registry-id aws_account_id \ --replication-backfill-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111