Azure Container Registry の論理的な削除ポリシーを使って削除された成果物を回復する (プレビュー)

Azure Container Registry (ACR) を使用すると、論理的な削除ポリシーを有効にして、設定された保持期間に誤って削除された成果物を回復できます。

Diagram of soft delete artifacts lifecycle.

論理的な削除ポリシーの側面

論理的な削除ポリシーはいつでも有効または無効にできます。 ACR で論理的な削除ポリシーを有効にすると、削除された成果物は、保持期間を設定された論理的に削除された成果物として管理されます。 これにより、論理的に削除された成果物を一覧表示、フィルター処理、復元できます。

保持期間

論理的に削除された成果物の既定の保持期間は 7 日間ですが、保持期間の値は 1 から 90 日間に設定できます。 アイテム保持ポリシーの値は設定、更新、変更できます。 論理的に削除された成果物は、保持期間が完了すると期限切れになります。

自動消去

自動削除は 24 時間ごとに実行され、論理的に削除された成果物を完全に削除する前に、保持日数の現在の値が常に考慮されます。 たとえば、成果物を論理的に削除してから 5 日後に、保持日数の値を 7 日から 14 日に変更した場合、成果物は最初の論理的な削除から 14 日後になって期限切れになります。

Diagram of soft delete artifacts lifecycle.

可用性と料金の情報

この機能は、すべてのサービス レベル (SKU とも呼ばれます) で使用できます。 レジストリ サービス レベルについては、Azure Container Registry のサービス レベルに関するページをご覧ください。

注意

論理的に削除された成果物は、ストレージのアクティブな SKU の価格に従って課金されます。

プレビューの制限事項

重要

論理的な削除ポリシーは現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

  • 現在、ACR では、論理的に削除された成果物の手動削除はサポートされていません。
  • 論理的な削除ポリシーでは、geo レプリケートされたレジストリはサポートされていません。
  • ACR では、アイテム保持ポリシーと論理的な削除ポリシーの両方を有効にすることはできません。 「タグなしマニフェストの保持ポリシーの設定」を参照してください。

前提条件

  • ユーザーが論理的な削除操作を実行するには、次のアクセス許可 (レジストリ レベル) が必要です。
権限 説明
Microsoft.ContainerRegistry/registries/deleted/read 論理的に削除された成果物を一覧表示する
Microsoft.ContainerRegistry/registries/deleted/restore/action 論理的に削除された成果物を復元する
  • この記事のサンプル コマンドは、Azure Cloud Shell または Azure CLI のローカル インストールを使用して実行できます。 これをローカルで使用したい場合は、バージョン 2.0.74 以降が必要です。 az --version を実行してバージョンを確認します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。

  • Azure portal にサインインします。

レジストリの論理的な削除ポリシーを有効にする - CLI

  1. 保持期間を 1 日から 90 日に設定して、特定 MyRegistry の ACR の論理的な削除ポリシーを更新します。

    az acr config soft-delete update -r MyRegistry --days 7 --status <enabled/disabled>
    
  2. 特定 MyRegistry の ACR に対して構成された論理的な削除ポリシーを表示します。

    az acr config soft-delete show -r MyRegistry 
    

論理的な削除の成果物を一覧表示する - CLI

この az acr repository list-deleted コマンドを使用すると、論理的に削除されたリポジトリのフェッチと一覧表示が可能になります。 詳細については、--help をご使用ください。

  1. 特定の MyRegistry ACR 内の論理的に削除されたリポジトリを一覧表示します。

    az acr repository list-deleted -n MyRegistry
    

この az acr manifest list-deleted コマンドを使用すると、論理的な削除マニフェストのフェッチと一覧表示が可能になります。

  1. 特定の MyRegistry ACR 内の hello-world リポジトリの論理的に削除されたマニフェストを一覧表示します。

    az acr manifest list-deleted -r MyRegistry -n hello-world
    

この az acr manifest list-deleted-tags コマンドを使用すると、論理的な削除タグのフェッチと一覧表示が可能になります。

  1. 特定の MyRegistry ACR 内の hello-world リポジトリの論理的に削除されたタグを一覧表示します。

    az acr manifest list-deleted-tags -r MyRegistry -n hello-world
    
  2. hello-world特定latestMyRegistryACR 内のリポジトリの論理的に削除されたタグを一覧表示します。

    az acr manifest list-deleted-tags -r MyRegistry -n hello-world:latest
    

論理的に削除された成果物を復元する - CLI

az acr manifest restoreコマンドは、タグとダイジェストによって 1 つのイメージを復元します。

  1. 特定の MyRegistry ACR のhello-worldタグとダイジェストsha256:abc123によってリポジトリlatestのイメージを復元します。

    az acr manifest restore -r MyRegistry -n hello-world:latest -d sha256:abc123
    
  2. 特定の ACR 内のlatestタグによってMyRegistryhello-worldリポジトリの最後に削除されたマニフェストを復元します。

    az acr manifest restore -r MyRegistry -n hello-world:latest
    

強制復元では、リポジトリ内の同じ名前の既存のタグが上書きされます。 強制復元中に論理的な削除ポリシーが有効になっている場合。 上書きされたタグは論理的に削除されます。 特定の引数を使用して復元を --force, -f強制できます。

  1. hello-world特定のlatest ACR のタグとダイジェストによってsha256:abc123リポジトリMyRegistryのイメージを復元します。

    az acr manifest restore -r MyRegistry -n hello-world:latest -d sha256:abc123 -f
    

重要

マニフェスト リストを復元しても、基になる論理的に削除されたマニフェストは再帰的に復元されません。 論理的に削除された ORAS アーティファクトを復元する場合、サブジェクトを復元しても参照元チェーンは再帰的に復元されません。 また、最初にサブジェクトを復元する必要があり、次に参照元マニフェストのみが復元を許可されます。 それ以外の場合は、例外がスローされます。

レジストリの論理的な削除ポリシーを有効にする - ポータル

Azure portal でレジストリの論理的な削除ポリシーを有効にすることもできます。

  1. 自分の Azure コンテナー レジストリに移動します。
  2. [概要] タブで、 論理的な削除 (プレビュー) の状態を確認します。
  3. [状態] が [無効] の場合は、[更新] を選択します。

Screenshot to view the soft delete policy.

  1. [論理的な削除を有効にする] チェック ボックスをオンにします。
  2. 論理的に削除された成果物を保持する日数を 0 日から 90 日の間で選びます。
  3. 保存を選択して、変更を保存します。

Screenshot to enable soft delete policy.

論理的に削除された成果物を復元する - ポータル

  1. 自分の Azure コンテナー レジストリに移動します。
  2. [メニュー] セクションで、[サービスの選択] と [リポジトリの選択] を選択します
  3. リポジトリで、任意のリポジトリを選択します。
  4. [削除された成果物の管理] を選ぶと、論理的に削除されたすべての成果物が表示されます。

Note

論理的な削除ポリシーを有効にし、マニフェストのタグ解除や成果物の削除などのアクションを実行すると、リテンション期間の日数が経過する前に、マネージド削除成果物でこれらのタグと成果物を見つけることができます。

Screenshot of manage deleted artifacts.

  1. 復元する必要がある削除された成果物をフィルター処理します。
  2. 成果物を選び、右側の列の [復元] を選びます。
  3. [成果物の復元] ウィンドウが表示されます。

Screenshot to restore soft delete artifacts.

  1. 復元するタグを選択します。ここでは、追加のタグを選択して回復するオプションがあります。
  2. [復元] を選びます。

Screenshot of restore window.

論理的に削除されたリポジトリからの復元 - ポータル

  1. 自分の Azure Container Registry に移動します。
  2. [メニュー]セクションの [サービス] を選択し、
  3. [サービス] タブの [リポジトリ] を選択します。
  4. [リポジトリ] タブで、[削除されたリポジトリの管理] を選びます。

Screenshot of manage delete repositories.

  1. 論理的に削除されたリポジトリで 削除されたリポジトリをフィルター処理します (プレビュー)。

Screenshot of soft delete repositories.

  1. 削除されたリポジトリを選択し、[削除された成果物の管理] で 削除された成果物をフィルター処理します。
  2. 成果物を選び、右側の列の [復元] を選びます。
  3. [成果物の復元] ウィンドウが表示されます。

Screenshot to restore soft delete repositories.

  1. 復元するタグを選びます。ここでは、他のタグを選んで回復するオプションがあります。
  2. [復元] を選びます。

Screenshot of restore window for soft delete repositories.

重要

ソース リソースとターゲット リソースの両方で論理的に削除されたイメージのインポートがブロックされます。 論理的に削除されたリポジトリにイメージをプッシュすると、論理的に削除されたリポジトリが復元されます。 論理的に削除されたイメージと同じマニフェスト ダイジェストを共有するイメージをプッシュすることはできません。 代わりに、論理的に削除されたイメージを復元します。

次のステップ