ec2_vol - создание и подключение тома, возврат идентификатора тома и отображения устройства
Обзор
- создаёт EBS-том и необязательно подключает его к экземпляру. Если указаны и идентификатор экземпляра, и имя устройства, и экземпляр имеет устройство с этим именем, то том не создаётся и подключение не производится. Этот модуль зависит от python-boto.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 | |
| delete_on_termination bool (добавлено в 2.1) |
| При установке в "да", том будет удалён при завершении работы экземпляра. |
| device_name | Идентификатор устройства для переопределения сопоставления устройств. Предполагается /dev/sdf для Linux/UNIX и /dev/xvdf для Windows. | |
| ec2_url | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| encrypted (добавлено в 1.8) | По умолчанию: "нет" | Включить шифрование тома. |
| id (добавлено в 1.6) | Идентификатор тома, если необходимо подключить существующий том (требуется экземпляр) или удалить существующий том | |
| instance | Идентификатор экземпляра, если необходимо подключить том. Начиная с 1.9, можно установить в None для отключения. | |
| iops (добавлено в 1.3) | По умолчанию: 100 | Заданные IOPs, которые нужно ассоциировать с этим томом (целое число). |
| kms_key_id (добавлено в 2.3) | Укажите идентификатор ключа KMS для использования. | |
| name (добавлено в 1.6) | Тег имени тома, если необходимо подключить существующий том (требуется экземпляр). | |
| profile (добавлено в 1.6) | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| region | AWS-регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| security_token (добавлено в 1.6) | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| snapshot (добавлено в 1.5) | Идентификатор снимка, на основе которого создать том | |
| state (добавлено в 1.6) |
| указать, нужно ли гарантировать наличие тома, отсутствие или перечисление существующих томов (Вариант list добавлен в версии 1.8). |
| tags (добавлено в 2.3) | По умолчанию: {} | пары "тег:значение" для добавления к тому после создания |
| validate_certs bool (добавлено в 1.5) |
| При установке в "нет", сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
| volume_size | размер создаваемого тома (в ГБ). | |
| volume_type (добавлено в 1.9) | По умолчанию: "стандартный" | Тип EBS тома; стандартный (магнитная), gp2 (SSD), io1 (зарезервированные IOPS), st1 (HDD с оптимизированной пропускной способностью), sc1 (HDD для холодного хранения). "Стандартный" является устаревшим значением по умолчанию EBS и продолжает оставаться значением по умолчанию Ansible для обеспечения обратной совместимости. |
| zone | зона для создания тома, если не задана, используется зона экземпляра (если задана) Псевдонимы: aws_zone, ec2_zone |
Примечания
Примечание
- Если параметры не установлены в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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
Примеры
# Simple attachment action
- ec2_vol:
instance: XXXXXX
volume_size: 5
device_name: sdd
# Example using custom iops params
- ec2_vol:
instance: XXXXXX
volume_size: 5
iops: 100
device_name: sdd
# Example using snapshot id
- ec2_vol:
instance: XXXXXX
snapshot: "{{ snapshot }}"
# Playbook example combined with instance launch
- ec2:
keypair: "{{ keypair }}"
image: "{{ image }}"
wait: yes
count: 3
register: ec2
- ec2_vol:
instance: "{{ item.id }}"
volume_size: 5
with_items: "{{ ec2.instances }}"
register: ec2_vol
# Example: Launch an instance and then add a volume if not already attached
# * Volume will be created with the given name if not already created.
# * Nothing will happen if the volume is already attached.
# * Requires Ansible 2.0
- ec2:
keypair: "{{ keypair }}"
image: "{{ image }}"
zone: YYYYYY
id: my_instance
wait: yes
count: 1
register: ec2
- ec2_vol:
instance: "{{ item.id }}"
name: my_existing_volume_Name_tag
device_name: /dev/xvdf
with_items: "{{ ec2.instances }}"
register: ec2_vol
# Remove a volume
- ec2_vol:
id: vol-XXXXXXXX
state: absent
# Detach a volume (since 1.9)
- ec2_vol:
id: vol-XXXXXXXX
instance: None
# List volumes for an instance
- ec2_vol:
instance: i-XXXXXX
state: list
# Create new volume using SSD storage
- ec2_vol:
instance: XXXXXX
volume_size: 50
volume_type: gp2
device_name: /dev/xvdf
# Attach an existing volume to instance. The volume will be deleted upon instance termination.
- ec2_vol:
instance: XXXXXX
id: XXXXXX
device_name: /dev/sdf
delete_on_termination: yes
Возвращаемые значения
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| device строка | при успехе | имя устройства подключенного тома Пример: /def/sdf |
| volume строка | при успехе | словарь, содержащий подробные атрибуты тома Пример: {'attachment_set': {'attach_time': '2015-10-23T00:22:29.000Z', 'deleteOnTermination': 'false', 'device': '/dev/sdf', 'instance_id': 'i-8356263c', 'status': 'attached'}, 'create_time': '2015-10-21T14:36:08.870Z', 'encrypted': False, 'id': 'vol-35b333d9', 'iops': None, 'size': 1, 'snapshot_id': '', 'status': 'in-use', 'tags': {'env': 'dev'}, 'type': 'standard', 'zone': 'us-east-1b'} |
| volume_id строка | при успехе | идентификатор тома Пример: vol-35b333d9 |
| volume_type строка | при успехе | тип тома Пример: стандартный |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься обратные несовместимые изменения интерфейса.
Техническое обслуживание
Этот модуль помечен как core, что означает, что его поддерживает Команда разработчиков Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых командой разработчиков Ansible, см. здесь.
Поддержка
Для получения дополнительной информации о поддержке этого модуля Red Hat, обратитесь к этой статье базы знаний.
Автор
- Lester Wade (@lwade)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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_vol_module.html