Spec-Zone.ru › AWS CLI v2

[ aws . ecs ]

create-cluster

Описание

Создаёт новый кластер Amazon ECS. По умолчанию при запуске первого контейнерного экземпляра вашему аккаунту предоставляется кластер по умолчанию. Однако вы можете создать свой собственный кластер с уникальным именем.

Примечание

При вызове операции CreateCluster API Amazon ECS пытается создать сервис-связанную роль Amazon ECS для вашего аккаунта. Это необходимо для управления требуемыми ресурсами в других сервисах Amazon Web Services от вашего имени. Однако, если у пользователя, совершающего вызов, нет разрешений на создание сервис-связанной роли, она не создаётся. Дополнительную информацию см. в разделе Использование сервис-связанных ролей для Amazon ECS в руководстве для разработчиков Amazon Elastic Container Service.

См. также: Документация API AWS

Синтаксис

  create-cluster
[--cluster-name <value>]
[--tags <value>]
[--settings <value>]
[--configuration <value>]
[--capacity-providers <value>]
[--default-capacity-provider-strategy <value>]
[--service-connect-defaults <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--cluster-name (строка)

Имя вашего кластера. Если вы не укажете имя для вашего кластера, вы создадите кластер с именем default . Разрешается до 255 букв (строчные и прописные), цифр, символов подчеркивания и дефисов.

--tags (список)

Метаданные, которые вы применяете к кластеру, чтобы помочь в категоризации и организации. Каждый тег состоит из ключа и необязательного значения. Вы определяете оба.

Применяются следующие базовые ограничения к тегам:

  • Максимальное количество тегов на ресурс - 50
  • Для каждого ресурса каждый ключ тега должен быть уникальным, и каждый ключ тега может иметь только одно значение.
  • Максимальная длина ключа - 128 символов Юникода в UTF-8
  • Максимальная длина значения - 256 символов Юникода в UTF-8
  • Если ваша схема тегов используется в нескольких сервисах и ресурсах, помните, что другие сервисы могут иметь ограничения на разрешенные символы. В общем, разрешены буквы, цифры и пробелы, представимые в UTF-8, а также следующие символы: + - = . _ : / @.
  • Ключи и значения тегов чувствительны к регистру.
  • Не используйте aws: , AWS: или любую комбинацию таких префиксов, как заглавные или строчные, для ключей или значений, так как они зарезервированы для использования Amazon Web Services. Вы не можете редактировать или удалять ключи или значения тегов с этим префиксом. Теги с этим префиксом не учитываются в лимите тегов на ресурс.

(структура)

Метаданные, которые вы применяете к ресурсу, чтобы помочь в категоризации и организации. Каждый тег состоит из ключа и необязательного значения. Вы определяете их.

Применяются следующие базовые ограничения к тегам:

  • Максимальное количество тегов на ресурс - 50
  • Для каждого ресурса каждый ключ тега должен быть уникальным, и каждый ключ тега может иметь только одно значение.
  • Максимальная длина ключа - 128 символов Юникода в UTF-8
  • Максимальная длина значения - 256 символов Юникода в UTF-8
  • Если ваша схема тегов используется в нескольких сервисах и ресурсах, помните, что другие сервисы могут иметь ограничения на разрешенные символы. В общем, разрешены буквы, цифры и пробелы, представимые в UTF-8, а также следующие символы: + - = . _ : / @.
  • Ключи и значения тегов чувствительны к регистру.
  • Не используйте aws: , AWS: или любую комбинацию таких префиксов, как заглавные или строчные, для ключей или значений, так как они зарезервированы для использования Amazon Web Services. Вы не можете редактировать или удалять ключи или значения тегов с этим префиксом. Теги с этим префиксом не учитываются в лимите тегов на ресурс.

key -> (строка)

Одна часть пары ключ-значение, составляющей тег. Ключ — это общий ярлык, который действует как категория для более конкретных значений тегов.

value -> (строка)

Необязательная часть пары ключ-значение, составляющей тег. Значение выступает в качестве описателя в рамках категории тега (ключ).

Сокращенный синтаксис:

key=string,value=string ...

Синтаксис JSON:

[
  {
    "key": "string",
    "value": "string"
  }
  ...
]

--settings (список)

Настройки для использования при создании кластера. Этот параметр используется для включения CloudWatch Container Insights для кластера. Если это значение указано, оно переопределяет значение containerInsights, заданное с помощью PutAccountSetting или PutAccountSettingDefault.

(структура)

Настройки для использования при создании кластера. Этот параметр используется для включения CloudWatch Container Insights с расширенной наблюдаемостью или CloudWatch Container Insights для кластера.

Container Insights с расширенной наблюдаемостью предоставляет все метрики Container Insights, а также дополнительные метрики задач и контейнеров. Эта версия поддерживает расширенную наблюдаемость для кластеров Amazon ECS, использующих типы запуска Amazon EC2 и Fargate. После настройки Container Insights с расширенной наблюдаемостью в Amazon ECS Container Insights автоматически собирает подробные телеметрические данные инфраструктуры от уровня кластера до уровня контейнера в вашей среде и отображает эти критически важные данные производительности в подготовленных панелях мониторинга, что упрощает настройку наблюдаемости.

Для получения дополнительной информации см. Наблюдение за контейнерами Amazon ECS с помощью Container Insights с расширенной наблюдаемостью в руководстве разработчика Amazon Elastic Container Service.

name -> (строка)

Имя настройки кластера. Значение равно containerInsights.

value -> (строка)

Значение, устанавливаемое для настройки кластера. Поддерживаемые значения — enhanced, enabled и disabled.

Чтобы использовать Container Insights с расширенной наблюдаемостью, установите настройку учетной записи containerInsights в enhanced.

Чтобы использовать Container Insights, установите настройку учетной записи containerInsights в enabled.

Если значение кластера задано, оно переопределит значение containerInsights, заданное с помощью PutAccountSetting или PutAccountSettingDefault.

Сокращенный синтаксис:

name=string,value=string ...

Синтаксис JSON:

[
  {
    "name": "containerInsights",
    "value": "string"
  }
  ...
]

--configuration (структура)

Конфигурация команды execute для кластера.

executeCommandConfiguration -> (структура)

Подробные сведения о конфигурации команды execute.

kmsKeyId -> (строка)

Укажите идентификатор ключа Key Management Service для шифрования данных между локальным клиентом и контейнером.

logging -> (строка)

Настройка журнала для перенаправления результатов выполнения команды. Доступны следующие настройки журналов.

  • NONE : Сессия выполнения команды не регистрируется.
  • DEFAULT : Используется конфигурация awslogs в определении задачи. Если параметр логгирования не указан, он по умолчанию устанавливается в это значение. Если в определении задачи не настроено драйвера логгирования awslogs, вывод не будет регистрироваться.
  • OVERRIDE : Укажите подробные данные логгирования как часть logConfiguration. Если указан параметр логгирования OVERRIDE, необходимо указать logConfiguration.

logConfiguration -> (структура)

Конфигурация журнала для результатов действий команды execute. Журналы могут отправляться в CloudWatch Logs или в ведро Amazon S3. Когда указан logging=OVERRIDE, необходимо указать logConfiguration.

cloudWatchLogGroupName -> (строка)

Имя группы журнала CloudWatch для отправки журналов.

Примечание

Группа журнала CloudWatch должна быть создана.

cloudWatchEncryptionEnabled -> (булево)

Определяет, использовать ли шифрование в журналах CloudWatch. Если не указано, шифрование отключено.

s3BucketName -> (строка)

Имя ведра S3 для отправки журналов.

Примечание

Ведро S3 должно быть создано.

s3EncryptionEnabled -> (булево)

Определяет, использовать ли шифрование в журналах S3. Если не указано, шифрование не используется.

s3KeyPrefix -> (строка)

Необязательная папка в ведре S3 для размещения журналов.

managedStorageConfiguration -> (структура)

Подробные сведения о конфигурации управляемого хранилища.

kmsKeyId -> (строка)

Укажите идентификатор ключа Key Management Service для шифрования управляемого хранилища Amazon ECS.

При указании kmsKeyId Amazon ECS использует ключ для шифрования томов, управляемых Amazon ECS, которые подключены к задачам в кластере. Следующие тома данных управляются Amazon ECS: Amazon EBS. Дополнительную информацию о шифровании томов Amazon EBS, подключенных к задачам Amazon ECS, см. в руководстве разработчика Amazon Elastic Container Service.

Ключ должен быть ключом одной области.

fargateEphemeralStorageKmsKeyId -> (строка)

Укажите идентификатор ключа Key Management Service для временного хранилища Fargate.

При указании fargateEphemeralStorageKmsKeyId Amazon Web Services Fargate использует ключ для шифрования данных во время работы в временном хранилище. Дополнительную информацию о шифровании временного хранилища Fargate см. в руководстве разработчика Amazon Elastic Container Service.

Ключ должен быть ключом одной области.

Сокращенный синтаксис:

executeCommandConfiguration={kmsKeyId=string,logging=string,logConfiguration={cloudWatchLogGroupName=string,cloudWatchEncryptionEnabled=boolean,s3BucketName=string,s3EncryptionEnabled=boolean,s3KeyPrefix=string}},managedStorageConfiguration={kmsKeyId=string,fargateEphemeralStorageKmsKeyId=string}

Синтаксис JSON:

{
  "executeCommandConfiguration": {
    "kmsKeyId": "string",
    "logging": "NONE"|"DEFAULT"|"OVERRIDE",
    "logConfiguration": {
      "cloudWatchLogGroupName": "string",
      "cloudWatchEncryptionEnabled": true|false,
      "s3BucketName": "string",
      "s3EncryptionEnabled": true|false,
      "s3KeyPrefix": "string"
    }
  },
  "managedStorageConfiguration": {
    "kmsKeyId": "string",
    "fargateEphemeralStorageKmsKeyId": "string"
  }
}

--capacity-providers (список)

Короткое имя одного или нескольких поставщиков ресурсов для объединения с кластером. Поставщик ресурсов должен быть объединен с кластером, прежде чем он сможет быть включен в стратегию поставщика ресурсов по умолчанию кластера или использоваться в стратегии поставщика ресурсов при вызове действий CreateService или RunTask.

При указании поставщика ресурсов, использующего группу Auto Scaling, поставщик ресурсов должен быть создан, но не должен быть объединен с другим кластером. Новые поставщики ресурсов группы Auto Scaling могут быть созданы с помощью операции CreateCapacityProvider API.

Чтобы использовать поставщика ресурсов Fargate, укажите либо поставщика ресурсов FARGATE, либо FARGATE_SPOT. Поставщики ресурсов Fargate доступны для всех учетных записей и должны быть объединены с кластером для использования.

Операция PutCapacityProvider API используется для обновления списка доступных поставщиков ресурсов для кластера после его создания.

(строка)

Синтаксис:

"string" "string" ...

--default-capacity-provider-strategy (список)

Стратегия поставщика емкости, которая должна быть установлена по умолчанию для кластера. После того, как стратегия поставщика емкости по умолчанию будет установлена для кластера, при вызове API CreateService или RunTask без указанной стратегии поставщика емкости или типа запуска будет использоваться стратегия поставщика емкости по умолчанию для кластера.

Если стратегия поставщика емкости по умолчанию для кластера не была определена при его создании, она может быть определена позже с помощью операции API PutClusterCapacityProviders.

(структура)

Подробности стратегии поставщика емкости. Стратегия поставщика емкости может быть установлена при использовании API RunTask или CreateCluster или в качестве стратегии поставщика емкости по умолчанию для кластера с помощью API CreateCluster.

Можно использовать только поставщиков емкости, которые уже связаны с кластером и имеют статус ACTIVE или UPDATING. Для связывания поставщика емкости с кластером используется API PutClusterCapacityProviders.

Если указан поставщик емкости, использующий группу Auto Scaling, поставщик емкости должен быть уже создан. Новые поставщики емкости группы Auto Scaling могут быть созданы с помощью операции API CreateClusterCapacityProvider.

Для использования поставщика емкости Fargate укажите либо поставщиков емкости FARGATE или FARGATE_SPOT. Поставщики емкости Fargate доступны для всех учетных записей и должны быть связаны с кластером, чтобы их можно было использовать в стратегии поставщика емкости.

С помощью FARGATE_SPOT можно запускать задачи, устойчивые к прерываниям, со скидкой по сравнению с ценой на FARGATE. FARGATE_SPOT запускает задачи на свободных вычислительных ресурсах. Когда Amazon Web Services требуется вернуть эти ресурсы, ваши задачи прерываются с двухминутным предупреждением. FARGATE_SPOT поддерживает задачи Linux с архитектурой X86_64 на версии платформы 1.3.0 или выше. FARGATE_SPOT поддерживает задачи Linux с архитектурой ARM64 на версии платформы 1.4.0 или выше.

Стратегия поставщика емкости может содержать максимум 20 поставщиков емкости.

capacityProvider -> (строка)

Короткое имя поставщика емкости.

weight -> (целое число)

Значение weight определяет процентное соотношение общего числа запускаемых задач, которые должны использовать указанного поставщика емкости. Значение weight учитывается после значения base, если оно определено.

Если значение weight не указано, используется значение по умолчанию 0. Если в стратегии поставщика емкости указано несколько поставщиков емкости, хотя бы один из поставщиков емкости должен иметь значение веса, большее нуля, и поставщики емкости с весом 0 не могут использоваться для размещения задач. Если в стратегии указаны несколько поставщиков емкости с весом 0, любые действия RunTask или CreateService, использующие стратегию поставщика емкости, завершатся ошибкой.

Пример использования весов: в стратегии указаны два поставщика емкости, оба с весом 1. Тогда, когда base выполнено, задачи будут распределены равномерно между двумя поставщиками емкости. Если задать вес 1 для capacityProviderA и вес 4 для capacityProviderB, то на каждую задачу, запущенную с помощью capacityProviderA, четыре задачи будут использовать capacityProviderB.

base -> (целое число)

Значение base определяет минимальное количество задач, которые необходимо запустить на указанном поставщике емкости. Только один поставщик емкости в стратегии поставщика емкости может иметь значение base. Если значение не указано, используется значение по умолчанию 0.

Сокращенная синтаксическая запись:

capacityProvider=string,weight=integer,base=integer ...

Синтаксис JSON:

[
  {
    "capacityProvider": "string",
    "weight": integer,
    "base": integer
  }
  ...
]

--service-connect-defaults (структура)

Используйте этот параметр для установки пространства имен Service Connect по умолчанию. После установки пространства имен Service Connect по умолчанию все новые сервисы с включенным Service Connect, созданные в кластере, добавляются как клиентские сервисы в это пространство имен. Это условие применяется только к новым сервисам, которые устанавливают параметр enabled в значение true в ServiceConnectConfiguration. Вы можете установить пространство имен каждого сервиса индивидуально в ServiceConnectConfiguration, чтобы переопределить этот параметр по умолчанию.

Задачи, выполняющиеся в пространстве имен, могут использовать короткие имена для подключения к сервисам в этом пространстве имен. Задачи могут подключаться к сервисам во всех кластерах в этом пространстве имен. Подключение осуществляется через управляемый контейнер-прокси, который собирает журналы и метрики для повышения наглядности. Поддержка предоставлена только для задач, создаваемых сервисами Amazon ECS. Дополнительную информацию см. в руководстве разработчика Amazon Elastic Container Service по Service Connect.

namespace -> (строка)

Имя пространства имен или полное имя ресурса Amazon (ARN) пространства имен Cloud Map, которое используется при создании сервиса без указания конфигурации Service Connect. Имя пространства имен может содержать до 1024 символов. Имя чувствительно к регистру. Имя не должно содержать символы больше (>), меньше (<), кавычки («) или косые черты (/).

Если вы введете существующее имя пространства имен или ARN, будет использоваться это пространство имен. Поддерживаются любые типы пространств имен. Пространство имен должно находиться в этой учетной записи и в этой области Amazon Web Services.

Если вы введете новое имя, будет создано пространство имен Cloud Map. Amazon ECS создает пространство имен Cloud Map только с помощью метода «API-вызовы» обнаружения экземпляров. Этот метод обнаружения экземпляров является типом пространства имен «HTTP» в командной строке. Другие типы обнаружения экземпляров не используются Service Connect.

Если вы обновите кластер с пустой строкой "" для имени пространства имен, конфигурация кластера для Service Connect будет удалена. Обратите внимание, что пространство имен останется в Cloud Map и должно быть удалено отдельно.

Дополнительную информацию о Cloud Map см. в руководстве разработчика Cloud Map по работе со службами.

Сокращенная синтаксическая запись:

namespace=string

Синтаксис JSON:

{
  "namespace": "string"
}

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка следует формату, указанному в --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения, предоставленные в JSON. Передать произвольные двоичные значения с помощью значения, предоставленного в JSON, невозможно, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса к API. Если предоставлено значение без значения или со значением input, выводится пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено значение yaml-input, выводится пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, проверяются входные данные команды и возвращается пример выходного JSON для этой команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.

Глобальные параметры

--debug (булево)

Включить отладку регистрации.

--endpoint-url (строка)

Переопределить URL по умолчанию команды заданным URL.

--no-verify-ssl (булево)

По умолчанию AWS CLI использует SSL при общении с сервисами AWS. Для каждого соединения SSL AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение проверки сертификатов SSL по умолчанию.

--no-paginate (булево)

Отключить автоматическую постраничность. Если автоматическая постраничность отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (строка)

Стиль форматирования выходных данных команды.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использование определенного профиля из файла аутентификации.

--region (строка)

Используемая область. Переопределяет настройки конфигурации/среды.

--version (строка)

Отображение версии этого инструмента.

--color (строка)

Включение/выключение цветного вывода.

  • on
  • off
  • auto

--no-sign-request (булево)

Не подписывать запросы. Если этот аргумент указан, учетные данные не будут загружаться.

--ca-bundle (строка)

Файл сертификатов CA для проверки сертификатов SSL. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (целое число)

Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.

--cli-connect-timeout (целое число)

Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.

--cli-binary-format (строка)

Стиль форматирования, используемый для двоичных блоков. По умолчанию используется формат base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка в кодировке base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла непосредственно независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для заданного параметра cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (булево)

Отключить диспетчер CLI для вывода.

--cli-auto-prompt (булево)

Автоматически запрашивать параметры ввода CLI.

--no-cli-auto-prompt (булево)

Отключить автоматический запрос параметров ввода CLI.

Примеры

Примечание

Чтобы использовать следующие примеры, у вас должна быть установлена и настроена AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования, характерные для Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек с строками в Руководстве пользователя AWS CLI.

Пример 1: Создание нового кластера

Следующий пример создает кластер с именем MyCluster и включает CloudWatch Container Insights с расширенным наблюдением.

aws ecs create-cluster \
    --cluster-name MyCluster \
    --settings name=containerInsights,value=enhanced

Вывод:

{
    "cluster": {
        "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster",
        "clusterName": "MyCluster",
        "status": "ACTIVE",
        "registeredContainerInstancesCount": 0,
        "pendingTasksCount": 0,
        "runningTasksCount": 0,
        "activeServicesCount": 0,
        "statistics": [],
        "settings": [
            {
                "name": "containerInsights",
                "value": "enhanced"
            }
        ],
        "tags": []
    }
}

Дополнительную информацию см. в разделе Создание кластера в Руководстве разработчика Amazon ECS.

Пример 2: Создание нового кластера с использованием поставщиков ресурсов

Следующий пример создает кластер и связывает с ним два существующих поставщика ресурсов. Команда create-capacity-provider используется для создания поставщика ресурсов. Указание стратегии поставщика ресурсов по умолчанию является необязательным, но рекомендуется. В этом примере мы создаем кластер с именем MyCluster и связываем с ним поставщики ресурсов MyCapacityProvider1 и MyCapacityProvider2. Указывается стратегия поставщика ресурсов по умолчанию, которая равномерно распределяет задачи между обоими поставщиками ресурсов.

aws ecs create-cluster \
    --cluster-name MyCluster \
    --capacity-providers MyCapacityProvider1 MyCapacityProvider2 \
    --default-capacity-provider-strategy capacityProvider=MyCapacityProvider1,weight=1 capacityProvider=MyCapacityProvider2,weight=1

Вывод:

{
    "cluster": {
        "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster",
        "clusterName": "MyCluster",
        "status": "PROVISIONING",
        "registeredContainerInstancesCount": 0,
        "pendingTasksCount": 0,
        "runningTasksCount": 0,
        "activeServicesCount": 0,
        "statistics": [],
        "settings": [
            {
                "name": "containerInsights",
                "value": "enabled"
            }
        ],
        "capacityProviders": [
            "MyCapacityProvider1",
            "MyCapacityProvider2"
        ],
        "defaultCapacityProviderStrategy": [
            {
                "capacityProvider": "MyCapacityProvider1",
                "weight": 1,
                "base": 0
            },
            {
                "capacityProvider": "MyCapacityProvider2",
                "weight": 1,
                "base": 0
            }
        ],
        "attachments": [
           {
               "id": "0fb0c8f4-6edd-4de1-9b09-17e470ee1918",
               "type": "asp",
               "status": "PRECREATED",
               "details": [
                   {
                       "name": "capacityProviderName",
                       "value": "MyCapacityProvider1"
                   },
                   {
                       "name": "scalingPlanName",
                       "value": "ECSManagedAutoScalingPlan-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
                   }
                ]
            },
            {
                "id": "ae592060-2382-4663-9476-b015c685593c",
                "type": "asp",
                "status": "PRECREATED",
                "details": [
                    {
                        "name": "capacityProviderName",
                        "value": "MyCapacityProvider2"
                    },
                    {
                        "name": "scalingPlanName",
                        "value": "ECSManagedAutoScalingPlan-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
                    }
                ]
            }
        ],
        "attachmentsStatus": "UPDATE_IN_PROGRESS"
    }
}

Дополнительную информацию см. в разделе Поставщики ресурсов кластера в Руководстве разработчика Amazon ECS.

Пример 3: Создание нового кластера с несколькими тегами

Следующий пример создает кластер с несколькими тегами. Дополнительную информацию об добавлении тегов с использованием сокращенного синтаксиса см. в разделе Использование сокращенного синтаксиса с AWS Command Line Interface в Руководстве пользователя AWS CLI.

aws ecs create-cluster \
    --cluster-name MyCluster \
    --tags key=key1,value=value1 key=key2,value=value2

Вывод:

{
    "cluster": {
        "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster",
        "clusterName": "MyCluster",
        "status": "ACTIVE",
        "registeredContainerInstancesCount": 0,
        "pendingTasksCount": 0,
        "runningTasksCount": 0,
        "activeServicesCount": 0,
        "statistics": [],
        "tags": [
            {
                "key": "key1",
                "value": "value1"
            },
            {
                "key": "key2",
                "value": "value2"
            }
        ]
     }
 }

Дополнительную информацию см. в разделе Создание кластера в Руководстве разработчика Amazon ECS.

Вывод

кластер -> (структура)

Полное описание вашего нового кластера.

clusterArn -> (строка)

Amazon Resource Name (ARN), идентифицирующий кластер. Дополнительную информацию о формате ARN см. в разделе Amazon Resource Name (ARN) в Руководстве разработчика Amazon ECS.

clusterName -> (строка)

Сгенерированная пользователем строка, используемая для идентификации вашего кластера.

configuration -> (структура)

Настройка команды запуска и управляемого хранилища для кластера.

executeCommandConfiguration -> (структура)

Подробности конфигурации команды запуска.

kmsKeyId -> (строка)

Укажите идентификатор ключа Key Management Service для шифрования данных между локальным клиентом и контейнером.

logging -> (строка)

Настройка ведения журнала для перенаправления журналов результатов вашей команды запуска. Доступны следующие настройки ведения журнала.

  • NONE : Сессия команды запуска не регистрируется.
  • DEFAULT : Используется настройка awslogs в определении задачи. Если параметр ведения журнала не указан, он по умолчанию имеет это значение. Если в определении задачи не настроена программа ведения журнала awslogs, вывод не будет записан в журнал.
  • OVERRIDE : Укажите детали ведения журнала как часть logConfiguration. Если указан параметр ведения журнала OVERRIDE, необходимо указать logConfiguration.

logConfiguration -> (структура)

Настройка ведения журнала для результатов действий команды запуска. Журналы могут быть отправлены в CloudWatch Logs или в Amazon S3-ведро. При указании logging=OVERRIDE, должен быть указан logConfiguration.

cloudWatchLogGroupName -> (строка)

Имя группы журнала CloudWatch, в которую отправляются журналы.

Примечание

Группа журнала CloudWatch должна быть создана заранее.

cloudWatchEncryptionEnabled -> (булево)

Определяет, использовать ли шифрование журналов CloudWatch. Если не указано, шифрование будет выключено.

s3BucketName -> (строка)

Имя S3-ведра, в которое отправляются журналы.

Примечание

S3-ведро должно быть создано заранее.

s3EncryptionEnabled -> (булево)

Определяет, использовать ли шифрование журналов S3. Если не указано, шифрование не используется.

s3KeyPrefix -> (строка)

Необязательная папка в S3-ведре для размещения журналов.

managedStorageConfiguration -> (структура)

Подробности конфигурации управляемого хранилища.

kmsKeyId -> (строка)

Укажите идентификатор ключа Key Management Service для шифрования управляемого хранилища Amazon ECS.

Когда вы указываете kmsKeyId, Amazon ECS использует ключ для шифрования томов управляемого хранилища Amazon ECS, которые подключены к задачам в кластере. Следующие тома хранилища управляются Amazon ECS: Amazon EBS. Дополнительную информацию о шифровании томов Amazon EBS, подключенных к задачам Amazon ECS, см. в разделе Шифрование данных, хранящихся в томах Amazon EBS для Amazon ECS в Руководстве разработчика Amazon Elastic Container Service.

Ключ должен быть ключом одной области.

fargateEphemeralStorageKmsKeyId -> (строка)

Укажите идентификатор ключа Key Management Service для временного хранилища Fargate.

При указании fargateEphemeralStorageKmsKeyId, Amazon Web Services Fargate использует ключ для шифрования данных в хранилище по умолчанию. Дополнительную информацию о шифровании временного хранилища Fargate см. в разделе Управление ключами для временного хранилища Amazon Web Services Fargate для Amazon ECS в Руководстве разработчика Amazon Elastic Container Service.

Ключ должен быть ключом одной области.

status -> (строка)

Состояние кластера. Возможные состояния:

ACTIVE

Кластер готов принимать задачи и, при необходимости, регистрировать экземпляры контейнеров в кластере.

PROVISIONING

У кластера есть поставщики ресурсов, и создаются необходимые ресурсы для поставщика ресурсов.

DEPROVISIONING

У кластера есть поставщики ресурсов, и удаляются необходимые ресурсы для поставщика ресурсов.

FAILED

У кластера есть поставщики ресурсов, и создание необходимых ресурсов для поставщика ресурсов завершилось ошибкой.

INACTIVE

Кластер удален. Кластеры со статусом INACTIVE могут оставаться доступными в вашей учетной записи в течение определенного периода времени. Однако такое поведение может измениться в будущем. Не рекомендуется полагаться на то, что кластеры со статусом INACTIVE будут сохраняться.

registeredContainerInstancesCount -> (целое число)

Количество зарегистрированных экземпляров контейнеров в кластере. Это включает экземпляры контейнеров в статусах ACTIVE и DRAINING.

runningTasksCount -> (целое число)

Количество задач в кластере, находящихся в состоянии RUNNING.

pendingTasksCount -> (целое число)

Количество задач в кластере, находящихся в состоянии PENDING.

activeServicesCount -> (целое число)

Количество служб, работающих в кластере в состоянии ACTIVE. Эти службы можно просмотреть с помощью PListServices.

statistics -> (список)

Дополнительная информация о ваших кластерах, разделенная по типам запуска. Включает:

  • runningEC2TasksCount
  • RunningFargateTasksCount
  • pendingEC2TasksCount
  • pendingFargateTasksCount
  • activeEC2ServiceCount
  • activeFargateServiceCount
  • drainingEC2ServiceCount
  • drainingFargateServiceCount

(структура)

Объект ключ-значение.

name -> (строка)

Имя пары ключ-значение. Для переменных среды — имя переменной среды.

value -> (строка)

Значение пары ключ-значение. Для переменных среды — значение переменной среды.

tags -> (список)

Метаданные, которые вы применяете к кластеру для категоризации и организации. Каждый тег состоит из ключа и необязательного значения. Вы определяете оба.

Применяются следующие ограничения:

  • Максимальное количество тегов на ресурс - 50
  • Для каждого ресурса ключ каждого тега должен быть уникальным, и каждый ключ тега может иметь только одно значение.
  • Максимальная длина ключа - 128 символов Юникода в UTF-8
  • Максимальная длина значения - 256 символов Юникода в UTF-8
  • Если ваша схема тегов используется в нескольких сервисах и ресурсах, помните, что другие сервисы могут иметь ограничения на допустимые символы. В целом допустимы: буквы, цифры, пробелы, представленные в UTF-8, и следующие символы: + - = . _ : / @.
  • Ключи и значения тегов чувствительны к регистру.
  • Не используйте aws:, AWS: или любые комбинации верхнего и нижнего регистра таких префиксов для ключей или значений, так как они зарезервированы для использования Amazon Web Services. Вы не можете редактировать или удалять ключи или значения тегов с этим префиксом. Теги с этим префиксом не учитываются при подсчете максимального количества тегов на ресурс.

(структура)

Метаданные, которые вы применяете к ресурсу для категоризации и организации. Каждый тег состоит из ключа и необязательного значения. Вы определяете их.

Применяются следующие ограничения:

  • Максимальное количество тегов на ресурс - 50
  • Для каждого ресурса ключ каждого тега должен быть уникальным, и каждый ключ тега может иметь только одно значение.
  • Максимальная длина ключа - 128 символов Юникода в UTF-8
  • Максимальная длина значения - 256 символов Юникода в UTF-8
  • Если ваша схема тегов используется в нескольких сервисах и ресурсах, помните, что другие сервисы могут иметь ограничения на допустимые символы. В целом допустимы: буквы, цифры, пробелы, представленные в UTF-8, и следующие символы: + - = . _ : / @.
  • Ключи и значения тегов чувствительны к регистру.
  • Не используйте aws:, AWS: или любые комбинации верхнего и нижнего регистра таких префиксов для ключей или значений, так как они зарезервированы для использования Amazon Web Services. Вы не можете редактировать или удалять ключи или значения тегов с этим префиксом. Теги с этим префиксом не учитываются при подсчете максимального количества тегов на ресурс.

key -> (строка)

Часть пары ключ-значение, составляющей тег. Ключ — это общая метка, которая служит категорией для более специфичных значений тегов.

value -> (строка)

Необязательная часть пары ключ-значение, составляющей тег. Значение действует как описание в рамках категории тега (ключ).

settings -> (список)

Настройки кластера. Этот параметр указывает, включено или выключено CloudWatch Container Insights для кластера.

(структура)

Настройки для создания кластера. Этот параметр используется для включения CloudWatch Container Insights с расширенной наблюдаемостью или CloudWatch Container Insights для кластера.

CloudWatch Container Insights с расширенной наблюдаемостью предоставляет все метрики Container Insights, а также дополнительные метрики задач и контейнеров. Эта версия поддерживает расширенную наблюдаемость для кластеров Amazon ECS, использующих типы запуска Amazon EC2 и Fargate. После настройки Container Insights с расширенной наблюдаемостью для Amazon ECS, Container Insights автоматически собирает подробные данные телеметрии инфраструктуры с уровня кластера до уровня контейнера в вашей среде и отображает эти критически важные данные производительности в подготовленных панелях мониторинга, устраняя сложную настройку наблюдаемости.

Дополнительную информацию см. в разделе Мониторинг контейнеров Amazon ECS с помощью Container Insights с расширенной наблюдаемостью в Руководстве разработчика Amazon Elastic Container Service.

name -> (строка)

Имя настройки кластера. Значение — containerInsights.

value -> (строка)

Значение для настройки кластера. Поддерживаемые значения — enhanced, enabled и disabled.

Для использования Container Insights с расширенной наблюдаемостью установите настройку учетной записи containerInsights в значение enhanced.

Для использования Container Insights установите настройку учетной записи containerInsights в значение enabled.

Если для кластера указано значение, оно переопределит значение containerInsights, заданное с помощью PutAccountSetting или PutAccountSettingDefault.

capacityProviders -> (список)

Поставщики ресурсов, связанные с кластером.

(строка)

defaultCapacityProviderStrategy -> (список)

Стратегия предоставления ресурсов по умолчанию для кластера. Если сервисы или задачи выполняются в кластере без указания типа запуска или стратегии предоставления ресурсов, используется стратегия предоставления ресурсов по умолчанию.

(структура)

Подробности стратегии предоставления ресурсов. Стратегия предоставления ресурсов может быть задана при использовании API RunTask или CreateCluster или как стратегия предоставления ресурсов по умолчанию для кластера с помощью API CreateCluster.

В стратегии предоставления ресурсов могут использоваться только поставщики ресурсов, которые уже ассоциированы с кластером и имеют статус ACTIVE или UPDATING. Для ассоциации поставщика ресурсов с кластером используется API PutClusterCapacityProviders.

Если вы указываете поставщика ресурсов, использующего группу автоматического масштабирования, этот поставщик ресурсов должен быть уже создан. Новые поставщики ресурсов групп автоматического масштабирования могут быть созданы с помощью операции API CreateClusterCapacityProvider.

Для использования поставщика ресурсов Fargate укажите поставщиков ресурсов FARGATE или FARGATE_SPOT. Поставщики ресурсов Fargate доступны всем учетным записям и требуют только ассоциации с кластером для использования в стратегии предоставления ресурсов.

С помощью FARGATE_SPOT вы можете запускать задачи, устойчивые к прерываниям, со скидкой по сравнению с ценой FARGATE. FARGATE_SPOT запускает задачи на свободных вычислительных ресурсах. Когда Amazon Web Services нуждается в этих ресурсах обратно, ваши задачи прерываются с двухминутным предупреждением. FARGATE_SPOT поддерживает задачи Linux с архитектурой X86_64 на платформенной версии 1.3.0 или более поздней. FARGATE_SPOT поддерживает задачи Linux с архитектурой ARM64 на платформенной версии 1.4.0 или более поздней.

Стратегия предоставления ресурсов может содержать не более 20 поставщиков ресурсов.

capacityProvider -> (строка)

Короткое имя поставщика ресурсов.

weight -> (целое число)

Значение weight задает относительный процент от общего числа запусков задач, которые должны использовать указанного поставщика ресурсов. Значение weight учитывается после значения base, если оно определено.

Если значение weight не указано, используется значение по умолчанию 0. Если в стратегии предоставления ресурсов указано несколько поставщиков ресурсов, по крайней мере один из них должен иметь значение weight, большее нуля, а поставщики ресурсов с весом 0 не могут быть использованы для размещения задач. Если вы указываете в стратегии несколько поставщиков ресурсов, у которых вес равен 0, любые действия RunTask или CreateService, использующие стратегию предоставления ресурсов, завершатся с ошибкой.

Пример сценария использования весов: вы определяете стратегию, содержащую двух поставщиков ресурсов, у которых вес равен 1, затем, когда условие base выполнено, задачи будут распределены равномерно между двумя поставщиками ресурсов. Используя тот же принцип, если вы задаёте вес 1 для capacityProviderA и вес 4 для capacityProviderB, то на каждую задачу, запущенную с помощью capacityProviderA, четыре задачи будут использовать capacityProviderB.

base -> (целое число)

Значение base задает минимальное количество задач, которые должны запускаться на указанном поставщике ресурсов. Только один поставщик ресурсов в стратегии предоставления ресурсов может иметь определенное значение base. Если значение не указано, используется значение по умолчанию 0.

attachments -> (список)

Ресурсы, присоединённые к кластеру. При использовании поставщика ресурсов с кластером поставщик ресурсов и связанные с ним ресурсы возвращаются в виде приложений к кластеру.

(структура)

Объект, представляющий присоединённую к контейнерной инстанции или задаче.

id -> (строка)

Уникальный идентификатор приложения.

type -> (строка)

Тип приложения, например ElasticNetworkInterface, Service Connect и AmazonElasticBlockStorage.

status -> (строка)

Статус приложения. Допустимые значения: PRECREATED, CREATED, ATTACHING, ATTACHED, DETACHING, DETACHED, DELETED и FAILED.

details -> (список)

Подробности приложения.

Для интерфейсов эластичной сети это включает идентификатор сетевого интерфейса, MAC-адрес, идентификатор подсети и частный IPv4-адрес.

Для сервисов Service Connect это включает portName, clientAliases, discoveryName и ingressPortOverride.

Для Elastic Block Storage это включает roleArn, deleteOnTermination, volumeName, volumeId и statusReason (только когда приложение не удаётся создать или подключить).

(структура)

Объект пары «ключ-значение».

name -> (строка)

Имя пары «ключ-значение». Для переменных среды это имя переменной среды.

value -> (строка)

Значение пары «ключ-значение». Для переменных среды это значение переменной среды.

attachmentsStatus -> (строка)

Статус поставщиков ресурсов, связанных с кластером. Ниже приведены возвращаемые состояния.

UPDATE_IN_PROGRESS

Доступные поставщики ресурсов для кластера обновляются.

UPDATE_COMPLETE

Поставщики ресурсов успешно обновлены.

UPDATE_FAILED

Обновление поставщиков ресурсов завершилось с ошибкой.

serviceConnectDefaults -> (структура)

Используйте этот параметр для установки пространства имён Service Connect по умолчанию. После установки пространства имён Service Connect по умолчанию все новые сервисы с включённым Service Connect, созданные в кластере, добавляются как клиентские сервисы в это пространство имён. Это значение применяется только к новым сервисам, которые устанавливают параметр enabled в значение true в ServiceConnectConfiguration. Вы можете установить имя пространства имён для каждого сервиса в ServiceConnectConfiguration, чтобы переопределить этот параметр по умолчанию.

Задачи, выполняемые в пространстве имён, могут использовать короткие имена для подключения к сервисам в этом пространстве имён. Задачи могут подключаться к сервисам во всех кластерах в этом пространстве имён. Задачи подключаются через управляемый контейнер прокси-сервера, который собирает журналы и метрики для повышения видимости. Поддержка предоставления сервисов Service Connect предоставляется только для задач, созданных сервисами Amazon ECS. Дополнительную информацию см. в разделе Service Connect в руководстве разработчика Amazon Elastic Container Service.

namespace -> (строка)

Имя пространства имён или полное Amazon Resource Name (ARN) пространства имён Cloud Map. Это пространство имён используется, когда вы создаёте сервис и не указываете конфигурацию Service Connect.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API