问题标签 [ecs-taskdefinition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 是否可以将 xpath 或数组与 AWS ECS 环境变量一起使用?
使用 .NET Core 3.1 并导入 nuget 包https://github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore产生了一个非常规定的 appSettings.json。例如
在 AWS ECS 容器中,我们在需要时覆盖 appsettings,但这是通过与 json 中的路径对应的名称完成的:
如您所见,现在的难点在于获取 Log4NetCore 设置的正确路径:
有没有办法使用 name + valueFrom 中的数组甚至使用 xpath 来处理这个问题?
amazon-web-services - 在任务定义中使用 aws ssm 参数进行私有存储库身份验证的问题
所以我使用 ghcr 作为我的容器注册表并在那里有一些图像。尝试使用 aws ecs 和任务定义通过 terraform 部署这些图像。在任务定义中,我指定了图像 url 和存储库凭据。要访问我的图像,我需要提供我的 ghcr 用户名和令牌。我已将我的 ghcr 用户名和令牌作为 json 对象存储在 aws secret manager 和 aws ssm paraters 中。
如果我使用 aws 密钥管理器密钥 arn 作为凭据参数,它可以工作。如果我在那里使用 aws ssm 参数 arn,则会出错。如何在 credentialsParameter 中使用 ssm 参数,其文本如上 json 对象?无论如何或解决方法可以做到这一点?或者我应该只使用秘密管理器密钥 arn。
amazon-web-services - 如何通过 AWS CLI 命令在 AWS ECS 中创建取消注册/非活动任务定义的修订?
我需要通过创建非活动任务定义的修订版来恢复 ECS 中取消注册/非活动的任务定义。我可以通过 AWS ECS 控制台手动执行此操作。这如何通过使用 AWS CLI 命令行来完成?
amazon-web-services - 无法在 ECS Fargate 中使用 ephemeralStorage 参数注册任务定义
我想在 Fargate 上使用大于默认 21GB 的存储空间在 ECS 中旋转任务。首先,我从门户创建了一个任务定义,没有ephemeralStorage
验证任务运行后,我尝试从 cli 注册一个新版本,并添加ephemeralStorage
来自https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html的参数
我的任务定义如下所示
运行 aws cli
给
如果我通过该Configure via JSON
选项从门户尝试,我会遇到同样的
问题
语法错了吗?该参数不允许操作吗?
amazon-web-services - 将文件功能与 Terraform 工作区一起使用
我有一个正在 Terraform 中创建的资源。在资源中有一个使用 JSON 文件读取值的属性。我正在从一个单独的 JSON 文件中读取这些值,并希望与我的 Terraform 工作区一起声明该属性。以下是我的资源和错误消息。如果可以在文件功能中集成 terraform 工作空间,那么任何有关如何实现这一点的见解都会有所帮助。
地形资源
地形错误
我希望以这种方式处理它,因为我设置了多个 Terraform 工作区,并且希望尽可能保持我的 TF 脚本相同。
容器定义
docker - 启动容器进程导致: exec: "[\"/bin/sh -c\"": stat ["/bin/sh -c": no such file or directory
我正在通过 Docker 和 ECS Fargate 构建和部署应用程序。我在 ECS 任务定义中定义了我的入口点命令。将映像推送到私有 ECR 存储库后,当 ECS Fargate 尝试部署 docker 映像时出现此错误。任何意见将是有益的。下面是 dockerfile、任务定义和错误。
Dockerfile
任务定义
错误
我尝试使用以下命令在本地运行容器:`docker run -it $docker_image /bin/sh
我什至无法执行到容器中。我相信我可能需要在图像中额外安装才能使其正常工作。任何意见将是有益的。
更新
我已经更新了 dockerfile 以使用以下命令更新 init 脚本的权限:chmod +x /tmp/init.sh
我还将任务定义入口点属性更新为["/bin/sh", "-c", "/tmp/init.sh"]
进行这些更改后,我现在看到以下内容:
docker - ECS Fargate 中的 Docker 容器在运行脚本时以代码 0 退出。无法运行容器以访问 /bin/sh
我有一个使用 AWS ECR 中托管的映像的 ECS 集群。dockerfile 正在其入口点属性中执行脚本。我的集群能够启动实例,但随后进入停止状态。它给我的唯一错误如下:
给我的唯一信息是容器停止的原因:
有关如何解决此问题的任何建议都会有所帮助。
我尝试使用以下命令在本地运行容器:docker run -it application /bin/sh
由于某种原因运行容器,我无法使用 /bin/sh。
任何意见,将不胜感激。
amazon-web-services - 如何修复 ECS 上的此错误消息“已停止(VolumeError:代理无法创建任务的卷资源)”
我正在尝试通过启动新任务来更新我的 ECS 集群,但我一直收到此消息
已停止(VolumeError:代理无法创建任务的卷资源)。
有人知道这是什么意思吗?或者我该如何调试?
logging - ECS Fargate - 与日志驱动程序的容器任务通信
我有个问题。我将 AWS ECS Fargate 容器与 awsfirelense 日志驱动程序一起使用。按照这个例子:https ://github.com/aws-samples/amazon-ecs-firelens-examples/blob/mainline/examples/fluent-bit/s3/task-definition.json
这是我的用例,我有大约 150 个实例从不同来源收集事件。我每个实例每秒大约有 500-1000 个事件。我希望每个实例都使用 firelens/fluentbit 将此事件记录到 S3。
- 在延迟方面,我希望 firelens 容器以最有效的方式从应用程序接收日志。
- 我还想知道在将日志转发到其他来源(例如 s3)时应该考虑什么。我应该选择哪种网络模式,为什么?
- 应用程序容器如何将日志发送到 Firelens 容器?它是api请求打开套接字,它使用的是哪个协议?
感谢所有的帮助
amazon-ecs - 不同ecs任务之间的依赖关系
我使用 Spring Cloud 开发了一个使用多个微服务的后端服务器。我有发现服务、配置服务和其他不同的服务。现在出于测试目的,我使用 docker-compose 以正确的顺序运行它们。现在我决定在 AWS 上部署我的应用程序。
我想过使用使用 Fargare 的 ECS 运行它们,但我无法理解如何定义我的任务之间的依赖关系。
我发现这篇文章https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_dependson 它定义了同一任务中容器之间的依赖关系。
但是我不认为我可以只用一项任务来运行我的所有服务,因为分配 vCPU 会很复杂,即使我使用 4vCPU 和巨大的内存,我也不确定我的容器运行得有多好。之后缩放它们将是另一个问题。总体而言,拥有如此巨大的 vCPU 和内存也会产生大量成本。
有没有办法定义 ECS 任务之间的依赖关系?