ec2_lc - Создание или удаление конфигураций запуска AWS Autoscaling
Новое в версии 1.6.
Описание
- Может создавать или удалять конфигурации запуска AWS Autoscaling
- Работает с модулем ec2_asg для управления группами Autoscaling
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3 >= 1.4.4
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| assign_public_ip (добавлен в 1.8) | Используется для групп Auto Scaling, которые запускают экземпляры в Amazon Virtual Private Cloud. Указывает, следует ли назначать общедоступный IP-адрес каждому экземпляру, запущенному в Amazon VPC. | |
| aws_access_key | Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key | Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| classic_link_vpc_id (добавлен в 2.0) | Идентификатор VPC с включенным ClassicLink | |
| classic_link_vpc_security_groups (добавлен в 2.0) | Список идентификаторов групп безопасности, которые следует привязать к экземплярам ClassicLink VPC. | |
| ebs_optimized (добавлен в 1.8) | По умолчанию: "нет" | Указывает, оптимизирован ли экземпляр для ввода-вывода EBS (true) или нет (false). |
| ec2_url | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть. | |
| image_id | Уникальный идентификатор AMI, который будет использоваться для группы | |
| instance_id (добавлен в 2.4) | Идентификатор работающего экземпляра, используемого в качестве основы для конфигурации запуска. Может использоваться вместо image_id и instance_type. | |
| instance_monitoring bool |
| Указывает, запускаются ли экземпляры с подробным мониторингом. |
| instance_profile_name (добавлен в 1.8) | Имя или Amazon Resource Name (ARN) профиля экземпляра, связанного с ролью IAM для экземпляров. | |
| instance_type обязательно | Тип экземпляра, используемого для экземпляра | |
| kernel_id | Идентификатор ядра для экземпляра EC2 | |
| key_name | Имя SSH-ключа, используемого для доступа к управляемым экземплярам | |
| name обязательно | Уникальное имя конфигурации | |
| placement_tenancy (добавлен в 2.4) | По умолчанию: "по умолчанию" | Определяет, работает ли экземпляр на оборудовании с однопользовательской арендой или нет. |
| profile (добавлен в 1.6) | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| ramdisk_id (добавлен в 1.8) | Идентификатор 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 вы можете указать либо имена или идентификаторы групп безопасности, либо их комбинацию. До версии 2.4 для экземпляров VPC указывались идентификаторы групп безопасности, а для экземпляров EC2-Classic — либо имена, либо идентификаторы. | |
| security_token (добавлен в 1.6) | AWS STS-токен безопасности. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| spot_price | Цена, которую вы предлагаете. Применимо только для группы autoscaling с экземплярами spot. | |
| state обязательно |
| Регистрация или удаление экземпляра |
| user_data | Необработанные данные, доступные экземпляру ec2. Взаимоисключающе с user_data_path. | |
| user_data_path (добавлен в 2.3) | Путь к файлу, содержащему данные пользователя для экземпляров ec2. Взаимоисключающе с user_data. | |
| validate_certs bool (добавлен в 1.5) |
| При значении "нет" сертификаты SSL для boto-версий >= 2.6.0 не будут проверены. |
| volumes | Список словарей томов, каждый из которых содержит имя устройства и необязательно идентификатор ephemeral или snapshot. Размер и тип (и количество операций ввода-вывода для типа устройства io) должны быть указаны для нового тома или корневого тома, и могут быть переданы для тома snapshot. Для любого тома размер тома меньше 1 будет интерпретироваться как запрос на несоздание тома. | |
| vpc_id (добавлен в 2.4) | Идентификатор VPC, используемый при преобразовании имен групп безопасности в идентификаторы. |
Примечания
Примечание
- Конфигурации запуска Amazon ASG Autoscaling являются неизменяемыми после создания, поэтому изменение конфигурации после ее изменения не приведет к изменению конфигурации запуска в AWS. Вы должны создать новую конфигурацию и назначить ее группе ASG вместо этого.
- шифрованные тома поддерживаются в версиях >= 2.4
- Если параметры не заданы в модуле, следующие переменные среды могут использоваться в порядке убывания приоритета
AWS_URLилиEC2_URL,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 - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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
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
# create a launch configuration using a running instance id as a basis
- 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
# create a launch configuration to omit the /dev/sdf EBS device that is included in the AMI image
- 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
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| 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-9be6f38c | |||
| instance_type строка | при state=present | Тип экземпляра для экземпляров. Пример: t1.micro | |||
| name строка | при state=present | Имя конфигурации запуска. Пример: launch_config_name | |||
| result сложное | при state=present | Детали спецификаций конфигурации запуска. | |||
| PlacementTenancy строка | при state=present | Тип аренды экземпляров: default или dedicated. Пример: default | |||
| associate_public_ip_address NoneType | при 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 NoneType | при state=present | Идентификатор снимка. | |||
| volume_size строка | при state=present | Размер тома в ГБ. Пример: 100 | |||
| virtual_name NoneType | при state=present | Имя виртуального устройства (например, ephemeral0). | |||
| classic_link_vpc_id NoneType | при 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-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 NoneType | при 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 | |||
| ramdisk_id строка | при state=present | Идентификатор RAM-диска, связанного с AMI. | |||
| security_groups список | при state=present | Наборы правил безопасности, которые нужно связать с экземплярами. Пример: ['sg-5e27db2f'] | |||
| цена_спот NoneType | когда state=present | Цена для торговли при запуске экземпляров Spot Instances. | |||
| использовать_типы_блочных_устройств bool | когда state=present | Указывает, следует ли подавлять отображение устройства. | |||
| данные_пользователя string | когда state=present | Данные пользователя, доступные для экземпляров. | |||
| тип_тома NoneType | когда state=present | Тип тома (один из стандартного, io1, gp2). | |||
| группы_безопасности list | когда state=present | Группы безопасности, которые необходимо связать с экземплярами. Пример: ['sg-5e27db2f'] | |||
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут внесены несовместимые с предыдущими версиями изменения интерфейса.
Техническое обслуживание
Этот модуль помечен как certified, что означает, что его поддерживает партнер Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых партнерами Ansible, см. здесь.
Автор
- Gareth Rushgrove (@garethr)
- Willem van Ketwich (@wilvk)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/ec2_lc_module.html