Amazon ECR でのプライベートイメージレプリケーションの例 - Amazon ECR

Amazon ECR でのプライベートイメージレプリケーションの例

以下の例は、プライベートのイメージレプリケーションの一般的な使用事例を示しています。AWS CLI を使用してレプリケーションを設定する場合は、JSON ファイルを作成する際に JSON のサンプルを開始点として使用できます。AWS Management Consoleを使用してレプリケーションを設定する場合は、[確認して送信] ページでレプリケーションルールを確認すると、同様の JSON が表示されます。

例: 単一の送信先リージョンへのクロスリージョンレプリケーションの設定

次に、単一のレジストリ内でのクロスリージョンレプリケーション設定の例を示します。この例では、アカウント ID が 111122223333 であること、およびこのレプリケーション設定が us-west-2 以外のリージョンで指定されていることを前提とします。

{ "rules": [ { "destinations": [ { "region": "us-west-2", "registryId": "111122223333" } ] } ] }

例: リポジトリフィルターを使用したクロスリージョンレプリケーションの設定

以下は、プレフィックス名の値と一致するリポジトリのクロスリージョンレプリケーションを設定する例です。この例は、アカウント ID が 111122223333 であること、us-west-1 以外のリージョンでこのレプリケーション設定を指定していること、およびプレフィックスが prod のリポジトリがあることを前提としています。

{ "rules": [{ "destinations": [{ "region": "us-west-1", "registryId": "111122223333" }], "repositoryFilters": [{ "filter": "prod", "filterType": "PREFIX_MATCH" }] }] }

例: 複数の送信先リージョンへのクロスリージョンレプリケーションの設定

次に、単一のレジストリ内でのクロスリージョンレプリケーション設定の例を示します。この例では、アカウント ID が 111122223333 であること、およびこのレプリケーション設定が us-west-1 および us-west-2 以外のリージョンで指定されていることを前提とします。

{ "rules": [ { "destinations": [ { "region": "us-west-1", "registryId": "111122223333" }, { "region": "us-west-2", "registryId": "111122223333" } ] } ] }

例: クロスアカウントレプリケーションの設定

次に、レジストリのクロスアカウントレプリケーション設定の例を示します。この例では、444455556666 アカウントと us-west-2 リージョンも対するレプリケーションを設定します。

重要

クロスアカウントレプリケーションを実行するには、ターゲットアカウントで、レプリケーションを許可するレジストリのアクセス許可ポリシーを設定する必要があります。詳細については、「Amazon ECR でのプライベートレジストリアクセス許可」を参照してください。

{ "rules": [ { "destinations": [ { "region": "us-west-2", "registryId": "444455556666" } ] } ] }

例: 1 つの設定内での複数のルールの指定

以下は、レジストリに複数のレプリケーションルールを設定する例です。この例は、プレフィックスが prod のリポジトリを us-west-2 リージョンにレプリケートし、プレフィックスが test のリポジトリを us-east-2 リージョンにレプリケートする 1 つのルールで 111122223333 アカウントのレプリケーションを設定します。レプリケーション設定には最大 10 個のルールを含めることができ、各ルールが最大 25 個の送信先を指定します。

{ "rules": [{ "destinations": [{ "region": "us-west-2", "registryId": "111122223333" }], "repositoryFilters": [{ "filter": "prod", "filterType": "PREFIX_MATCH" }] }, { "destinations": [{ "region": "us-east-2", "registryId": "111122223333" }], "repositoryFilters": [{ "filter": "test", "filterType": "PREFIX_MATCH" }] } ] }