ec2_vol - создание и подключение тома, возврат идентификатора тома и карты устройств
Обзор
- создаёт том EBS и, по желанию, подключает его к экземпляру. Если указан идентификатор экземпляра и имя устройства, а на экземпляре уже существует устройство с указанным именем, то том не создаётся и подключение не выполняется. Этот модуль зависит от python-boto.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 |
| delete_on_termination (добавлено в 2.1) |
| Если установлено в «yes», том будет удалён при завершении работы экземпляра. |
| device_name | Значение по умолчанию: None | идентификатор устройства для переопределения сопоставления устройств. Предполагается /dev/sdf для Linux/UNIX и /dev/xvdf для Windows. |
| ec2_url | Значение по умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая есть. |
| encrypted (добавлено в 1.8) | Значение по умолчанию: no | Включить шифрование данных тома. |
| id (добавлено в 1.6) | Значение по умолчанию: None | идентификатор тома, если требуется подключить существующий том (требуется экземпляр) или удалить существующий том |
| instance | Значение по умолчанию: None | идентификатор экземпляра, если требуется подключить том. С версии 1.9 можно установить в None для отключения. |
| iops (добавлено в 1.3) | Значение по умолчанию: 100 | заданные IOPS для данного тома (целое число). |
| kms_key_id (добавлено в 2.3) | Значение по умолчанию: None | Укажите идентификатор ключа KMS. |
| name (добавлено в 1.6) | Значение по умолчанию: None | Имя тега тома, если требуется подключить существующий том (требуется экземпляр) |
| profile (добавлено в 1.6) | Значение по умолчанию: None | Использует профиль 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) | Значение по умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token |
| snapshot (добавлено в 1.5) | Значение по умолчанию: None | Идентификатор моментального снимка, на основе которого создать том |
| state (добавлено в 1.6) |
| указать, должен ли том присутствовать или отсутствовать, или вывести список существующих томов (вариант list добавлен в версии 1.8). |
| tags (добавлено в 2.3) | Значение по умолчанию: {} | теги в формате пара ключ-значение для добавления к тому после создания |
| validate_certs (добавлено в 1.5) |
| Если установлено в «no», сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
| volume_size | Значение по умолчанию: None | размер тома (в ГБ) для создания. |
| volume_type (добавлено в 1.9) | Значение по умолчанию: standard | Тип тома EBS; стандартный (магнитный), gp2 (SSD), io1 (заданные IOPS), st1 (пропускная способность HDD), sc1 (HDD холодного хранения). «Стандартный» — это старый стандартный том EBS, и он по-прежнему является значением по умолчанию в Ansible для обратной совместимости. |
| zone | Значение по умолчанию: None | зона для создания тома, если не задана, используется зона, в которой находится экземпляр (если задан). псевдонимы: 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 строка | при успехе | словарь, содержащий подробные атрибуты тома Пример: {'status': 'в использовании', 'zone': 'us-east-1b', 'tags': {'env': 'dev'}, 'encrypted': False, 'iops': None, 'create_time': '2015-10-21T14:36:08.870Z', 'snapshot_id': '', 'attachment_set': {'device': '/dev/sdf', 'instance_id': 'i-8356263c', 'deleteOnTermination': 'false', 'status': 'подключено', 'attach_time': '2015-10-23T00:22:29.000Z'}, 'type': 'стандартный', 'id': 'vol-35b333d9', 'size': 1} |
| volume_id строка | при успехе | идентификатор тома Пример: vol-35b333d9 |
| volume_type строка | при успехе | тип тома Пример: стандартный |
Статус
Этот модуль помечен как stableinterface, что означает, что авторы данного модуля гарантируют, что не будут вноситься обратные несовместимые изменения интерфейса.
Поддержка
Для получения дополнительной информации о поддержке этого модуля 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.5/modules/ec2_vol_module.html