Amazon ECR でのプライベートイメージレプリケーション
リポジトリのレプリケーションをサポートするために、Amazon ECR プライベートレジストリを構成できます。Amazon ECR は、クロスリージョンレプリケーションおよびクロスアカウントレプリケーションの両方をサポートしています。クロスアカウントレプリケーションを実行するには、ターゲットアカウントで、ソースレジストリからのレプリケーションを許可するレジストリのアクセス許可ポリシーを設定する必要があります。詳しくは、「Amazon ECR でのプライベートレジストリアクセス許可」を参照してください。
プライベートイメージのレプリケーションに関する考慮事項
プライベートイメージのレプリケーションを使用する際には、以下の点を考慮する必要があります。
-
複製されるのは、レプリケーションの構成後にリポジトリにプッシュされたリポジトリコンテンツのみです。リポジトリ内の既存のコンテンツはいずれも複製されません。リポジトリにレプリケーションが構成されると、Amazon ECR は宛先とソースの同期を継続します。
-
レプリケーションが行われても、リポジトリ名はリージョンとアカウント間で同じままです。Amazon ECR はレプリケーション中のリポジトリ名の変更をサポートしていません。
-
レプリケーション用にプライベートレジストリを初めて設定すると、Amazon ECR は、お客様に代わってサービスにリンクされた IAM ロールを作成します。サービスにリンクされた IAM ロールは、レジストリでレポジトリの作成とイメージのレプリケートを行うために必要なアクセス許可を Amazon ECR レプリケーションサービスに付与します。詳細については、「Amazon ECR でのサービスにリンクされたロールの使用」を参照してください。
-
クロスアカウントレプリケーションを実行するには、プライベートレジストリのレプリケート先が、ソースレジストリによるそのイメージのレプリケートを許可する必要があります。これは、プライベートレジストリの許可ポリシーを設定することによって許可できます。詳細については、「Amazon ECR でのプライベートレジストリアクセス許可」を参照してください。
-
プライベートレジストリの許可ポリシーが許可を取り消すように変更された場合でも、以前に許可された進行中のレプリケーションは完了することができます。
-
クロスリージョンレプリケーションを行うには、そのリージョン内またはリージョンに対してレプリケーションアクションが発生する前に、ソースアカウントとターゲットアカウントの両方がリージョンにオプトインされている必要があります。詳細については、「Amazon Web Services 全般のリファレンス」の「AWS リージョンの管理」を参照してください。
-
クロスリージョンレプリケーションは、AWS パーティションの間ではサポートされていません。たとえば、
us-west-2
のリポジトリはcn-north-1
にレプリケートできません。AWS パーティションについて詳しくは、AWS 全般のリファレンスの ARN 形式を参照してください。 -
プライベートレジストリのレプリケーション設定には、すべてのルール (合計で最大 10 個) 全体で最大 25 個の一意のレプリケート先を含めることができます。各ルールには、最大 100 個のフィルターを含めることができます。これは、例えば本番環境やテスト用に使用されるイメージが含まれるリポジトリに対して個別のルールを指定することを可能にします。
-
レプリケーション設定は、リポジトリプレフィックスを指定することによって、プライベートレジストリ内のレプリケートされるリポジトリのフィルタリングをサポートします。例については、「例: リポジトリフィルターを使用したクロスリージョンレプリケーションの設定」を参照してください。
-
レプリケーションアクションは、イメージプッシュごとに 1 回のみ実行されます。たとえば、
us-west-2
からus-east-1
およびus-east-1
からus-east-2
へのクロスリージョンレプリケーションを設定した場合、us-west-2
にプッシュされたイメージはus-east-1
にのみレプリケートされ、us-east-2
には再度レプリk-トされません。この動作は、クロスリージョンおよびクロスアカウントのレプリケーションの両方に適用されます。 -
大部分のイメージは 30 分以内にレプリケートされますが、まれにレプリケーションに時間がかかることがあります。
-
レジストリレプリケーションでは、削除アクションは実行されません。レプリケートされたイメージとリポジトリは、使用しなくなったときに手動で削除できます。
-
IAM ポリシーやライフサイクルポリシーなどのリポジトリポリシーはレプリケートされず、定義されているリポジトリ以外には影響しません。
-
リポジトリ設定はレプリケートされません。タグのイミュータブル性、イメージスキャニング、および KMS 暗号化の設定は、レプリケーションアクションに起因して作成されたすべてのリポジトリでデフォルトで無効になっています。タグのイミュータブル性とイメージスキャニングの設定は、リポジトリの作成後に変更できます。ただし、この設定は、設定が変更された後にプッシュされたイメージにのみ適用されます。
-
リポジトリでタグのイミュータブル性が有効で、既存のイメージと同じタグを使用するイメージをレプリケートする場合、イメージはレプリケートされますが、重複したタグは含まれません。その結果、イメージのタグ付けが解除される可能性があります。