Настройка экземпляра EC2 (не Fargate) с помощью task_definition. json - PullRequest
0 голосов
/ 05 марта 2020

В настоящее время у нас есть рабочий файл task_definition для AWS экземпляра Fargate.

Мы хотим перейти с Fargate на указанный c AWS EC2-экземпляр, например, Z1d .

Из документации AWS я обнаружил, что необходимо добавить параметр ecs.instance-type. К сожалению, он не указывает, где он должен быть добавлен в файл task_definition. json. В настоящее время у нас есть что-то вроде:

{
  "family": "generic-family",
  "requiresCompatibilities": ["FARGATE"],
  "cpu": "4096",
  "memory": "8192",
  ...
  "containerDefinitions": [
                            {
                              "name": "generic-docker-name",
                              "image": "...",
                            },
                          ]
}

Мы думаем, что это должно быть что-то вроде:

{
  "family": "generic-family",
  "requiresCompatibilities": ["EC2"],
  "ecs.instance-type": "Z1d",
  ...
  "containerDefinitions": [
                            {
                              "name": "generic-docker-name",
                              "image": "...",
                            },
                          ]
}

Или, глядя на некоторую другую документацию :

{
  "family": "generic-family",
  "requiresCompatibilities": ["EC2"],
  ...
  "containerDefinitions": [
                            {
                              "name": "generic-docker-name",
                              "image": "...",
                              "Parameters": {
                                "InstanceTypeParameter" : {
                                  "Type" : "String",
                                  "Default" : "z1d.large",
                                  "AllowedValues" : ["z1d.large"],
                                  "Description" : "..."
                                }
                              }
                            },
                          ]
}

Но, похоже, это не сработает.

Кто-нибудь знает, как это сделать? Или как мне прочитать документацию AWS для этой спецификации c topi c?

1 Ответ

1 голос
/ 05 марта 2020

Добавьте это к вашему определению задачи. json файл на верхнем уровне.

"placementConstraints": [
    {
      "type": "memberOf",
      "expression": "attribute:ecs.instance-type == z1d.large"
    }
  ],

Подробнее об этом можно прочитать здесь: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...