rds - создание, удаление или изменение экземпляра Amazon rds
Новая версия с 1.3.
- Описание
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Описание
- Создаёт, удаляет или изменяет экземпляры rds. При создании экземпляра он может быть новым экземпляром или только для чтения репликой существующего экземпляра. Этот модуль зависит от python-boto >= 2.5. Команда «promote» требует boto >= 2.18.0. Некоторые функции, такие как теги, полагаются на boto.rds2 (boto >= 2.26.0)
Требования (к хосту, на котором выполняется модуль)
- boto
- python >= 2.6
Параметры
| Параметр | Обязателен | Значение по умолчанию | Допустимые значения | Комментарии |
|---|---|---|---|---|
| apply_immediately | нет |
| Используется только при 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 (добавлено в 1.9)
| нет | Связать экземпляр БД с указанным набором символов. Используется при command=create. | ||
| command | да |
| Указывает действие, которое необходимо выполнить. Опция 'reboot' доступна начиная с версии 2.0 | |
| db_engine | нет |
| Тип базы данных. Используется только при command=create. mariadb добавлено в версии 2.2 | |
| db_name | нет | Имя базы данных для создания в экземпляре. Если не указано, база данных не создается. Используется только при command=create. | ||
| ec2_url | нет | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL, если таковое имеется. | ||
| engine_version | нет | Номер версии используемого движка базы данных. Используется только при command=create. Если не указано, используется текущая версия движка Amazon RDS по умолчанию. | ||
| force_failover (добавлено в 2.0)
| нет | нет |
| Используется только при 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 | нет |
| Указывает, является ли это многозонной разверткой. Не может использоваться совместно с параметром zone. Используется только при command=create или command=modify. | |
| new_instance_name (добавлено в 1.5)
| нет | Имя для переименования экземпляра. Используется только при 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 (добавлено в 1.6)
| нет | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| publicly_accessible (добавлено в 1.9)
| нет | Явно устанавливает, должен ли ресурс быть общедоступным или нет. Используется с command=create, command=replicate. Требуется boto >= 2.26.0 | ||
| region | да | Регион AWS для использования. Если не указан, используется значение переменной окружения EC2_REGION, если таковое имеется. псевдонимы: aws_region, ec2_region | ||
| security_groups | нет | Список групп безопасности, разделенный запятыми. Используется только при command=create или command=modify. | ||
| security_token (добавлено в 1.6)
| нет | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения 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 (добавлено в 1.9)
| нет | Словарь тегов для применения к ресурсу. Используется с command=create, command=replicate, command=restore. Требуется boto >= 2.26.0 | ||
| upgrade | нет |
| Указывает, что автоматическое применение мелких обновлений должно применяться. Используется только при command=create или command=replicate. | |
| username | нет | Имя пользователя главной базы данных. Используется только при command=create. | ||
| validate_certs (добавлено в 1.5)
| нет | да |
| При установке в "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| vpc_security_groups | нет | Список идентификаторов групп безопасности vpc, разделённых запятыми. Также требуется указание параметра `subnet`. Используется только при command=create или command=modify. | ||
| wait | нет | нет |
| При command=create, replicate, modify или restore ожидать, пока база данных не перейдёт в состояние 'available'. При command=delete ожидать завершения удаления базы данных. |
| wait_timeout | нет | 300 | Время ожидания, пока wait сдастся, в секундах | |
| zone | нет | Зона доступности, в которой следует запустить экземпляр. Используется только при command=create, command=replicate или command=restore. псевдонимы: aws_zone, ec2_zone |
Примеры
# 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 }}"
Значения возврата
Общие значения возврата описаны здесь Значения возврата, следующие поля уникальны для этого модуля:
| имя | описание | возвращаемое | тип | пример | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| allocated_storage | размер выделенного хранилища в гигабайтах (ГБ) | при существовании экземпляра RDS | строка | 100 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| auto_minor_version_upgrade | указывает, что незначительные обновления движка будут автоматически применяться к экземпляру БД во время окна обслуживания | при существовании экземпляра RDS | булево | true | ||||||||||||||||||||||||||||||||||||||||||||||||||
| backup_window | дневной интервал времени, в течение которого создаются автоматические резервные копии, если автоматическое резервное копирование включено | при существовании экземпляра RDS и включенном автоматическом резервном копировании | строка | 03:00-03:30 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| character_set_name | имя набора символов, связанного с этим экземпляром | при существовании экземпляра RDS | строка | AL32UTF8 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| db_name | имя базы данных, которое будет создано при создании экземпляра БД | при существовании экземпляра RDS | строка | ASERTG | ||||||||||||||||||||||||||||||||||||||||||||||||||
| db_subnet_groups | информация о группе подсетей, связанной с этим экземпляром RDS | при существовании экземпляра RDS | сложный | |||||||||||||||||||||||||||||||||||||||||||||||||||
| содержит: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| engine | имя СУБД | при существовании экземпляра RDS | строка | oracle-se | ||||||||||||||||||||||||||||||||||||||||||||||||||
| engine_version | версия СУБД | при существовании экземпляра RDS | строка | 11.2.0.4.v6 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| latest_restorable_time | последнее время, до которого можно восстановить базу данных с помощью восстановления по времени | при существовании экземпляра RDS | строка | 1489707802.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| license_model | информация о лицензионной модели | при существовании экземпляра RDS | строка | bring-your-own-license | ||||||||||||||||||||||||||||||||||||||||||||||||||
| option_groups | список принадлежностей к группам параметров для этого экземпляра RDS | при существовании экземпляра RDS | сложный | |||||||||||||||||||||||||||||||||||||||||||||||||||
| содержит: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| parameter_groups | список групп параметров БД, примененных к этому экземпляру RDS | при существовании экземпляра RDS и определении групп параметров | сложный | |||||||||||||||||||||||||||||||||||||||||||||||||||
| содержит: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| pending_modified_values | словарь изменений экземпляра RDS, ожидающих применения | при существовании экземпляра RDS | сложный | |||||||||||||||||||||||||||||||||||||||||||||||||||
| содержит: |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| publicly_accessible | варианты доступности для экземпляра БД | при существовании экземпляра RDS | булево | true | ||||||||||||||||||||||||||||||||||||||||||||||||||
| read_replica_source_dbinstance_identifier | идентификатор исходного экземпляра БД, если этот экземпляр RDS является репликой для чтения | при существовании экземпляра RDS, являющегося репликой для чтения | строка | null | ||||||||||||||||||||||||||||||||||||||||||||||||||
| secondary_avaialbility_zone | имя вторичной зоны доступности для экземпляра БД с поддержкой многозонной конфигурации | при существовании экземпляра RDS и в многозонной конфигурации | строка | eu-west-1b | ||||||||||||||||||||||||||||||||||||||||||||||||||
Примечания
Примечание
- Если параметры не установлены в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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
Состояние
Этот модуль помечен как stableinterface, что означает, что авторы этого модуля гарантируют, что не будут вноситься обратные изменения в интерфейс.
Для получения помощи в разработке модулей, если вы заинтересованы, прочитайте Информацию о сообществе и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/rds_module.html