rds – создание, удаление или изменение экземпляров Amazon rds, снимков rds и связанных фактов
Краткое описание
- Создаёт, удаляет или изменяет ресурсы rds.
- При создании экземпляра он может быть новым экземпляром или чтением-только репликой существующего экземпляра.
- Этот модуль зависит от python-boto >= 2.5 и вскоре будет устаревшим.
- Команда «promote» требует boto >= 2.18.0. Некоторые функции, такие как теги, зависят от boto.rds2 (boto >= 2.26.0).
- Пожалуйста, используйте основанный на boto3 rds_instance вместо этого.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| apply_immediately boolean |
| Используется только при command=modify. Если включено, изменения будут применены как можно скорее, а не ожидая следующего предпочтительного окна обслуживания. |
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| backup_retention - | Количество дней, в течение которых сохраняются резервные копии. Установите 0, чтобы отключить резервное копирование. По умолчанию 1 день. Допустимый диапазон: 0-35. Используется только при command=create или command=modify. | |
| backup_window - | Окно резервного копирования в формате чч24:мм-чч24:мм. Если не указано, назначается случайное окно резервного копирования. Используется только при command=create или command=modify. | |
| character_set_name - | Связать экземпляр базы данных с указанным набором символов. Используется при command=create. | |
| command - / обязательно |
| Указывает действие, которое нужно выполнить. Опция 'reboot' доступна начиная с версии 2.0 |
| db_engine - |
| Тип базы данных. Используется только при command=create. mariadb добавлен в версии 2.2 |
| db_name - | Имя базы данных для создания в экземпляре. Если не указано, база данных не создается. Используется только при command=create. | |
| debug_botocore_endpoint_logs boolean added in 2.8 |
| Используйте журналирование botocore.endpoint для парсинга уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводив набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, выполненный во время выполнения сценария. Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая имеется. | |
| engine_version - | Номер версии движка базы данных для использования. Используется только при command=create. Если не указано, используется текущая версия движка Amazon RDS по умолчанию | |
| force_failover boolean |
| Используется только при command=reboot. Если включено, перезапуск выполняется с помощью переключения отказоустойчивости MultiAZ. |
| instance_name - | Идентификатор экземпляра базы данных. Требуется, за исключением использования command=facts или command=delete только для снимка. | |
| instance_type - | Тип экземпляра базы данных. Должен быть указан при command=create. Необязателен при command=replicate, command=modify или command=restore. Если не указано, реплика наследует тот же тип экземпляра, что и исходный экземпляр. | |
| iops - | Указывает количество IOPS для экземпляра. Используется только при command=create или command=modify. Должно быть целым числом, большим 1000. | |
| license_model - |
| Модель лицензирования для этого экземпляра базы данных. Используется только при command=create или command=restore. |
| maint_window - | Окно обслуживания в формате ддд:чч24:мм-ддд:чч24:мм. (Пример: Пн:22:00-Пн:23:15) Если не указано, назначается случайное окно обслуживания. Используется только при command=create или command=modify. | |
| multi_zone boolean |
| Указывает, является ли это развертыванием в нескольких зонах доступности. Не может использоваться вместе с параметром zone. Используется только при command=create или command=modify. |
| new_instance_name - | Имя для переименования экземпляра. Используется только при command=modify. | |
| option_group - | Имя группы параметров, которое нужно использовать. Если не указано, используется группа параметров по умолчанию. Используется только при command=create. | |
| parameter_group - | Имя группы параметров базы данных, которое следует связать с этим экземпляром. Если опущено, будет использоваться группа параметров базы данных RDS по умолчанию. Используется только при command=create или command=modify. | |
| password - | Пароль для имени пользователя основной базы данных. Используется только при command=create или command=modify. | |
| port - | По умолчанию: "3306 для mysql, 1521 для Oracle, 1433 для SQL Server, 5432 для PostgreSQL." | Номер порта, используемого экземпляром базы данных для подключений. Используется только при command=create или command=replicate. До версии 2.0 по умолчанию всегда было null, и API использовало 3306, его приходилось устанавливать на другие значения по умолчанию для других БД, когда не использовался MySql. Начиная с версии 2.0 он автоматически устанавливается на значение, ожидаемое для каждого db_engine. |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| publicly_accessible - | явное задание, должно ли ресурс быть общедоступным или нет. Используется с command=create, command=replicate. Требует boto >= 2.26.0 | |
| region строка / обязательно | AWS регион для использования. Если не указан, используется значение переменной окружения EC2_REGION, если таковая имеется. Псевдонимы: aws_region, ec2_region | |
| security_groups - | Список, разделенный запятыми, из одного или нескольких security групп. Используется только при command=create или command=modify. | |
| security_token строка | AWS STS security токен. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| size - | Размер в гигабайтах начального хранилища для экземпляра базы данных. Используется только при command=create или command=modify. | |
| snapshot - | Имя снимка для создания. При command=delete, если имя снимка не указано, снимок не создается. Если используется с command=delete без instance_name, снимок удаляется. Используется с command=facts, command=delete или command=snapshot. | |
| source_instance - | Имя базы данных для репликации. Используется только при command=replicate. |
| subnet - | Группа подсетей VPC. Если указано, создается экземпляр VPC. Используется только при command=create. | |
| tags - | Словарь тегов, применяемых к ресурсу. Используется с command=create, command=replicate, command=restore. Требуется boto >= 2.26.0 | |
| upgrade boolean |
| Указывает, что обновления незначительных версий должны применяться автоматически. Используется только при command=create или command=modify или command=restore или command=replicate. |
| username - | Имя пользователя главной базы данных. Используется только при command=create. | |
| validate_certs boolean |
| При установке в "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| vpc_security_groups - | Список, разделенный запятыми, одного или нескольких идентификаторов групп безопасности VPC. Также требуется указать `subnet`. Используется только при command=create или command=modify. | |
| wait boolean |
| При command=create, replicate, modify или restore ожидать, пока база данных не перейдет в состояние 'доступна'. При command=delete ожидать завершения работы базы данных. |
| wait_timeout - | По умолчанию: 300 | Время ожидания, прежде чем ожидание прекратится, в секундах |
| zone - | зона доступности, в которой следует запустить экземпляр. Используется только при command=create, command=replicate или command=restore. псевдонимы: 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), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, если это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
# Basic mysql provisioning example
- rds:
command: create
instance_name: new-database
db_engine: MySQL
size: 10
instance_type: db.m1.small
username: mysql_admin
password: 1nsecure
tags:
Environment: testing
Application: cms
# Create a read-only replica and wait for it to become available
- rds:
command: replicate
instance_name: new-database-replica
source_instance: new_database
wait: yes
wait_timeout: 600
# Delete an instance, but create a snapshot before doing so
- rds:
command: delete
instance_name: new-database
snapshot: new_database_snapshot
# Get facts about an instance
- rds:
command: facts
instance_name: new-database
register: new_database_facts
# Rename an instance and wait for the change to take effect
- rds:
command: modify
instance_name: new-database
new_instance_name: renamed-database
wait: yes
# Reboot an instance and wait for it to become available again
- rds:
command: reboot
instance_name: database
wait: yes
# Restore a Postgres db instance from a snapshot, wait for it to become available again, and
# then modify it to add your security group. Also, display the new endpoint.
# Note that the "publicly_accessible" option is allowed here just as it is in the AWS CLI
- local_action:
module: rds
command: restore
snapshot: mypostgres-snapshot
instance_name: MyNewInstanceName
region: us-west-2
zone: us-west-2b
subnet: default-vpc-xx441xxx
publicly_accessible: yes
wait: yes
wait_timeout: 600
tags:
Name: pg1_test_name_tag
register: rds
- local_action:
module: rds
command: modify
instance_name: MyNewInstanceName
region: us-west-2
vpc_security_groups: sg-xxx945xx
- debug:
msg: "The new db endpoint is {{ rds.instance.endpoint }}"
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||||
|---|---|---|---|---|---|---|
| экземпляр complex | всегда | экземпляр rds | ||||
| размер_выделенной_памяти string | если экземпляр RDS существует | размер выделенной памяти в гигабайтах (ГБ) Пример: 100 | ||||
| автоматическое_обновление_незначительных_версий boolean | если экземпляр RDS существует | указывает, что незначительные обновления движка будут применяться автоматически к экземпляру базы данных во время окна обслуживания Пример: true | ||||
| окно_резервного_копирования string | если экземпляр RDS существует и автоматическое резервное копирование включено | суточный интервал времени, в течение которого создаются автоматические резервные копии, если автоматическое резервное копирование включено Пример: 03:00-03:30 | ||||
| имя_набора_символов string | если экземпляр RDS существует | имя набора символов, связанного с этим экземпляром Пример: AL32UTF8 | ||||
| имя_базы_данных string | если экземпляр RDS существует | имя базы данных, которая будет создана при создании экземпляра базы данных Пример: ASERTG | ||||
| группы_подсетей_базы_данных complex | если экземпляр RDS существует | информация о группе подсетей, связанной с этим экземпляром RDS | ||||
| описание string | если экземпляр RDS существует | группа подсетей, связанная с экземпляром базы данных Пример: Подсети для экземпляра RDS SQL базы данных UAT | ||||
| имя string | если экземпляр RDS существует | имя группы подсетей базы данных Пример: samplesubnetgrouprds-j6paiqkxqp4z | ||||
| статус string | если экземпляр RDS существует | статус группы подсетей базы данных Пример: complete | ||||
| подсети complex | если экземпляр RDS существует | описание группы подсетей базы данных | ||||
| зона_доступности complex | если экземпляр RDS существует | информация о зоне доступности подсети | ||||
| имя string | если экземпляр RDS существует | зона доступности Пример: eu-west-1b | ||||
| поддержка_provisioned_iops boolean | если экземпляр RDS существует | поддерживаются ли provisioned iops в подсети зоны доступности Пример: false | ||||
| идентификатор string | если экземпляр RDS существует | идентификатор подсети Пример: subnet-3fdba63e | ||||
| статус string | если экземпляр RDS существует | статус подсети Пример: active | ||||
| точку_подключения string | если экземпляр RDS существует | URI точки подключения к экземпляру базы данных Пример: my-ansible-database.asdfaosdgih.us-east-1.rds.amazonaws.com | ||||
| движок string | если экземпляр RDS существует | имя движка базы данных Пример: oracle-se | ||||
| версия_движка string | если экземпляр RDS существует | версия движка базы данных Пример: 11.2.0.4.v6 | ||||
| последнее_восстанавливаемое_время string | если экземпляр RDS существует | последнее время, до которого можно восстановить базу данных с помощью точечного восстановления Пример: 1489707802.0 | ||||
| модель_лицензии string | если экземпляр RDS существует | информация о модели лицензии Пример: bring-your-own-license | ||||
| группы_параметров complex | если экземпляр RDS существует | список принадлежностей к группам параметров для данного экземпляра RDS | ||||
| имя_группы_параметров string | если экземпляр RDS существует | имя группы параметров для данного экземпляра RDS Пример: default:oracle-se-11-2 | ||||
| статус string | если экземпляр RDS существует | статус принадлежности экземпляра RDS к группе параметров Пример: in-sync | ||||
| группы_параметров_базы_данных complex | если экземпляр RDS существует и определены группы параметров | список групп параметров базы данных, примененных к этому экземпляру RDS | ||||
| статус_применения_параметров string | если экземпляр RDS существует | статус обновлений параметров Пример: in-sync | ||||
| имя_группы_параметров строка | при наличии экземпляра RDS | имя группы параметров DP Пример: testawsrpprodb01spfile-1ujg7nrs7sgyz | ||||
| неопределённые_изменённые_значения сложный тип | при наличии экземпляра RDS | словарь ожидаемых изменений экземпляра RDS | ||||
| выделенный_объём строка | при наличии экземпляра RDS | новый размер выделенного объёма для данного экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| период_сохранения_резервных_копий строка | при наличии экземпляра RDS | ожидаемое количество дней, в течение которых сохраняются автоматические резервные копии Пример: null | ||||
| класс_базы_данных строка | при наличии экземпляра RDS | новый класс экземпляра базы данных для данного экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| идентификатор_экземпляра_базы_данных строка | при наличии экземпляра RDS | новый идентификатор экземпляра базы данных для данного экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| версия_движка_базы_данных строка | при наличии экземпляра RDS | указывает версию движка базы данных Пример: null | ||||
| iops строка | при наличии экземпляра RDS | новое значение выделенных IOPS для данного экземпляра RDS, которое будет применено или применяется Пример: null | ||||
| пароль_пользователя_владельца строка | при наличии экземпляра RDS | ожидаемое или текущее изменение учетных данных владельца для данного экземпляра RDS Пример: null | ||||
| multi_az строка | при наличии экземпляра RDS | указывает, что экземпляр RDS single-AZ будет изменён на multi-AZ Пример: null | ||||
| порт строка | при наличии экземпляра RDS | ожидаемый порт для данного экземпляра RDS Пример: null | ||||
| порт целое число | при наличии экземпляра RDS | порт прослушивания экземпляра базы данных Пример: 3306 | ||||
| доступно_извне булево | при наличии экземпляра RDS | опции доступности экземпляра БД Пример: true | ||||
| идентификатор_источника_экземпляра_чтения_копий_rds строка | при наличии экземпляра RDS чтения копий | идентификатор исходного экземпляра БД, если данный экземпляр RDS является чтением копий Пример: null | ||||
| второй_зона_доступности строка | при наличии экземпляра RDS и multi-AZ | имя вторичной зоны доступности для экземпляра БД с поддержкой multi-AZ Пример: eu-west-1b | ||||
Статус
- Данный модуль гарантированно поддерживает обратную совместимость при будущих изменениях интерфейса. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Bruce Pennypacker (@bpennypacker)
- Will Thames (@willthames)
Подсказка
Если вы обнаружите какие-либо проблемы в данной документации, вы можете отредактировать данный документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/rds_module.html