翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
プライベートイメージレプリケーションの設定
プライベートレジストリのレプリケーション設定は、リージョンごとに個別に設定されます。AWS Management Console または AWS CLI のいずれかを使用して、プライベートレジストリのレプリケーションを設定するには、次の手順を使用します。レプリケーションの一般的な使用方法の例については、プライベートイメージのレプリケーション例 を参照してください。
Amazon ECR コンソール (https://console.aws.amazon.com/ecr/repositories
) を開きます。 -
ナビゲーションバーから、レジストリのレプリケーション設定を構成するリージョンを選択します。
-
ナビゲーションペインで、[Private registry] (プライベートレジストリ) を選択します。
-
[Private registry] (プライベートレジストリ) ページの [Replication] (レプリケーション) セクションで、[Edit] (編集) をクリックします。
-
[Replication] (レプリケーション) ページで [Add replication rule] (レプリケーションルールを追加) をクリックします。
-
[Destination types] (送信先タイプ) ページで、クロスリージョンレプリケーションもしくはクロスアカウントレプリケーションのいずれか、またはそれら両方を有効にしてから、[Next] (次へ) をクリックします。
-
クロスリージョンレプリケーションを有効にした場合は、[Configure destination regions] (送信先リージョンを設定) で、1 つ、または複数の [Destination regions] (送信先リージョン) を選択し、[Next] (次へ) をクリックします。
-
クロスアカウントレプリケーションを有効にした場合は、[Cross-account replication] (クロスアカウントレプリケーション) で、レジストリのクロスアカウントレプリケーション設定を選択します。[Destination account] (送信先アカウント) には送信先アカウントのアカウント ID を入力し、レプリケート先にする 1 つ、または複数の [Destination regions] (送信先リージョン) を選択します。レプリケーションの送信先として追加のアカウントを設定するには、[Destination account +] (送信先アカウント +) をクリックします。
重要
クロスアカウントレプリケーションを実行するには、ターゲットアカウントで、レプリケーションを許可するレジストリのアクセス許可ポリシーを設定する必要があります。詳細については、「プライベートレジストリの許可」を参照してください。
-
(オプション) [Add filters] (フィルターを追加) ページで、レプリケーションルールに対して 1 つ、または複数のフィルターを指定してから、[Add] (追加) をクリックします。レプリケーションアクションに関連付けるフィルターごとに、このステップを繰り返します。フィルターはリポジトリ名のプレフィックスとして指定する必要があります。フィルターを追加しない場合、すべてのリポジトリの内容が複製されます。[Next] (次へ) をクリックすると、すべてのフィルターが追加されます。
-
[Review and submit] (確認して送信) ページでレプリケーションルールの設定を確認してから、[Submit rule] (ルールを送信) をクリックします。
-
レジストリ用に定義するレプリケーションルールが含まれた JSON ファイルを作成します。レプリケーション設定には最大 10 個のルールを含めることができ、各ルールが最大 25 個の送信先と 100 個のフィルターを指定します。独自のアカウント内でクロスリージョンレプリケーションを設定するには、独自のアカウント ID を指定します。その他の例については、「プライベートイメージのレプリケーション例」を参照してください。
{ "rules": [{ "destinations": [{ "region": "
destination_region
", "registryId": "destination_accountId
" }], "repositoryFilters": [{ "filter": "repository_prefix_name
", "filterType": "PREFIX_MATCH" }] }] } -
レジストリのレプリケーション設定を作成します。
aws ecr put-replication-configuration \ --replication-configuration file://
replication-settings.json
\ --regionus-west-2
-
レジストリ設定を確認します。
aws ecr describe-registry \ --region
us-west-2
プライベートイメージのレプリケーション例
以下の例は、プライベートのイメージレプリケーションの一般的な使用事例を示しています。
例: 単一の送信先リージョンへのクロスリージョンレプリケーションの設定
次に、単一のレジストリ内でのクロスリージョンレプリケーション設定の例を示します。この例では、アカウント 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
リージョンも対するレプリケーションを設定します。
重要
クロスアカウントレプリケーションを実行するには、ターゲットアカウントで、レプリケーションを許可するレジストリのアクセス許可ポリシーを設定する必要があります。詳細については、「プライベートレジストリの許可」を参照してください。
{ "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" }] } ] }