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 | Значение по умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | Значение по умолчанию: None | Секретный ключ 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) | Значение по умолчанию: no | Указывает, оптимизирован ли экземпляр для ввода-вывода EBS (true) или нет (false). |
| ec2_url | Значение по умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, для которых необходим регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL. |
| image_id | Уникальный идентификатор AMI, который будет использоваться для группы. | |
| instance_id (добавлен в 2.4) | Идентификатор запущенного экземпляра, который используется в качестве основы для конфигурации запуска. Может использоваться вместо image_id и instance_type. | |
| instance_monitoring | Значение по умолчанию: no | Указывает, запускаются ли экземпляры с подробным мониторингом. |
| instance_profile_name (добавлен в 1.8) | Имя или Amazon Resource Name (ARN) профиля экземпляра, связанного с ролью IAM для экземпляров. | |
| instance_type обязательно | Значение по умолчанию: None | Тип экземпляра, который нужно использовать для экземпляра. |
| kernel_id | Идентификатор ядра для экземпляра EC2. | |
| key_name | Имя SSH-ключа, которое будет использоваться для доступа к управляемым экземплярам. | |
| name обязательно | Уникальное имя для конфигурации. | |
| placement_tenancy (добавлен в 2.4) | Значение по умолчанию: default | Определяет, выполняется ли экземпляр на виртуальном оборудовании с арендой одного клиента или нет. |
| profile (добавлен в 1.6) | Значение по умолчанию: None | Использует профиль 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 можно указать имена или ID групп безопасности, или их комбинацию. До версии 2.4 для экземпляров VPC указывались ID групп безопасности, а для экземпляров EC2-Classic — имена или ID групп безопасности. | |
| security_token (добавлен в 1.6) | Значение по умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| spot_price | Цена, которую вы предлагаете. Применимо только для группы Auto Scaling с экземплярами spot. | |
| state обязательно |
| Регистрация или отмена регистрации экземпляра. |
| user_data | Необработанные данные, доступные экземпляру ec2. Взаимоисключительно с user_data_path. | |
| user_data_path (добавлен в 2.3) | Путь к файлу, содержащему данные пользователя для экземпляров ec2. Взаимоисключительно с user_data. | |
| validate_certs (добавлен в 1.5) |
| Если установлено значение "no", сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
| volumes | Список словарей объёмов, каждый из которых содержит имя устройства и, необязательно, ephemeral id или snapshot id. Размер и тип (и количество операций ввода-вывода для типа устройства io) должны быть указаны для нового объёма или системного объёма, и могут быть переданы для объёма снимка. Для любого объёма размер объёма меньше 1 будет интерпретироваться как запрос на отказ от создания объёма. | |
| vpc_id (добавлен в 2.4) | Идентификатор VPC, используемый при разрешении имен групп безопасности в ID. |
Примечания
Примечание
- Конфигурации запуска 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), используемый конфигурацией запуска. Пример: ami-9be6f38c | |||
| instance_type строка | при state=present | Тип экземпляра для экземпляров. Пример: t1.micro | |||
| name строка | при state=present | Имя конфигурации запуска. Пример: launch_config_name | |||
| result сложный тип | при state=present | Подробные данные спецификации конфигурации запуска. | |||
| use_block_device_types логическое | при state=present | Указывает, следует ли подавлять отображение устройства. | |||
| kernel_id строка | при state=present | Идентификатор ядра, связанного с AMI. | |||
| key_name строка | при state=present | Имя пары ключей. Пример: testkey | |||
| ramdisk_id строка | при state=present | Идентификатор RAM-диска, связанного с AMI. | |||
| user_data строка | при state=present | Данные пользователя, доступные для экземпляров. | |||
| image_id строка | при state=present | Идентификатор Amazon Machine Image (AMI), используемый конфигурацией запуска. Пример: ami-9be6f38c | |||
| iops NoneType | при state=present | Количество операций ввода-вывода в секунду (IOPS) для выделения тома. | |||
| created_time строка | при state=present | Дата и время создания конфигурации запуска. Пример: 2017-11-03 23:46:44.841000 | |||
| instance_monitoring логическое | при state=present | Указывает, будут ли экземпляры в этой группе запускаться с подробным (true) или базовым (false) мониторингом. Пример: True | |||
| classic_link_vpc_id NoneType | при state=present | Идентификатор VPC с поддержкой ClassicLink для подключения экземпляров EC2-Classic. | |||
| security_groups список | при state=present | Группы безопасности, которые необходимо ассоциировать с экземплярами. Пример: ['sg-5e27db2f'] | |||
| classic_link_vpc_security_groups список | при state=present | Идентификаторы одной или нескольких групп безопасности для VPC, указанной в ClassicLinkVPCId. | |||
| spot_price NoneType | при state=present | Цена предложения при запуске Spot-экземпляров. | |||
| name строка | при state=present | Имя конфигурации запуска. Пример: launch_config_name | |||
| instance_profile_name строка | при state=present | Имя или Amazon Resource Name (ARN) профиля экземпляра, связанного с ролью IAM для экземпляра. | |||
| ebs_optimized логическое | при state=present | Указывает, оптимизирован ли экземпляр для ввода-вывода EBS (true) или нет (false). | |||
| volume_type NoneType | при state=present | Тип тома (стандартный, io1, gp2). | |||
| member строка | при state=present | Пример: | |||
| instance_type строка | при state=present | Тип экземпляра для экземпляров. Пример: t1.micro | |||
| PlacementTenancy строка | при state=present | Тип аренды экземпляров, либо default, либо dedicated. Пример: default | |||
| associate_public_ip_address NoneType | при state=present | (EC2-VPC) Указывает, следует ли назначать общедоступный IP-адрес каждому экземпляру. | |||
| 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 | |||
| block_device_mappings сложный тип | при state=present | Отображение блочного устройства, задающее блочные устройства. | |||
| virtual_name NoneType | при state=present | Имя виртуального устройства (например, ephemeral0). | |||
| device_name строка | при state=present | Имя устройства, экспонируемого для экземпляра EC2 (например, /dev/sdh или xvdh). Пример: /dev/sda1 | |||
| ebs сложный тип | при state=present | Информация о томе Amazon EBS. | |||
| volume_size string | when state=present | Размер тома в GiB. Пример: 100 | |||
| snapshot_id NoneType | when state=present | Идентификатор моментального снимка. | |||
| delete_on_termination bool | when state=present | Указывает, удаляется ли том при завершении работы экземпляра. Пример: True | |||
| security_groups list | when state=present | Группы безопасности, которые следует связать с экземплярами. Пример: ['sg-5e27db2f'] | |||
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики данного модуля гарантируют отсутствие несовместимых изменений интерфейса.
Автор
- 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.5/modules/ec2_lc_module.html