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 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 - добавлено в 1.9 | Связать экземпляр базы данных с указанным набором символов. Используется с command=create. | |
| command - / обязательно |
| Указывает действие, которое нужно выполнить. Опция 'перезагрузить' доступна начиная с версии 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 boolean добавлено в 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 boolean |
| Указывает, является ли это развертывание Multi-availability-zone. Не может использоваться вместе с параметром zone. Используется только при command=create или command=modify. |
| new_instance_name - добавлено в 1.5 | Имя для переименования экземпляра. Используется только при command=modify. | |
| option_group - | Имя группы параметров для использования. Если не указано, используется группа параметров по умолчанию. Используется только при command=create. | |
| parameter_group - | Имя группы параметров базы данных для ассоциации с этим экземпляром. Если опущено, будет использоваться параметр RDS по умолчанию DBParameterGroup. Используется только при 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. |
| Теги - добавлен в 1.9 | Словарь тегов для применения к ресурсу. Используется с командой command=create, command=replicate, command=restore. Требуется boto >= 2.26.0 | |
| upgrade boolean |
| Указывает, что автоматические обновления малых версий должны применяться автоматически. Используется только при command=create или command=replicate. |
| имя_пользователя - | Имя пользователя основной базы данных. Используется только при command=create. | |
| validate_certs boolean добавлен в 1.5 |
| При значении "нет", сертификаты SSL не будут проверятся для версий boto >= 2.6.0. |
| vpc_security_groups - | Список из одного или нескольких идентификаторов групп безопасности vpc, разделенных запятыми. Также требуется указать `subnet`. Используется только при command=create или command=modify. | |
| wait boolean |
| При command=create, replicate, modify или restore ожидает, пока база данных не перейдет в состояние 'available'. При command=delete ожидает завершения работы базы данных. |
| wait_timeout - | По умолчанию: 300 | Время ожидания в секундах, после которого ожидание прекращается. |
| зона - | Зона доступности, в которой следует запустить экземпляр. Используется только при 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 }}"
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| 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 | |||
| description строка | при существовании экземпляра RDS | группа подсетей, связанная с экземпляром БД Пример: Подсети для экземпляра RDS SQL БД UAT | |||
| name строка | при существовании экземпляра RDS | имя группы подсетей БД Пример: samplesubnetgrouprds-j6paiqkxqp4z | |||
| status строка | при существовании экземпляра RDS | состояние группы подсетей БД Пример: complete | |||
| subnets сложная структура | при существовании экземпляра RDS | описание группы подсетей БД | |||
| availability_zone сложная структура | при существовании экземпляра RDS | информация о зоне доступности подсети | |||
| name строка | при существовании экземпляра RDS | зона доступности Пример: eu-west-1b | |||
| provisioned_iops_capable логическое значение | при существовании экземпляра RDS | доступны ли выделенные IOPS в подсети зоны доступности Пример: false | |||
| identifier строка | при существовании экземпляра RDS | идентификатор подсети Пример: subnet-3fdba63e | |||
| status строка | при существовании экземпляра RDS | состояние подсети Пример: active | |||
| 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 | |||
| option_group_name строка | при существовании экземпляра RDS | имя группы параметров для этого экземпляра RDS Пример: default:oracle-se-11-2 | |||
| status строка | при существовании экземпляра RDS | состояние принадлежности экземпляра RDS к группе параметров Пример: in-sync | |||
| parameter_groups сложная структура | при существовании экземпляра RDS и определенных группах параметров | список групп параметров БД, примененных к этому экземпляру RDS | |||
| parameter_apply_status строка | при существовании экземпляра RDS | состояние обновлений параметров Пример: in-sync | |||
| parameter_group_name строка | при существовании экземпляра RDS | имя группы параметров DP Пример: testawsrpprodb01spfile-1ujg7nrs7sgyz | |||
| pending_modified_values сложная структура | при существовании экземпляра RDS | словарь изменений в экземпляре RDS, ожидающих применения | |||
| allocated_storage строка | при существовании экземпляра RDS | новый размер выделенного хранилища для этого экземпляра RDS, который будет применен или находится в процессе применения Пример: null | |||
| backup_retention_period строка | при существовании экземпляра RDS | ожидаемый срок хранения автоматических резервных копий в днях Пример: null | |||
| db_instance_class строка | при существовании экземпляра RDS | новый класс экземпляра БД для этого экземпляра RDS, который будет применен или находится в процессе применения Пример: null | |||
| db_instance_identifier строка | при существовании экземпляра RDS | новый идентификатор экземпляра БД для этого экземпляра RDS, который будет применен или находится в процессе применения Пример: null | |||
| engine_version строка | при существовании экземпляра RDS | указывается версия базы данных Пример: null | |||
| iops строка | при существовании экземпляра RDS | новое значение IOPS для этого экземпляра RDS, которое будет применено или применяется Пример: null | |||
| master_user_password строка | при существовании экземпляра RDS | запланированное или выполняемое изменение учетных данных администратора для этого экземпляра RDS Пример: null | |||
| multi_az строка | при существовании экземпляра RDS | указывается, что однозонный экземпляр RDS должен быть изменен на многозонную развертку Пример: null | |||
| port строка | при существовании экземпляра RDS | указывается ожидаемый порт для этого экземпляра RDS Пример: null | |||
| publicly_accessible булево | при существовании экземпляра RDS | варианты доступности для экземпляра БД Пример: true | |||
| read_replica_source_dbinstance_identifier строка | при существовании экземпляра RDS реплики чтения | идентификатор исходного экземпляра БД, если этот экземпляр RDS является репликой чтения Пример: null | |||
| secondary_availability_zone строка | при существовании экземпляра RDS и многозонности | название вторичной зоны доступности для экземпляра БД с поддержкой многозонности Пример: 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.7/modules/rds_module.html