rds – создание, удаление или изменение экземпляра Amazon rds
Описание
- Создает, удаляет или изменяет экземпляры 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 string | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key string | Секретный ключ 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 - / обязательно |
| Определяет действие. Опция «перезагрузка» доступна начиная с версии 2.0 |
| db_engine - |
| Тип базы данных. Используется только при command=create. mariadb был добавлен в версии 2.2 |
| db_name - | Имя базы данных для создания в экземпляре. Если не указано, база данных не создается. Используется только при command=create. | |
| debug_botocore_endpoint_logs boolean добавлено в 2.8 |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводив набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения книги сценариев. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url string | 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 - | Указывает количество операций ввода-вывода в секунду для экземпляра. Используется только при 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 string | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| publicly_accessible - | Явно устанавливает, должен ли ресурс быть общедоступным или нет. Используется с command=create, command=replicate. Требуется boto >= 2.26.0 | |
| region string / обязательно | Регион AWS для использования. Если не указан, используется значение переменной окружения EC2_REGION, если таковое имеется. Псевдонимы: aws_region, ec2_region | |
| security_groups - | Список, разделенный запятыми, одного или нескольких наборов безопасности. Используется только при command=create или command=modify. | |
| security_token string | Токен безопасности 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 - | Словарь тегов для применения к ресурсу. Используется при 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 ожидать, пока база данных не перейдет в состояние 'available'. При 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 }}"
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||||
|---|---|---|---|---|---|---|
| экземпляр сложный | всегда | экземпляр rds | ||||
| 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 | группа подсетей, связанная с экземпляром БД Пример: Подсети для экземпляра SQL-БД RDS UAT | ||||
| name строка | при существовании экземпляра RDS | имя группы подсетей БД Пример: samplesubnetgrouprds-j6paiqkxqp4z | ||||
| status строка | при существовании экземпляра RDS | статус группы подсетей БД Пример: complete | ||||
| subnets сложный | при существовании экземпляра RDS | описание группы подсетей БД | ||||
| availability_zone сложный | при существовании экземпляра RDS | информация о доступной зоне подсети | ||||
| name строка | при существовании экземпляра RDS | доступная зона Пример: eu-west-1b | ||||
| provisioned_iops_capable булево | при существовании экземпляра RDS | доступны ли предварительно выделенные iops в подсети AZ Пример: false | ||||
| identifier строка | при существовании экземпляра RDS | идентификатор подсети Пример: subnet-3fdba63e | ||||
| status строка | при существовании экземпляра RDS | статус подсети Пример: active | ||||
| endpoint строка | при существовании экземпляра RDS | URI конечной точки экземпляра базы данных Пример: my-ansible-database.asdfaosdgih.us-east-1.rds.amazonaws.com | ||||
| 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 string | при существовании экземпляра RDS | новый размер выделенного хранилища для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| backup_retention_period string | при существовании экземпляра RDS | количество дней, на которое сохраняются автоматические резервные копии Пример: null | ||||
| db_instance_class string | при существовании экземпляра RDS | новый класс экземпляра БД для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| db_instance_identifier string | при существовании экземпляра RDS | новый идентификатор экземпляра БД для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| engine_version string | при существовании экземпляра RDS | указывается версия СУБД Пример: null | ||||
| iops string | при существовании экземпляра RDS | новое значение запрограммированных IOPS для этого экземпляра RDS, которое будет применено или применяется Пример: null | ||||
| master_user_password string | при существовании экземпляра RDS | запланированное или выполняемое изменение учетных данных владельца для этого экземпляра RDS Пример: null | ||||
| multi_az string | при существовании экземпляра RDS | указывает, что однозонный экземпляр RDS должен перейти на многозонное развертывание Пример: null | ||||
| port string | при существовании экземпляра RDS | указан ожидаемый порт для этого экземпляра RDS Пример: null | ||||
| port integer | при существовании экземпляра RDS | порт прослушивания экземпляра базы данных Пример: 3306 | ||||
| publicly_accessible boolean | при существовании экземпляра RDS | варианты доступности экземпляра БД Пример: true | ||||
| read_replica_source_dbinstance_identifier string | при существовании экземпляра RDS-читающей реплики | идентификатор исходного экземпляра БД, если этот экземпляр RDS является читающей репликой Пример: null | ||||
| secondary_availability_zone string | при существовании экземпляра 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.8/modules/rds_module.html