AWS Fargate - 从私人仓库中提取

AWS Fargate - pulling from a private repo

当搜索这个时,它会产生 to do this using ECS。这需要将配置文件放在特定目录中或设置环境变量,这在使用 Fargate 时都是不可能的,因为它是无服务器的。

我觉得我好像在这里遗漏了什么,有人有什么想法吗?

谢谢!

update 自 2018 年起此答案不再有效;您现在可以使用私有注册表。见


我找到了 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definitions

  • The Fargate launch type only supports images in Amazon ECR or public repositories in Docker Hub.

这似乎暗示它目前不受支持。

最简单的解决方法是将图像的副本上传到 ECR。

AWS 刚刚为 Fargate 发布了该功能:您可以将您选择的任何私有注册表与 Fargate 或 EC2 启动类型一起使用。您将首先将您的私有注册表凭证存储在 AWS Secrets Manager 中。然后,您将在注册任务定义时提供机密管理器 ARN 或机密名称作为容器级参数。此功能需要 Fargate 平台版本 1.2.0.

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/private-auth.html

PrivateLinks is now available, for both ECS & ECR

使用 PrivateLinks,您可以在没有 public ip 的情况下注册和操作您的 EC2 实例和 Fargate 到 ECS 集群,还可以从 ECR 访问图像。

需要端点:

EC2 启动类型:

For ECS:

com.amazonaws.region.ecs-agent
com.amazonaws.region.ecs-telemetry
com.amazonaws.region.ecs

For ECR:

com.amazonaws.region.ecr.dkr
com.amazonaws.region.ecr.api
com.amazonaws.region.s3 (S3 gateway endpoint)

Fargate 启动类型:

For ECS: 只需要 ECR 和 cloudwatch 端点(如下所述)

For ECR:

Fargate 启动类型:

com.amazonaws.region.ecr.dkr 
com.amazonaws.region.s3 (S3 gateway endpoint)

CloudWatch

此外,如果您使用 awslogs 驱动程序,您还需要添加 cloudwatch 端点。 com.amazonaws.region.logs.

你可以查看详情@