community.aws.ec2_launch_template – Управление шаблонами запуска EC2
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Чтобы использовать его в книге задач, укажите: community.aws.ec2_launch_template.
Новый в версии 1.0.0: из community.aws
Обзор
- Создание, изменение и удаление шаблонов запуска EC2, которые могут использоваться для создания отдельных экземпляров или с группами автоматического масштабирования.
- Модули community.aws.ec2_instance и community.aws.ec2_asg могут, вместо указания всех параметров в этих задачах, принять шаблон запуска, который содержит настройки, такие как размер экземпляра, тип диска, подсеть и многое другое.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3 >= 1.6.0
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| 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'. Подробнее о конфигурации boto см. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#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 | |||
| block_device_mappings список / элементы=словарь | Карта блочных устройств. Указание и ID снимка, и значения шифрования в качестве аргументов для карты блочных устройств приводит к ошибке. Это связано с тем, что только пустые тома могут быть зашифрованы при запуске, и они не создаются из снимка. Если в основе тома лежит снимок, он содержит данные по определению, и его состояние шифрования не может быть изменено с помощью этого действия. | |||
| device_name строка | Имя устройства (например, /dev/sdh или xvdh). | |||
| ebs словарь | Параметры, используемые для автоматической настройки томов EBS при запуске экземпляра. | |||
| delete_on_termination булево |
| Указывает, будет ли том EBS удален при завершении работы экземпляра. | ||
| encrypted булево |
| Указывает, зашифрован ли том EBS. Зашифрованные тома могут быть подключены только к экземплярам, поддерживающим шифрование Amazon EBS. Если вы создаете том из снимка, вы не можете указать значение шифрования. | ||
| iops целое число | Количество операций ввода-вывода в секунду (IOPS), поддерживаемых томом. Для io1 это количество IOPS, выделенных для тома. Для gp2 это базовая производительность тома и скорость накопления кредитов I/O для повышения производительности. Дополнительную информацию о базовой производительности SSD общего назначения, кредитах I/O и повышении производительности см. в руководстве пользователя Amazon Elastic Compute Cloud, раздел «Типы томов Amazon EBS». Условие: Этот параметр требуется для запросов на создание томов io1; он не используется в запросах на создание томов gp2, st1, sc1 или стандартных томов. | |||
| kms_key_id строка | ARN ключа управления ключами AWS (AWS KMS) CMK, используемого для шифрования. | |||
| snapshot_id строка | ID снимка, по которому будет создан том. | |||
| volume_size целое число | Размер тома в ГБ. Значение по умолчанию: Если вы создаете том из снимка и не указываете размер тома, значение по умолчанию — размер снимка. | |||
| volume_type строка | Тип тома | |||
| no_device строка | Исключает указанное устройство из отображения блочных устройств AMI. | |||
| virtual_name строка | Виртуальное имя устройства (ephemeralN). Тома памяти экземпляра нумеруются, начиная с 0. Тип экземпляра с 2 доступными томами памяти может указать сопоставления для ephemeral0 и ephemeral1. Количество доступных томов памяти зависит от типа экземпляра. После подключения к экземпляру необходимо смонтировать том. | |||
| cpu_options словарь | Настройка параметров процессора для экземпляров EC2, которые будут созданы по этому шаблону. Дополнительную информацию см. по адресу http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html
| |||
| core_count целое число | Количество ядер процессора для экземпляра. | |||
| threads_per_core целое число | Количество потоков на ядро процессора. Для отключения технологии Intel Hyper-Threading для экземпляра укажите значение 1. В противном случае укажите значение по умолчанию 2. | |||
| credit_specification словарь | Параметр кредитов для использования процессора экземпляром. Действительно только для экземпляров T2 или T3. | |||
| cpu_credits строка | Параметр кредитов для использования процессора экземпляром T2 или T3. Допустимые значения — standard и unlimited. | |||
| debug_botocore_endpoint_logs булево |
| Использование регистрирующего устройства botocore.endpoint для анализа уникальных (а не общих) вызовов API «ресурс:действие» во время задачи, вывод набора в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, выполненного во время выполнения playbook. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. | ||
| default_version строка | Значение по умолчанию: "latest" | Какая версия должна быть по умолчанию, когда пользователи запускают новые экземпляры на основе этого шаблона? По умолчанию последняя версия будет установлена по умолчанию. | ||
| disable_api_termination булево |
| Это помогает защитить экземпляры от случайного завершения работы. Если установлено в значение «true», вы не можете завершить работу экземпляра с помощью консоли Amazon EC2, CLI или API. Чтобы изменить это свойство на «false» после запуска, используйте ModifyInstanceAttribute. | ||
| ebs_optimized булево |
| Указывает, оптимизирован ли экземпляр для ввода-вывода Amazon EBS. Эта оптимизация предоставляет выделенную пропускную способность для Amazon EBS и оптимизированный стек конфигурации для обеспечения оптимальной производительности ввода-вывода Amazon EBS. Эта оптимизация не доступна для всех типов экземпляров. При использовании оптимизированного экземпляра EBS взимаются дополнительные сборы. | ||
| ec2_url строка | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть. псевдонимы: aws_endpoint_url, endpoint_url | |||
| elastic_gpu_specifications список / элементы=словарь | Настройки для подключения Elastic GPU. Подробности см. на странице https://aws.amazon.com/ec2/elastic-gpus/ | |||
| type строка | Тип Elastic GPU для подключения | |||
| iam_instance_profile строка | Имя или ARN профиля IAM для экземпляра. Требует разрешений для описания существующих ролей экземпляров для проверки правильности формирования ARN. | |||
| image_id строка | ID AMI, который необходимо использовать для новых экземпляров, запущенных с помощью этого шаблона. Это значение зависит от региона, так как AMI не являются глобальными ресурсами. | |||
| instance_initiated_shutdown_behavior строка |
| Указывает, останавливается или завершает работу экземпляр при инициации завершения работы с помощью команды завершения работы операционной системы. | ||
| instance_market_options словарь | Параметры для альтернативных рынков экземпляров, в настоящее время поддерживается только рынок spot. | |||
| тип_рынка строка | Тип рынка. Должен всегда быть 'spot'. | |||
| параметры_спота словарь | Настройки, специфичные для рынка спотовой торговли. | |||
| продолжительность_блока_в_минутах целое_число | Требуемая продолжительность спотовых экземпляров (также известных как блоки спотовых ресурсов), в минутах. Это значение должно быть кратно 60 (60, 120, 180, 240, 300 или 360). | |||
| поведение_при_прерывании_экземпляра строка |
| Поведение при прерывании спотового экземпляра. По умолчанию terminate. | ||
| максимальная_цена строка | Наивысшая почасовая цена, которую вы готовы заплатить за этот спотовый экземпляр. | |||
| тип_спотового_экземпляра строка |
| Тип запроса для отправки. | ||
| тип_экземпляра строка | Тип экземпляра, например, c5.2xlarge. Полный список типов экземпляров см. по адресу http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html. | |||
| id_ядра строка | Идентификатор ядра. Рекомендуется использовать PV-GRUB вместо ядер и дисков RAM. Дополнительную информацию см. по адресу http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html
| |||
| имя_ключа строка | Имя пары ключей. Вы можете создать пару ключей с помощью amazon.aws.ec2_key. Если вы не укажете пару ключей, вы не сможете подключиться к экземпляру, если не выберете AMI, настроенный для предоставления другим пользователям способа входа. | |||
| мониторинг словарь | Настройки для мониторинга экземпляра. | |||
| включено булево |
| Включить подробный мониторинг для новых экземпляров. Это повлечёт дополнительные расходы. | ||
| сетевые_интерфейсы список / элементы=словарь | Один или несколько сетевых интерфейсов. | |||
| привязать_публичный_ip_адрес булево |
| Привязывает публичный IPv4-адрес к eth0 для нового сетевого интерфейса. | ||
| удалить_при_выключении булево |
| Указывает, удаляется ли сетевой интерфейс при завершении работы экземпляра. | ||
| описание строка | Описание сетевого интерфейса. | |||
| индекс_устройства целое_число | Индекс устройства для подключения сетевого интерфейса. | |||
| группы список / элементы=строка | Список идентификаторов групп безопасности, которые нужно включить в этот экземпляр. | |||
| количество_адресов_ipv6 целое_число | Количество IPv6-адресов, которые нужно назначить сетевому интерфейсу. Amazon EC2 автоматически выбирает IPv6-адреса из диапазона подсети. Вы не можете использовать этот параметр, если вы указываете параметр ipv6_addresses. | |||
| ipv6_адреса список / элементы=строка | Список одного или нескольких определённых IPv6-адресов из диапазона IPv6 CIDR-блока вашей подсети. Вы не можете использовать этот параметр, если вы указываете параметр ipv6_address_count. | |||
| id_сетевого_интерфейса строка | Идентификатор eni сетевого интерфейса для подключения. | |||
| частный_ip_адрес строка | Основной частный IPv4-адрес сетевого интерфейса. | |||
| id_подсети строка | Идентификатор подсети для сетевого интерфейса. | |||
| размещение словарь | Настройки группы размещения для экземпляра. | |||
| привязка строка | Настройка привязки экземпляра к выделенному хосту. | |||
| зона_доступности строка | Зона доступности для экземпляра. | |||
| имя_группы строка | Имя группы размещения для экземпляра. | |||
| id_хоста строка | Идентификатор выделенного хоста для экземпляра. | |||
| аренда строка | Тип аренды экземпляра (если экземпляр работает в VPC). Экземпляр с арендой «dedicated» работает на оборудовании с арендой одного клиента. | |||
| профиль строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование профиля переопределит aws_access_key, aws_secret_key и security_token, и поддержка их одновременного указания с профилем устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимно исключающими с профилем после 2022-06-01. псевдонимы: aws_profile | |||
| id_диска_ram строка | Идентификатор диска RAM для запуска экземпляра. Рекомендуется использовать PV-GRUB вместо ядер и дисков RAM. Дополнительную информацию см. по адресу http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html
| |||
| регион строка | AWS-регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |||
| id_групп_безопасности список / элементы=строка | Список идентификаторов групп безопасности (VPC или EC2-Classic), которые будут добавлены к новым экземплярам. | |||
| группы_безопасности список / элементы=строка | Список имён групп безопасности (по умолчанию VPC или EC2-Classic), которые будут добавлены к новым экземплярам. Для любых VPC, кроме VPC по умолчанию, необходимо использовать security_group_ids. | |||
| токен_безопасности строка | AWS STS токен безопасности. Если не указан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан профиль, этот параметр игнорируется. Передача параметров security_token и profile одновременно устарела и параметры будут сделаны взаимно исключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | |||
| состояние строка |
| Указывает, должен ли шаблон запуска существовать или нет. Удаление определённых версий шаблона запуска в настоящее время не поддерживается. | ||
| метки словарь | Набор пар ключ-значение, которые будут применены к ресурсам при использовании этого шаблона запуска. Ограничения для ключей меток: ключи меток чувствительны к регистру и принимают максимум 127 символов Юникода. Не должны начинаться с aws:
Ограничения для значений меток: значения меток чувствительны к регистру и принимают максимум 255 символов Юникода. | |||
| id_шаблона строка | Идентификатор шаблона запуска, может быть использован во всех случаях, кроме создания нового шаблона запуска. псевдонимы: id | |||
| название_шаблона строка | Название шаблона. Оно должно быть уникальным в сочетании с регионом и учётной записью. псевдонимы: name | |||
| данные_пользователя строка | Данные пользователя в кодировке Base64, которые будут доступны экземпляру. Дополнительную информацию см. в документации по Linux http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html и Windows http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data. | |||
| validate_certs boolean |
| При установке в "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. | ||
Примечания
Примечание
- Если параметры не установлены в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
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
Примеры
- name: Create an ec2 launch template
community.aws.ec2_launch_template:
name: "my_template"
image_id: "ami-04b762b4289fba92b"
key_name: my_ssh_key
instance_type: t2.micro
iam_instance_profile: myTestProfile
disable_api_termination: true
- name: >
Create a new version of an existing ec2 launch template with a different instance type,
while leaving an older version as the default version
community.aws.ec2_launch_template:
name: "my_template"
default_version: 1
instance_type: c5.4xlarge
- name: Delete an ec2 launch template
community.aws.ec2_launch_template:
name: "my_template"
state: absent
# This module does not yet allow deletion of specific versions of launch templates
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| default_version integer | при state=present | Версия, которая будет использована, если указано только имя шаблона. Часто это совпадает с последней версией, но не всегда. |
| latest_version integer | при state=present | Последняя доступная версия шаблона запуска. |
Авторы
- Ryan Scott Brown (@ryansb)
© 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_launch_template_module.html