O.r*_*rka 8 timeout amazon-s3 amazon-web-services aws-batch aws-fargate
我不知道如何通过 Fargate 平台运行 AWS Batch。我想做的就是发出 hello world echo 并将文件写入 S3。
我收到以下错误:
CannotPullContainerError: pull image manifest has been retried 5 time(s): failed to resolve ref public.ecr.aws/amazonlinux/amazonlinux:latest: failed to do request: Head "https://public.ecr.aws/v2/amazonlinux/amazonlinux/manifests/latest": dial tcp [ID]: i/o timeout
Run Code Online (Sandbox Code Playgroud)
这是我注册的工作定义:
{
"jobDefinitionName": "fargate-hello-world",
"type": "container",
"containerProperties": {
"image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
"command": [
"echo",
"Hello world",
"|",
"aws",
"s3",
"cp",
"-",
"s3://[BUCKET-NAME]/test.txt"
],
"jobRoleArn": "arn:aws:iam::[ID]:role/ecsTaskExecutionRole",
"executionRoleArn": "arn:aws:iam::[ID]:role/ecsTaskExecutionRole",
"resourceRequirements": [
{
"value": "2.0",
"type": "VCPU"
},
{
"value": "4096",
"type": "MEMORY"
}
]
},
"platformCapabilities": [
"FARGATE"
]
}
Run Code Online (Sandbox Code Playgroud)
我删除了一些细节并替换为[ID]
和[BUCKET-NAME]
。
我也尝试过仅用作amazonlinux:latest
容器路径和完整的 dockerhub 标签docker.io/amazonlinux:latest
我认为这可以解决这个问题,但显然不能: AWS Batch Timeoutconnecting to ECR
任何帮助我朝着正确方向前进的帮助都将非常感激。
Mar*_*k B 13
听起来您要么将 Fargate 任务部署到无法访问 Internet 的私有子网中,要么部署到公共子网但将设置设置assignPublicIp
为false
。在任何一种情况下,Fargate 任务都无法访问 VPC 之外的任何内容,因此它无法连接到任何映像注册表,例如 DockerHub 或 ECR。
如果您要部署到私有子网,则需要将 NAT 网关添加到公有子网中的 VPC,并在私有子网的路由表中添加到 NAT 网关的路由。
如果要部署到公共子网,则需要设置assignPublicIp
为true
。
归档时间: |
|
查看次数: |
4890 次 |
最近记录: |