Spec-Zone.ru › Ansible

Модуль community.aws.ecs_service — создание, завершение, запуск или остановка сервиса в ECS

Примечание

Этот модуль входит в коллекцию community.aws (версия 10.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные компоненты. Подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.aws.ecs_service.

Добавлено в community.aws 1.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые факты
  • Возвращаемые значения

Краткое описание

  • Создаёт или завершает работу сервисов ECS.

Требования

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

  • python >= 3.6
  • boto3 >= 1.34.0
  • botocore >= 1.34.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_access_key

строка

Идентификатор ключа доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные окружения AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY в порядке убывания предпочтения.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK.

aws_ca_bundle

путь

Путь к пакету сертификатов CA, используемому для проверки сертификатов SSL.

Также можно использовать переменную окружения AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Параметры приведены в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

capacity_provider_strategy

список / элементы=словарь

добавлено в community.aws 4.0.0

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

По умолчанию: []

base

целое число

Минимальное количество задач, которые должны использовать указанного поставщика.

capacity_provider

строка

Имя поставщика вычислительных мощностей.

weight

целое число

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

client_token

строка

Уникальный идентификатор с учетом регистра, который вы указываете для обеспечения идемпотентности запроса. Допускается до 32 символов ASCII.

По умолчанию: ""

cluster

строка

Имя кластера, в котором находится служба.

Если имя кластера не указано, будет использовано default.

По умолчанию: "default"

debug_botocore_endpoint_logs

логическое значение

Использовать регистратор botocore.endpoint для анализа уникальных (а не общего числа) вызовов API "resource:action", выполненных во время задачи, и выводить их список в ключ resource_actions результатов задачи. Используйте callback aws_resource_action, чтобы вывести общий список вызовов, выполненных в ходе плейбука.

Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

delay

целое число

Время ожидания перед проверкой доступности службы.

По умолчанию: 10

deployment_configuration

словарь

Дополнительные параметры, управляющие deployment_configuration.

Формат: ‘{“maximum_percent”:<integer>, “minimum_healthy_percent”:<integer>}

По умолчанию: {}

deployment_circuit_breaker

словарь

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

enable

логическое значение

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

Варианты:

  • false
  • true

rollback

логическое значение

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

Варианты:

  • false
  • true

maximum_percent

целое число

Верхний предел числа задач службы, которым во время развертывания разрешено находиться в состоянии RUNNING или PENDING.

minimum_healthy_percent

целое число

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

deployment_controller

словарь

добавлено в community.aws 4.1.0

Контроллер развертывания, используемый для службы. Если контроллер развертывания не указан, используется контроллер ECS.

По умолчанию: {}

type

строка

Тип используемого контроллера развертывания.

Варианты:

  • "ECS"
  • "CODE_DEPLOY"
  • "EXTERNAL"

desired_count

целое число

Количество экземпляров службы.

Этот параметр обязателен, если state=present.

enable_execute_command

логическое значение

добавлено в community.aws 5.4.0

Включить ли функцию execute command для контейнеров в задаче ECS.

Если enable_execute_command=true, функция execute command включается для всех контейнеров в задаче ECS.

Варианты:

  • false
  • true

endpoint_url

псевдонимы: aws_endpoint_url

строка

URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную окружения AWS_URL.

force_deletion

логическое значение

добавлено в community.aws 2.1.0

Принудительно удалить службу. Требуется при удалении службы с масштабом >0 или без целевой группы.

Варианты:

  • false ← (по умолчанию)
  • true

force_new_deployment

логическое значение

Принудительно развернуть службу, даже если изменений нет.

Варианты:

  • false ← (по умолчанию)
  • true

health_check_grace_period_seconds

целое число

Количество секунд ожидания перед проверкой работоспособности только что добавленных или обновленных служб.

launch_type

строка

Тип запуска службы.

Варианты:

  • "EC2"
  • "FARGATE"

load_balancers

список / элементы=словарь

Список ELB, настроенных для этой службы.

Обновить балансировщики нагрузки существующей службы нельзя; попытка сделать это приведет к ошибке.

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

По умолчанию: []

name

псевдонимы: service

строка / обязательный

Имя службы.

network_configuration

словарь

Конфигурация сети службы. Применяется только к определениям задач, созданным с параметром network_mode=awsvpc.

assign_public_ip

логическое значение

Получает ли эластичный сетевой интерфейс задачи публичный IP-адрес.

Варианты:

  • false
  • true

security_groups

список / элементы=строка

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

subnets

список / элементы=строка

Список идентификаторов подсетей, связанных с задачей.

placement_constraints

список / элементы=словарь

Ограничения размещения задач службы.

Дополнительные сведения см. в разделе https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementConstraint.html.

По умолчанию: []

expression

строка

Выражение языка запросов кластера, применяемое к ограничению.

type

строка

Тип ограничения.

placement_strategy

список / элементы=словарь

Объекты стратегии размещения задач службы. Для каждой службы можно указать не более 5 правил стратегии.

По умолчанию: []

field

строка

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

type

строка

Тип стратегии размещения.

platform_version

строка

добавлено в community.aws 1.5.0

Числовая часть версии платформы или LATEST

Дополнительные сведения см. в разделе https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html.

profile

псевдонимы: aws_profile

строка

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную окружения AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token.

propagate_tags

строка

добавлено в community.aws 4.1.0

Передавать теги из определения задачи ECS или службы ECS задаче ECS.

Варианты:

  • "TASK_DEFINITION"
  • "SERVICE"

purge_placement_constraints

логическое значение

добавлено в community.aws 5.3.0

Включает или отключает перезапись существующих ограничений размещения. Это необходимо для обратной совместимости.

По умолчанию purge_placement_constraints=false. В выпуске 9.0.0 значение будет изменено на purge_placement_constraints=true.

Варианты:

  • false ← (по умолчанию)
  • true

purge_placement_strategy

логическое значение

добавлено в community.aws 5.3.0

Включает или отключает перезапись существующей стратегии размещения. Это необходимо для обратной совместимости.

По умолчанию purge_placement_strategy=false. В выпуске 9.0.0 значение будет изменено на purge_placement_strategy=true.

Варианты:

  • false ← (по умолчанию)
  • true

region

псевдонимы: aws_region

строка

Регион AWS.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную окружения AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

repeat

целое число

Количество проверок доступности службы.

По умолчанию: 10

role

строка

Имя или полное имя ресурса Amazon (ARN) роли IAM, которая позволяет агенту контейнеров Amazon ECS выполнять вызовы балансировщика нагрузки от вашего имени.

Этот параметр требуется только при использовании балансировщика нагрузки со службой в режиме сети, отличном от awsvpc.

По умолчанию: ""

scheduling_strategy

строка

Стратегия планирования.

Если значение не задано, используется REPLICA для сохранения прежнего поведения.

Варианты:

  • "DAEMON"
  • "REPLICA"

secret_key

псевдонимы: aws_secret_access_key, aws_secret_key

string

Секретный ключ доступа AWS.

Подробнее о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные окружения AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания предпочтительности.

Параметры secret_key и profile являются взаимоисключающими.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

service_registries

list / elements=dictionary

Описывает реестры обнаружения сервисов, в которых будет зарегистрирован этот сервис.

По умолчанию: []

arn

string

ARN реестра обнаружения сервисов.

container_name

string

Имя контейнера для регистрации обнаружения сервиса.

container_port

integer

Порт контейнера для регистрации обнаружения сервиса.

session_token

псевдонимы: aws_session_token

string

Токен сеанса AWS STS для использования с временными учетными данными.

Подробнее о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменную окружения AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

state

string / обязательный

Требуемое состояние сервиса.

Варианты:

  • "present"
  • "absent"
  • "deleting"

tags

dictionary

добавлено в community.aws 4.1.0

Словарь тегов, которые нужно добавить к ресурсу или удалить из него.

task_definition

string

Определение задачи, которую будет запускать сервис.

Этот параметр обязателен, если state=present, кроме случаев, когда задано force_new_deployment=True.

Этот параметр игнорируется при обновлении сервиса с контроллером развертывания CODE_DEPLOY. В этом случае определение задачи управляется Code Pipeline и не может быть обновлено.

validate_certs

boolean

Если задано значение false, SSL-сертификаты при взаимодействии с API AWS проверяться не будут.

Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность задать aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

wait

boolean

добавлено в community.aws 4.1.0

Нужно ли ожидать, пока сервис перейдет в неактивное состояние.

Ожидание выполняется только если state имеет значение absent.

Варианты:

  • false ← (по умолчанию)
  • true

Примечания

Примечание

  • Указанная роль сервиса должна допускать принятие роли (то есть иметь отношение доверия для сервиса ECS, ecs.amazonaws.com).
  • Сведения о параметрах и возвращаемых значениях см. в документации https://boto3.readthedocs.io/en/latest/reference/services/ecs.html.
  • Роль IAM должна быть создана заранее.
  • Внимание: В модулях переменные окружения и файлы конфигурации считываются из контекста «узла» Ansible, а не из контекста «контроллера». Поэтому файлы может потребоваться явно скопировать на «узел». В модулях поиска и подключения переменные окружения и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «узла».
  • Используемый Ansible пакет AWS SDK (boto3) может также считывать значения учетных данных и другие настройки, например регион, из файлов конфигурации в контексте «узла» Ansible (обычно ~/.aws/credentials). Подробнее см. в документации https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.
# Basic provisioning example
- community.aws.ecs_service:
    state: present
    name: console-test-service
    cluster: new_cluster
    task_definition: 'new_cluster-task:1'
    desired_count: 0

- name: create ECS service on VPC network
  community.aws.ecs_service:
    state: present
    name: console-test-service
    cluster: new_cluster
    task_definition: 'new_cluster-task:1'
    desired_count: 0
    network_configuration:
      subnets:
        - subnet-abcd1234
      security_groups:
        - sg-aaaa1111
        - my_security_group

# Simple example to delete
- community.aws.ecs_service:
    name: default
    state: absent
    cluster: new_cluster

# With custom deployment configuration (added in version 2.3), placement constraints and strategy (added in version 2.4)
- community.aws.ecs_service:
    state: present
    name: test-service
    cluster: test-cluster
    task_definition: test-task-definition
    desired_count: 3
    deployment_configuration:
      minimum_healthy_percent: 75
      maximum_percent: 150
    placement_constraints:
      - type: memberOf
        expression: 'attribute:flavor==test'
    placement_strategy:
      - type: binpack
        field: memory

# With deployment circuit breaker (added in version 4.0)
- community.aws.ecs_service:
    state: present
    name: test-service
    cluster: test-cluster
    task_definition: test-task-definition
    desired_count: 3
    deployment_configuration:
      deployment_circuit_breaker:
        enable: true
        rollback: true

# With capacity_provider_strategy (added in version 4.0)
- community.aws.ecs_service:
    state: present
    name: test-service
    cluster: test-cluster
    task_definition: test-task-definition
    desired_count: 1
    capacity_provider_strategy:
      - capacity_provider: test-capacity-provider-1
        weight: 1
        base: 0

# With tags and tag propagation
- community.aws.ecs_service:
    state: present
    name: tags-test-service
    cluster: new_cluster
    task_definition: 'new_cluster-task:1'
    desired_count: 1
    tags:
      Firstname: jane
      lastName: doe
    propagate_tags: SERVICE

Возвращаемые факты

Факты, возвращаемые этим модулем, добавляются в факты узла hostvars или обновляются в них. На них можно ссылаться по имени, как и на любые другие факты узла. Чтобы использовать их, регистрировать их не требуется.

Ключ

Описание

service

complex

Сведения об удаленном сервисе.

Возвращается: если сервис существовал и был удален

clusterArn

string

Amazon Resource Name (ARN) кластера, в котором размещен сервис.

Возвращается: всегда

deploymentConfiguration

complex

Словарь deploymentConfiguration

Возвращается: всегда

deploymentCircuitBreaker

complex

Словарь deploymentCircuitBreaker

Возвращается: всегда

enable

boolean

Состояние функции автоматического выключателя.

Возвращается: всегда

rollback

boolean

Состояние функции отката автоматического выключателя.

Возвращается: всегда

maximumPercent

integer

Параметр maximumPercent

Возвращается: всегда

minimumHealthyPercent

integer

Параметр minimumHealthyPercent

Возвращается: всегда

deployments

list / elements=dictionary

Список развертываний сервиса

Возвращается: всегда

desiredCount

integer

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

Возвращается: всегда

events

list / elements=dictionary

Список событий сервиса

Возвращается: всегда

loadBalancers

complex

Список объектов балансировщиков нагрузки

Возвращается: всегда

containerName

string

Имя контейнера, связанного с балансировщиком нагрузки.

Возвращается: всегда

containerPort

integer

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

Возвращается: всегда

loadBalancerName

string

Имя

Возвращается: всегда

pendingCount

integer

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

Возвращается: всегда

placementConstraints

list / elements=dictionary

Список объектов ограничений размещения

Возвращается: всегда

expression

string

Выражение языка запросов кластера, применяемое к ограничению. Обратите внимание: нельзя указать выражение, если тип ограничения — distinctInstance.

Возвращается: всегда

type

string

Тип ограничения. Допустимые значения: distinctInstance и memberOf.

Возвращается: всегда

placementStrategy

list / elements=dictionary

Список объектов стратегий размещения

Возвращается: всегда

field

string

Поле, к которому применяется стратегия размещения. Для стратегии spread допустимы значения instanceId (или host, что дает тот же результат), а также любой атрибут платформы или пользовательский атрибут, примененный к экземпляру контейнера, например attribute:ecs.availability-zone. Для стратегии binpack допустимы значения CPU и MEMORY.

Возвращается: всегда

type

string

Тип стратегии размещения. Допустимые значения: random, spread и binpack.

Возвращается: всегда

propagateTags

string

Тип распространения тегов, примененный к ресурсу

Возвращается: всегда

runningCount

integer

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

Возвращается: всегда

serviceArn

string

Amazon Resource Name (ARN), идентифицирующее сервис. ARN содержит пространство имен arn:aws:ecs, за которым следуют регион сервиса, идентификатор учетной записи AWS владельца сервиса, пространство имен сервиса и имя сервиса.

Возвращается: всегда

Пример: "arn:aws:ecs:us-east-1:123456789012:service/my-service"

serviceName

string

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

Возвращается: всегда

status

string

Допустимые значения: ACTIVE, DRAINING или INACTIVE.

Возвращается: всегда

tags

list / elements=dictionary

Теги, примененные к этому ресурсу.

Возвращается: если найдены теги

taskDefinition

string

ARN определения задачи, используемого для задач в сервисе.

Возвращается: всегда

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

service

complex

Сведения о созданной службе.

Возвращается: при создании службы

capacityProviderStrategy

complex

добавлено в community.aws 4.0.0

Стратегия поставщика ресурсов, используемая службой.

Возвращается: всегда

base

integer

Минимальное количество задач, которые должны использовать указанного поставщика.

Возвращается: всегда

capacityProvider

string

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

Возвращается: всегда

weight

integer

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

Возвращается: всегда

clusterArn

string

Имя ресурса Amazon (ARN) кластера, в котором размещена служба.

Возвращается: всегда

deploymentConfiguration

complex

Словарь deploymentConfiguration

Возвращается: всегда

deploymentCircuitBreaker

complex

Словарь deploymentCircuitBreaker

Возвращается: всегда

enable

boolean

Состояние функции автоматического выключателя развёртывания.

Возвращается: всегда

rollback

boolean

Состояние функции отката автоматического выключателя развёртывания.

Возвращается: всегда

maximumPercent

integer

Параметр maximumPercent

Возвращается: всегда

minimumHealthyPercent

integer

Параметр minimumHealthyPercent

Возвращается: всегда

deployments

list / elements=dictionary

Список развёртываний службы

Возвращается: всегда

desiredCount

integer

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

Возвращается: всегда

events

list / elements=dictionary

Список событий службы

Возвращается: всегда

loadBalancers

complex

Список объектов балансировщика нагрузки

Возвращается: всегда

containerName

string

Имя контейнера, связанного с балансировщиком нагрузки.

Возвращается: всегда

containerPort

integer

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

Возвращается: всегда

loadBalancerName

string

Имя

Возвращается: всегда

pendingCount

integer

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

Возвращается: всегда

placementConstraints

list / elements=dictionary

Список объектов ограничений размещения

Возвращается: всегда

expression

string

Выражение языка запросов кластера, применяемое к ограничению. Обратите внимание: нельзя указать выражение, если тип ограничения — distinctInstance.

Возвращается: всегда

type

string

Тип ограничения. Допустимые значения: distinctInstance и memberOf.

Возвращается: всегда

placementStrategy

list / elements=dictionary

Список объектов стратегии размещения

Возвращается: всегда

field

string

Поле, к которому применяется стратегия размещения. Для стратегии распределения допустимы значения instanceId (или host, что даёт тот же результат) либо любой атрибут платформы или пользовательский атрибут, назначенный экземпляру контейнера, например attribute:ecs.availability-zone. Для стратегии binpack допустимы значения CPU и MEMORY.

Возвращается: всегда

type

string

Тип стратегии размещения. Допустимые значения: random, spread и binpack.

Возвращается: всегда

propagateTags

string

Тип распространения тегов, применяемый к ресурсу.

Возвращается: всегда

runningCount

integer

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

Возвращается: всегда

serviceArn

string

Имя ресурса Amazon (ARN), идентифицирующее службу. ARN содержит пространство имён arn:aws:ecs, за которым следуют регион службы, идентификатор AWS-аккаунта владельца службы, пространство имён службы и имя службы.

Возвращается: всегда

Пример: "arn:aws:ecs:us-east-1:123456789012:service/my-service"

serviceName

string

Строка, заданная пользователем для идентификации службы

Возвращается: всегда

status

string

Допустимые значения: ACTIVE, DRAINING или INACTIVE.

Возвращается: всегда

tags

dictionary

Теги, применённые к этому ресурсу.

Возвращается: при успешном выполнении

taskDefinition

string

ARN определения задачи, используемого для задач в службе.

Возвращается: всегда

Авторы

  • Mark Chance (@Java1Guy)
  • Darek Kaczynski (@kaczynskid)
  • Stephane Maarek (@simplesteph)
  • Zac Blazic (@zacblazic)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/ecs_service_module.html

Spec-Zone.ru

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