amazon-web-services - 为什么我无法创建附加推理加速器的 ECS 任务定义?
问题描述
我想尝试将推理加速器附加到 ECS 任务。我创建了以下 Cloudformation 模板:
{
"Resources": {
"Task": {
"Type" : "AWS::ECS::TaskDefinition",
"Properties" : {
"ContainerDefinitions" : [
{
"Name": "TestAccelerated",
"Image": "xxxxxxxxxxxxx.dkr.ecr.eu-central-1.amazonaws.com/myimage",
"Essential": true,
"ResourceRequirements": [{
"Type": "InferenceAccelerator",
"Value": "eia-device-1"
}]
}
],
"Cpu" : "256",
"ExecutionRoleArn" : "arn:aws:iam::xxxxxxxxxxxxx:role/ecsTaskExecutionRole",
"Family" : "TestService",
"InferenceAccelerators" : [ {
"DeviceName": "eia-device-1",
"DeviceType": "eia1.medium"
} ],
"Memory" : "512",
"NetworkMode" : "awsvpc",
"RequiresCompatibilities" : [ "FARGATE" ],
"TaskRoleArn" : "arn:aws:iam::xxxxxxxxxxxxx:role/ecsTaskExecutionRole"
}
}
}
}
当我尝试创建堆栈时,cloudformation 失败并出现以下错误:
Invalid request provided: Create TaskDefinition: Unsupported field 'inferenceAccelerators'
但是有两件事对我来说似乎很奇怪:
- 我使用的字段有一个大写的 I,而错误用小写的 i 提到它
- 根据文档,该字段 InferenceAccelerators 应该是受支持的字段
我做错了什么,这是一个错误,还是由于某种原因,任务定义中真的不支持推理加速器?
解决方案
可能是因为您正在使用FARGATE
并且 Fargate不支持 GPU。但支持已经在 AWS 路线图上:
您可以尝试为 EC2 启动类型而不是 Fargate 重新定义您的任务定义和 ecs 服务。
更新
Amazon Elastic Inference仅适用于 EC2 类型的 ECS 任务:
使用使用EC2 启动类型的 Linux 容器和任务时支持此功能。
推荐阅读
- python - 允许 SlugRelatedField 多对多关系中的重复项
- ballerina - 一种返回芭蕾舞女演员中代码位置的方法
- google-sheets - 谷歌表格查询 - 结合两组数据
- c# - 自动文件移动器 - '文件正在被另一个进程使用'
- python - 字符串中一个短语之前的前面单词的数量
- java - 休眠与 IBM DB2 有方言问题
- rest - 如何在 sonatype nexus3 api 上设置页面大小?
- python - 生成一个随机数
- javascript - Javascript - 如何创建类似于 html 模式属性的正则表达式
- python - 在终端中构建张量流时遇到错误