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 bool |
| Используется только при 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 bool (добавлено в 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 bool |
| Указывает, является ли это развертыванием в нескольких зонах доступности. Не может использоваться совместно с параметром 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 bool |
| Указывает, что обновления до незначительных версий должны применяться автоматически. Используется только при command=create или command=replicate. |
| username | Имя пользователя главной базы данных. Используется только при command=create. | |
| validate_certs bool (добавлено в 1.5) |
| При установке в "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| vpc_security_groups | Список, разделенный запятыми, из одного или нескольких идентификаторов групп безопасности VPC. Также требуется указать `subnet`. Используется только при command=create или command=modify. | |
| wait bool |
| При 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), если учетные данные не предоставлены. См. 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 | |||
| 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 | имя группы параметров базы данных Пример: testawsrpprodb01spfile-1ujg7nrs7sgyz | |||
| pending_modified_values сложный тип | при существовании экземпляра RDS | словарь изменений в экземпляре RDS, которые находятся в ожидании | |||
| db_instance_class строка | при существовании экземпляра RDS | новый класс экземпляра базы данных для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | |||
| db_instance_identifier строка | при существовании экземпляра RDS | новый идентификатор экземпляра базы данных для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | |||
| allocated_storage строка | при существовании экземпляра RDS | новый размер выделенного хранилища для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | |||
| backup_retention_period string | when RDS instance exists | количество дней, на которое сохраняются автоматические резервные копии Пример: null | |||
| engine_version string | when RDS instance exists | указывается версия движка базы данных Пример: null | |||
| iops string | when RDS instance exists | новое значение предоставленных IOPS для этого экземпляра RDS, которое будет применено или применяется Пример: null | |||
| master_user_password string | when RDS instance exists | изменение пароля учетной записи администратора или текущее изменение учетных данных администратора для данного экземпляра RDS Пример: null | |||
| multi_az string | when RDS instance exists | указывается, что однозонный экземпляр 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, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые изменения интерфейса.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Более подробную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- 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.6/modules/rds_module.html