Spec-Zone.ru › Ansible 2.11

community.aws.ec2_lc – Создание или удаление конфигураций запуска AWS Autoscaling

Примечание

Этот плагин входит в коллекцию community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Чтобы использовать его в книге задач, укажите: community.aws.ec2_lc.

Новое в версии 1.0.0: коллекции community.aws

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Обзор

  • Может создавать или удалять конфигурации запуска AWS Autoscaling.
  • Работает с модулем ec2_asg для управления группами Autoscaling.

Требования

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

  • boto
  • boto3 >= 1.4.4
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
assign_public_ip
boolean
    Варианты:
  • нет
  • да
Используется для групп автоматического масштабирования, запускающих экземпляры в Amazon Virtual Private Cloud. Указывает, следует ли назначить публичный IP-адрес каждому экземпляру, запущенному в Amazon VPC.
associate_public_ip_address
boolean
    Варианты:
  • нет
  • да
Параметр associate_public_ip_address ничего не делает и будет удален после 2022-06-01
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если задан параметр profile, этот параметр игнорируется.
Использование параметров aws_access_key и profile одновременно устарело и параметры будут сделаны взаимоисключающими после 2022-06-01.

псевдонимы: ec2_access_key, access_key
aws_ca_bundle
путь
Расположение файла с набором сертификатов CA для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: набор сертификатов CA читается со стороны модуля и может потребоваться явно скопировать его с контроллера, если он не запускается локально.
aws_config
словарь
Словарь для изменения настроек botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о настройках boto.
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если задан параметр profile, этот параметр игнорируется.
Использование параметров aws_secret_key и profile одновременно устарело и параметры будут сделаны взаимоисключающими после 2022-06-01.

псевдонимы: ec2_secret_key, secret_key
classic_link_vpc_id
строка
Идентификатор VPC с включенной функцией ClassicLink.
classic_link_vpc_security_groups
список / элементы=строка
Список идентификаторов групп безопасности, которые будут привязаны к экземплярам VPC с ClassicLink.
debug_botocore_endpoint_logs
boolean
    Варианты:
  • нет ←
  • да
Использование логирования botocore.endpoint для анализа уникальных (а не общих) вызовов API "ресурс:действие" во время выполнения задачи, выводя результат в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения playbook. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
ebs_optimized
boolean
    Варианты:
  • нет ←
  • да
Указывает, оптимизирован ли экземпляр для ввода/вывода EBS (true) или нет (false).
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется модулями, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть.

псевдонимы: aws_endpoint_url, endpoint_url
image_id
строка
Уникальный идентификатор AMI, который будет использоваться для группы.
instance_id
строка
Идентификатор работающего экземпляра, который используется в качестве основы для конфигурации запуска. Может использоваться вместо image_id и instance_type.
instance_monitoring
boolean
    Варианты:
  • нет ←
  • да
Указывает, запускаются ли экземпляры с подробным мониторингом.
instance_profile_name
строка
Имя или Amazon Resource Name (ARN) профиля экземпляра, связанного с ролью IAM для экземпляров.
instance_type
строка
Тип экземпляра, который будет использоваться для экземпляра.
Требуется при создании новой конфигурации запуска.
kernel_id
строка
Идентификатор ядра для экземпляра EC2.
key_name
строка
Имя SSH-ключа, используемого для доступа к управляемым экземплярам.
name
строка / обязательно
Уникальное имя конфигурации.
placement_tenancy
строка
    Варианты:
  • default
  • dedicated
Определяет, работает ли экземпляр на оборудовании с однопользовательской арендой или нет.
Если не задано, AWS по умолчанию использует default.
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
Использование profile переопределит aws_access_key, aws_secret_key и security_token. Поддержка одновременного использования profile с ними устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01.

псевдонимы: aws_profile
ramdisk_id
строка
Идентификатор RAM-диска для экземпляров.
region
строка
AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
security_groups
список / элементы=строка
Список групп безопасности, которые нужно применить к экземплярам. Начиная с версии 2.4 можно указывать имена или ID групп безопасности, или их комбинацию. До версии 2.4 для экземпляров VPC нужно указывать ID групп безопасности, а для экземпляров EC2-Classic – имена или ID групп безопасности.
security_token
строка
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Использование параметров security_token и profile одновременно устарело и параметры будут сделаны взаимоисключающими после 2022-06-01.

псевдонимы: aws_security_token, access_token
spot_price
вещественное число
Цена за использование spot-инстансов. Применимо только для группы автоматического масштабирования со spot-инстансами.
state
строка
    Варианты:
  • present ←
  • absent
Регистрация или дерегистрация экземпляра.
user_data
строка
Неструктурированные данные, доступные для экземпляра ec2. Взаимоисключающий с параметром user_data_path.
user_data_path
путь
Путь к файлу, содержащему данные пользователя для экземпляров ec2. Взаимоисключающий с параметром user_data.
validate_certs
boolean
    Варианты:
  • нет
  • да ←
При значении "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0.
volumes
список / элементы=словарь
Список словарей, определяющих создаваемые тома.
Для любого тома размер, меньший 1, будет интерпретироваться как запрос не создавать том.
delete_on_termination
boolean
    Варианты:
  • нет ←
  • да
Указывает, следует ли автоматически удалять том при завершении работы экземпляра.
device_name
строка / обязательно
Имя тома (например /dev/sda).
encrypted
boolean
    Варианты:
  • нет ←
  • да
Указывает, должен ли том быть зашифрован с использованием KMS CMK 'aws/ebs'.
ephemeral
строка
Указывает, следует ли том сделать временным.
Данные на временных томах теряются при остановке экземпляра.
Взаимоисключающий с параметром snapshot.
iops
целое число
Количество операций ввода/вывода в секунду, которые нужно зарезервировать для тома.
Требуется при volume_type=io1.
no_device
boolean
    Варианты:
  • нет
  • да
При no_device=true устройство не будет создано.
snapshot
string
Идентификатор моментальной копии EBS, который нужно скопировать при создании тома.
Взаимоисключительно с параметром ephemeral.
volume_size
integer
Размер тома (в GiB).
Обязательно, если не задан один из параметров ephemeral, snapshot или no_device.
volume_type
string
Тип создаваемого тома.
См. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html для получения дополнительной информации о доступных типах томов.
vpc_id
string
ID VPC, используется для преобразования имен групп безопасности в ID.

Примечания

Примечание

  • Конфигурации запуска Amazon ASG Autoscaling неизменны после создания, поэтому изменение конфигурации после её изменения не повлияет на конфигурацию запуска в AWS. Вам нужно создать новую конфигурацию и назначить её ASG.
  • Тома с шифрованием поддерживаются на версиях >= 2.4
  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY или EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY или EC2_SECRET_KEY, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN, AWS_REGION или EC2_REGION, AWS_CA_BUNDLE
  • Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, когда это требуется, но это также можно настроить в файле конфигурации boto

Примеры

# create a launch configuration using an AMI image and instance type as a basis

- name: note that encrypted volumes are only supported in >= Ansible 2.4
  community.aws.ec2_lc:
    name: special
    image_id: ami-XXX
    key_name: default
    security_groups: ['group', 'group2' ]
    instance_type: t1.micro
    volumes:
    - device_name: /dev/sda1
      volume_size: 100
      volume_type: io1
      iops: 3000
      delete_on_termination: true
      encrypted: true
    - device_name: /dev/sdb
      ephemeral: ephemeral0

- name: create a launch configuration using a running instance id as a basis
  community.aws.ec2_lc:
    name: special
    instance_id: i-00a48b207ec59e948
    key_name: default
    security_groups: ['launch-wizard-2' ]
    volumes:
    - device_name: /dev/sda1
      volume_size: 120
      volume_type: io1
      iops: 3000
      delete_on_termination: true

- name: create a launch configuration to omit the /dev/sdf EBS device that is included in the AMI image
  community.aws.ec2_lc:
    name: special
    image_id: ami-XXX
    key_name: default
    security_groups: ['group', 'group2' ]
    instance_type: t1.micro
    volumes:
    - device_name: /dev/sdf
      no_device: true

- name: Use EBS snapshot ID for volume
  block:
  - name: Set Volume Facts
    ansible.builtin.set_fact:
      volumes:
      - device_name: /dev/sda1
        volume_size: 20
        ebs:
          snapshot: snap-XXXX
          volume_type: gp2
          delete_on_termination: true
          encrypted: no

  - name: Create launch configuration
    community.aws.ec2_lc:
      name: lc1
      image_id: ami-xxxx
      assign_public_ip: yes
      instance_type: t2.medium
      key_name: my-key
      security_groups: "['sg-xxxx']"
      volumes: "{{ volumes }}"
    register: lc_info

Значения возврата

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

Ключ Возвращаемое значение Описание
arn
строка
при state=present
Amazon Resource Name (ARN) конфигурации запуска.

Пример:
arn:aws:autoscaling:us-east-1:148830907657:launchConfiguration:888d9b58-d93a-40c4-90cf-759197a2621a:launchConfigurationName/launch_config_name
changed
булево
всегда
Указание, изменилось ли состояние конфигурации запуска.

created_time
строка
при state=present
Дата и время создания конфигурации запуска.

Пример:
2017-11-03 23:46:44.841000
image_id
строка
при state=present
Идентификатор Amazon Machine Image (AMI), используемой конфигурацией запуска.

Пример:
ami-9be6f38c
instance_type
строка
при state=present
Тип экземпляра для экземпляров.

Пример:
t1.micro
name
строка
при state=present
Имя конфигурации запуска.

Пример:
launch_config_name
result
сложное
при state=present
Детали спецификаций конфигурации запуска.

associate_public_ip_address
булево
при state=present
(EC2-VPC) Указывает, нужно ли назначать публичный IP-адрес каждому экземпляру.

block_device_mappings
сложное
при state=present
Карта блочных устройств, которая определяет блочные устройства.

device_name
строка
при state=present
Имя устройства, доступное экземпляру EC2 (например, /dev/sdh или xvdh).

Пример:
/dev/sda1
ebs
сложное
при state=present
Информация об Amazon EBS-томе.

snapshot_id
строка
при state=present
Идентификатор снимка.

volume_size
строка
при state=present
Размер тома в ГБ.

Пример:
100
virtual_name
строка
при state=present
Имя виртуального устройства (например, ephemeral0).

Пример:
ephemeral0
classic_link_vpc_id
строка
при state=present
Идентификатор VPC с поддержкой ClassicLink для связи с экземплярами EC2-Classic.

classic_link_vpc_security_groups
список / элементы=строка
при state=present
Идентификаторы одного или нескольких наборов правил безопасности для VPC, указанного в ClassicLinkVPCId.

created_time
строка
при state=present
Дата и время создания конфигурации запуска.

Пример:
2017-11-03 23:46:44.841000
delete_on_termination
булево
при state=present
Указывает, удаляется ли том при завершении работы экземпляра.

Пример:
True
ebs_optimized
булево
при state=present
Указывает, оптимизирован ли экземпляр для ввода/вывода EBS (true) или нет (false).

image_id
строка
при state=present
Идентификатор Amazon Machine Image (AMI), используемой конфигурацией запуска.

Пример:
ami-9be6f38c
instance_monitoring
булево
при state=present
Указывает, запускаются ли экземпляры в этой группе с подробным (true) или базовым (false) мониторингом.

Пример:
True
instance_profile_name
строка
при state=present
Имя или Amazon Resource Name (ARN) профиля экземпляра, связанного с ролью IAM для экземпляра.

instance_type
строка
при state=present
Тип экземпляра для экземпляров.

Пример:
t1.micro
iops
целое число
при state=present
Количество операций ввода/вывода в секунду (IOPS), которые необходимо выделить для тома.

kernel_id
строка
при state=present
Идентификатор ядра, связанного с AMI.

key_name
строка
при state=present
Имя пары ключей.

Пример:
testkey
launch_configuration_arn
строка
при state=present
Amazon Resource Name (ARN) конфигурации запуска.

Пример:
arn:aws:autoscaling:us-east-1:148830907657:launchConfiguration:888d9b58-d93a-40c4-90cf-759197a2621a:launchConfigurationName/launch_config_name
member
строка
при state=present
Пример:
name
строка
при state=present
Имя конфигурации запуска.

Пример:
launch_config_name
PlacementTenancy
строка
при state=present
Тип аренды экземпляров, либо default, либо dedicated.

Пример:
default
ramdisk_id
строка
при state=present
Идентификатор RAM-диска, связанного с AMI.

security_groups
список / элементы=строка
при state=present
Наборы правил безопасности для ассоциации с экземплярами.

Пример:
['sg-5e27db2f']
spot_price
вещественное число
при state=present
Цена предложения при запуске Spot-экземпляров.

use_block_device_types
булево
при state=present
Указывает, нужно ли подавлять отображение устройства.

user_data
строка
при state=present
Данные пользователя, доступные экземплярам.

volume_type
строка
при state=present
Тип тома (один из стандартных, io1, gp2).

Пример:
io1
security_groups
список / элементы=строка
при state=present
Наборы правил безопасности для ассоциации с экземплярами.

Пример:
['sg-5e27db2f']


Авторы

  • Gareth Rushgrove (@garethr)
  • Willem van Ketwich (@wilvk)

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

Spec-Zone.ru

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