仅允许 ECR 请求的安全组出口规则

Security group egress rule to only permit ECR requests

使用 ECR 存储容器映像以供 ECS 使用时,EC2 实例(或 Fargate 服务)必须具有允许访问(通过 public 互联网)帐户特定存储库 URI 的安全组.

许多组织都有严格的 IP 白名单规则,通常不允许为所有 IP 启用出站端口 443。

没有可用于 ECR 的 VPC 端点 interface/gateway,大概像大多数 AWS 服务一样,它的 IP 地址是弹性的,可以随时更改。

那么如何向安全组添加出口规则以允许通过端口 443 出站访问 ECR URI,而不将其开放给所有 IP 地址?

尽管端点的 IP 地址可以更改,但它只会更改为相当大的 CIDR 块中的另一个 IP 地址。亚马逊将其所有 IP 地址范围发布在一个 .json 文件中,可在此处获取:

https://aws.amazon.com/blogs/aws/aws-ip-ranges-json/

您可以将其缩小到您部署到的区域中的 EC2 和 AMAZON 服务的 IP 地址范围。虽然范围相当大。

打开 DNS (UDP) 53 for 0.0.0.0/0HTTPS 443 for 0.0.0.0/0

您可以使用 AWS PrivateLink 来实现;参见 Amazon ECR interface VPC endpoints (AWS PrivateLink)