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 обязательно |
| Указывает действие, которое необходимо выполнить. Опция 'перезагрузить' доступна начиная с версии 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 | Значение по умолчанию: Нет | Указывает количество операций ввода/вывода в секунду для экземпляра. Используется только при 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. При использовании других баз данных, значение нужно было устанавливать. Начиная с версии 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 | Значение по умолчанию: None | Запятой разделенный список одного или нескольких идентификаторов групп безопасности VPC. Также требуется указать `subnet`. Используется только при command=create или command=modify. |
| wait |
| При command=create, replicate, modify или restore ожидает, пока база данных не перейдет в состояние 'available'. При command=delete ожидает завершения удаления базы данных. |
| wait_timeout | Значение по умолчанию: 300 | время ожидания в секундах, прежде чем ожидание будет прервано |
| zone | Значение по умолчанию: None | зона доступности для запуска экземпляра. Используется только при 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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 | |||
| status строка | при существовании экземпляра RDS | состояние группы подсетей БД Пример: complete | |||
| subnets сложное | при существовании экземпляра RDS | описание группы подсетей БД | |||
| status строка | при существовании экземпляра RDS | состояние подсети Пример: active | |||
| identifier строка | при существовании экземпляра RDS | идентификатор подсети Пример: subnet-3fdba63e | |||
| availability_zone сложное | при существовании экземпляра RDS | информация о зоне доступности подсети | |||
| provisioned_iops_capable булево | при существовании экземпляра RDS | доступны ли выделенные IOPS в подсети зоны доступности Пример: false | |||
| name строка | при существовании экземпляра RDS | зона доступности Пример: eu-west-1b | |||
| description строка | при существовании экземпляра RDS | группа подсетей, связанная с экземпляром БД Пример: Подсети для экземпляра RDS SQL БД UAT | |||
| name строка | при существовании экземпляра RDS | название группы подсетей БД Пример: samplesubnetgrouprds-j6paiqkxqp4z | |||
| 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 | |||
| status строка | при существовании экземпляра RDS | состояние членства в группе опций экземпляра RDS Пример: in-sync | |||
| option_group_name строка | при существовании экземпляра RDS | имя группы опций для этого экземпляра RDS Пример: default:oracle-se-11-2 | |||
| parameter_groups сложное | при существовании экземпляра RDS и определении групп параметров | список групп параметров БД, примененных к этому экземпляру RDS | |||
| parameter_group_name строка | при существовании экземпляра RDS | имя группы параметров ДП Пример: testawsrpprodb01spfile-1ujg7nrs7sgyz | |||
| parameter_apply_status строка | при существовании экземпляра RDS | состояние обновлений параметров Пример: in-sync | |||
| pending_modified_values сложное | при существовании экземпляра RDS | словарь изменений в экземпляре RDS, которые ожидаются | |||
| db_instance_identifier строка | при существовании экземпляра RDS | новый идентификатор экземпляра БД для этого экземпляра RDS, который будет применен или находится в процессе применения Пример: null | |||
| backup_retention_period строка | при существовании экземпляра RDS | ожидаемый срок хранения автоматических резервных копий в днях Пример: null | |||
| allocated_storage строка | при существовании экземпляра RDS | новый размер выделенного хранилища для этого экземпляра RDS, который будет применен или находится в процессе применения Пример: null | |||
| master_user_password string | when RDS instance exists | the pending or in-progress change of the master credentials for this RDS instance Пример: null | |||
| engine_version string | when RDS instance exists | указывает версию движка базы данных Пример: null | |||
| multi_az string | when RDS instance exists | указывает, что однозонный экземпляр RDS должен быть изменён на многозонную конфигурацию Пример: null | |||
| db_instance_class string | when RDS instance exists | новый класс экземпляра базы данных для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | |||
| iops string | when RDS instance exists | новое значение предоставленных IOPS для этого экземпляра RDS, которое будет применено или применяется Пример: null | |||
| port string | when RDS instance exists | указанный порт для этого экземпляра RDS Пример: null | |||
| publicly_accessible boolean | when RDS instance exists | опции доступности для экземпляра базы данных Пример: true | |||
| read_replica_source_dbinstance_identifier string | when read replica RDS instance exists | идентификатор исходного экземпляра базы данных, если этот экземпляр RDS является репликой чтения Пример: null | |||
| secondary_avaialbility_zone string | when RDS instance exists and is multy-AZ | имя вторичной доступной зоны для экземпляра базы данных с поддержкой многозонной архитектуры Пример: eu-west-1b | |||
Статус
Этот модуль помечен как stableinterface, что означает, что поддерживающие этот модуль гарантируют, что не будет внесено никаких обратных несовместимых изменений в интерфейс.
Автор
- 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.5/modules/rds_module.html