从控制台,我正在调用一个提交批处理作业的lambda.批处理作业失败,表示ECS无法承担为执行作业定义而提供的角色.
对于角色,我添加了lambda和ECS服务.
错误消息:
"ECS无法承担为此任务提供的角色'arn:aws:iam :: 749340585813:role/golfnow-invoke-write-progress'.请验证传递的角色是否具有正确的信任关系和权限,以及你的IAM用户有权传递这个角色."
"TrainingJobRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"RoleName": "golfnow-invoke-write-progress",
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"lambda.amazonaws.com",
"ecs.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
},
"Path": "/"
}
}
Run Code Online (Sandbox Code Playgroud)
批处理作业:
"TrainingJob": {
"Type": "AWS::Batch::JobDefinition",
"Properties": {
"Type": "container",
"JobDefinitionName": {
"Fn::Sub": "c12e-golfnow-${Environment}-job"
},
"ContainerProperties": {
"Image": {
"Fn::Join": [
"",
[
"{{ image omitted }}",
{
"Ref": "AWS::Region"
},
".amazonaws.com/amazonlinux:latest"
]
]
},
"Vcpus": 2,
"Memory": 2000, …Run Code Online (Sandbox Code Playgroud) 我在需求实例上使用0-256 m3.medium的计算环境.我的Job定义需要1个CPU和3 GB的Ram,m3.medium有.
AWS Batch Jobs陷入状态的可能原因是RUNNABLE什么?
AWS说:
A job that resides in the queue, has no outstanding dependencies, and is therefore ready to be scheduled to a host. Jobs in this state are started as soon as sufficient resources are available in one of the compute environments that are mapped to the job’s queue. However, jobs can remain in this state indefinitely when sufficient resources are unavailable.
但这不能回答我的问题
我正在使用AWS Batch,我发现根卷的大小对于我的任务来说太低了.
我尝试创建一个新的计算环境/作业队列,但没有任何选项来设置卷大小.我尝试从此处更改启动配置,但AWS Batch不考虑新的启动配置和/或自动扩展组.我可能不得不改变dm.basesize,但目前还不清楚应该在哪里做.
所以,我建立了一个自定义的AMI从Amazon 2 Linux上的500 GB的存储空间,并改变了--storage-opt与dm.basesize=400GB所指示的位置,但是,虽然我的情况下被催生,作业留在RUNNABLE状态下去.我检查了这里定义的可能原因,但是i)"启用自动分配公共IPv4地址"被检查,ii)图像应该是好的(它已经在创建环境时被验证并且可以生成),iii)I这样的实例类型有5个实例的限制(但我甚至无法运行1),iv)我的角色权限应该没问题 - 我成功使用了默认的amazonlinux映像的相同角色,v)资源不足(实例得到)产生,所以我认为这不应该是问题),vi)连接 - 它应该工作,因为自动缩放组显示一个成功的状态.
一种可能的解决方案可能是在运行时附加特定的AWS卷,但它会受到限制,我想找到一个自动解决方案,因为我必须管理多个卷以进行并行执行.
我也尝试通过管道来自s3桶的输入执行任务,分析数据和管道输出到第二个s3桶,但每次都得到Connection Reset by Peer错误,可能是因为任务运行的时间太长(我也设置--cli-read-timeout为0)但它根本没有解决它.
有没有办法为AWS批处理中的作业配置根卷大小?
我有三个 python 脚本 、1.py、2.py和3.py,每个脚本都有 3 个要传递的运行时参数。
所有三个 python 程序都是相互独立的。所有 3 个可能会以批量方式按顺序运行,或者可能会发生任意两个运行,具体取决于某些配置。
手动方法:
自动化的方式是通过 lambda 触发上述过程,并使用某种服务组合来复制上述过程。
在 AWS 中实现此功能的最佳方法是什么?
python amazon-web-services aws-lambda aws-step-functions aws-batch
在aws批处理Job queues仪表板中,它显示24小时内所有作业状态失败和成功的作业计数。是否可以将计数器重置为零?
我想在 AWS Batch 中创建根据用于启动容器的映像而变化的作业。我想在不为每个图像创建不同的作业定义的情况下执行此操作。是否可以使用作业定义参数来参数化图像属性?如果没有,实现此目的的最佳方法是什么,还是我必须在应用程序中动态创建职位定义?
在 AWS Batch 中,我尝试在提交作业时覆盖作业定义中硬编码的图像。但我没有看到任何相关文档。
当我尝试image在作业提交期间添加字段时,我得到:
参数验证失败:输入中的未知参数:“image”,必须是以下之一:jobName、jobQueue、arrayProperties、dependsOn、jobDefinition、parameters、containerOverrides、retryStrategy、timeout
或者
参数验证失败:containerOverrides 中的未知参数:“image”,必须是以下之一:vcpu、内存、命令、环境
我正在AWS ECS中运行Docker容器。当我尝试执行以下命令从容器中读取日志时,我遇到以下错误。
命令:docker logs -f“容器ID”
来自守护程序的错误响应:配置的日志记录驱动程序不支持读取。
欢迎任何可行的解决方案。
我想问 Snakemake 社区是否有人在 AWS Batch 中成功实施了 Snakemake 工作流程。
2018 年 10 月最近发布的第 4 页似乎表明 Snakemake 无法在 AWS 上运行,因为它无法处理资源管理。这是出版物:Tibanna:用于在云上可扩展执行便携式管道的软件- https://www.biorxiv.org/content/early/2019/04/29/440974.full.pdf
是的,同一篇论文确实表明 Snakemake 可以很好地与 Google Cloud Platform (GCP) 配合使用。
但是,Snakemake 文档指出:“Snakemake 4.0 及更高版本支持通过 Kubernetes 在云中执行。这与云提供商无关。” - https://snakemake.readthedocs.io/en/stable/executable.html#cloud-support
因此,我想知道是否有人使用 AWS Batch 实施了 Snakemake。
另外,在这个问题上,有没有人知道任何 github/bitbucket 页面详细说明了 Snakemake 与 GCP 的成功实现。
提前致谢。
我不知道如何通过 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": [ …Run Code Online (Sandbox Code Playgroud) aws-batch ×10
aws-ecs ×2
docker ×2
amazon-ecs ×1
amazon-s3 ×1
aws-fargate ×1
aws-lambda ×1
python ×1
size ×1
snakemake ×1
timeout ×1
volume ×1