用这个稍微扯掉我的头发......我正在尝试在公共子网的 VPC 中的 Fargate 上运行 Docker 映像。当我将此作为任务运行时,我得到:
ResourceInitializationError: unable to pull secrets or registry auth: pull
command failed: : signal: killed
Run Code Online (Sandbox Code Playgroud)
如果我通过 NAT 在私有子网中运行任务,它就可以工作。如果我在默认 VPC 的公共子网中运行它,它也可以工作。
我已经检查了这里的建议:
Aws ecs fargate ResourceInitializationError:无法提取机密或注册表身份验证
特别是,我设置了安全组以允许所有流量。还设置了网络 ACL 以允许所有流量。我什至对 IAM 权限非常开放,以尝试消除这种可能性:
任务执行角色有:
{
"Action": [
"kms:*",
"secretsmanager:*",
"ssm:*",
"s3:*",
"ecr:*",
"ecs:*",
"ec2:*"
],
"Resource": "*",
"Effect": "Allow"
}
Run Code Online (Sandbox Code Playgroud)
具有信任关系,允许 ecs-tasks 承担此角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ecs-tasks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Run Code Online (Sandbox Code Playgroud)
安全组是:
sg-093e79ca793d923ab All traffic All traffic …Run Code Online (Sandbox Code Playgroud) 我在运行 AWS 批处理作业时收到以下错误:
ResourceInitializationError:无法提取机密或注册表身份验证:执行资源检索失败:无法检索 ecr 注册表身份验证:服务调用已重试 3 次:RequestError:发送请求失败,原因是:发布 https://api.ecr。 us-east-1.amazonaws.com/:拨打 tcp 54.239.19.155:443:i/o 超时
我正在为 AWS 批量计算环境使用 Fargate 选项。
我的 VPC 包含一个具有“自动分配公共 IPv4 地址”的子网、一个互联网网关和一个匹配的路由表。我认为这可能是我的 VPC 中的问题,因此为了验证这一点,我在 VPC 中启动了一个新的 EC2 实例,并在 EC2 实例中运行curl 到https://api.ecr.us-east-1 .amazonaws.com。卷曲可以毫无问题地连接。
可能是什么问题呢?
我在 ECS 上使用带有机密的 docker 容器,没有问题。移至 fargate 和平台 1.4 以获得 efs 支持后,我开始收到以下错误。
请问有什么帮助吗?
ResourceInitializationError:无法提取机密或注册表身份验证:执行资源检索失败:无法从 asm 检索机密:服务调用已重试 1 次:秘密 arn:aws:secretsmanager:eu-central-1:.... .