如何通过CloudFormation为AWS ECR跨区域复制配置前缀匹配过滤规则?
使用CloudFormation配置AWS ECR跨区域复制(含过滤规则)
无过滤规则(复制所有镜像)的配置
如果需要复制源仓库的所有镜像到目标区域,CloudFormation模板可参考如下写法:
AWSTemplateFormatVersion: '2010-09-09' Resources: SourceECRRepository: Type: AWS::ECR::Repository Properties: RepositoryName: "my-source-repo" ReplicationConfiguration: Rules: - Destinations: - Region: "us-west-2" AccountId: !Ref AWS::AccountId # 同账户复制可省略该字段 # 不配置Filters则默认复制所有镜像
带PREFIX_MATCH过滤规则的配置
如果仅需复制特定前缀的镜像(比如标签以prod-开头的镜像),可在复制规则中添加Filters字段,指定PREFIX_MATCH类型的过滤条件:
AWSTemplateFormatVersion: '2010-09-09' Resources: SourceECRRepository: Type: AWS::ECR::Repository Properties: RepositoryName: "my-source-repo" ReplicationConfiguration: Rules: - Destinations: - Region: "eu-central-1" AccountId: "123456789012" # 跨账户复制需指定目标账户ID Filters: - Type: "PREFIX_MATCH" Value: "prod-" # 仅复制标签前缀为prod-的镜像
关键参数说明
- Destinations: 指定复制的目标区域和账户,同账户复制时可省略
AccountId字段。 - Filters: 数组类型,支持
PREFIX_MATCH(按镜像标签前缀匹配)和TAG_PUSH(仅复制新推送的镜像)两种类型,这里通过PREFIX_MATCH筛选特定镜像。 - 目标区域的ECR仓库需与源仓库同名,且需提前创建(或通过跨区域CloudFormation栈同步创建)。
内容的提问来源于stack exchange,提问作者santosh verma
相关产品推荐
相关产品推荐

