community.aws.rds – создание, удаление или изменение экземпляров Amazon rds, снимков rds и связанных фактов
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в playbook укажите: community.aws.rds.
Новое в версии 1.0.0: of community.aws
Обзор
- Создаёт, удаляет или изменяет ресурсы rds.
- При создании экземпляра он может быть новым экземпляром или только для чтения репликой существующего экземпляра.
- Этот модуль зависит от python-boto >= 2.5 и скоро будет устаревшим.
- Команда «promote» требует boto >= 2.18.0. Некоторые функции, такие как теги, зависят от boto.rds2 (boto >= 2.26.0).
- Вместо этого используйте модуль community.aws.rds_instance, основанный на boto3.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| apply_immediately boolean |
| Когда apply_immediately=true, изменения будут применены как можно скорее, а не ожидая следующего предпочтительного окна обслуживания. Используется только при command=modify. |
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Передача параметров aws_access_key и profile одновременно устарела, и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла CA Bundle для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: CA Bundle считывается со стороны модуля и, возможно, потребует явного копирования с контроллера, если он не запускается локально. | |
| aws_config словарь | Словарь для модификации конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Подробнее о конфигурации boto см. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Передача параметров aws_secret_key и profile одновременно устарела, и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | |
| backup_retention строка | Количество дней хранения резервных копий. Установите значение 0, чтобы отключить резервное копирование. Значение по умолчанию - 1 день. Допустимый диапазон: 0-35. Используется только при command=create или command=modify. | |
| backup_window строка | Окно резервного копирования в формате hh24:mi-hh24:mi. (Пример: 18:00-20:30)Время указано в UTC. Если не указано, случайным образом назначается окно резервного копирования. Используется только при 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 |
| Используйте регистратор botocore.endpoint для анализа уникальных (а не общих) вызовов API «ресурс:действие», сделанных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, сделанный во время выполнения playbook. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. псевдонимы: aws_endpoint_url, endpoint_url | |
| engine_version строка | Номер версии используемого движка базы данных. Если не указано, используется текущая стандартная версия движка Amazon RDS. Используется только при command=create. | |
| force_failover boolean |
| При включении перезагрузка выполняется с помощью резервного переключения MultiAZ. Используется только при command=reboot. |
| instance_name строка | Идентификатор экземпляра базы данных. Требуется, за исключением использования command=facts или command=delete только на снимке. | |
| instance_type строка | Тип экземпляра базы данных. Если не указано, репликация наследует тот же тип экземпляра, что и исходный экземпляр. Требуется при command=create. Необязательно при command=replicate, command=modify или command=restore. псевдонимы: type | |
| iops строка | Указывает количество операций ввода-вывода в секунду для экземпляра. Используется только при command=create или command=modify. Должно быть целым числом больше 1000. | |
| license_model строка |
| Модель лицензирования для этого экземпляра базы данных. Используется только при command=create или command=restore. |
| maint_window строка | Окно обслуживания в формате ddd:hh24:mi-ddd:hh24:mi. (Пример: Mon:22:00-Mon:23:15)Время указано в UTC. Если не указано, случайным образом назначается окно обслуживания. Используется только при command=create или command=modify. | |
| multi_zone boolean |
| Указывает, является ли это многозонной разверткой. Не может использоваться вместе с параметром zone. Используется только при command=create или command=modify. |
| new_instance_name строка | Имя для переименования экземпляра. Используется только при command=modify. | |
| option_group строка | Имя группы параметров для использования. Если не указано, используется группа параметров по умолчанию. Используется только при command=create. | |
| parameter_group строка | Имя группы параметров базы данных, которую нужно ассоциировать с этим экземпляром. Если опущено, будет использоваться параметр RDS по умолчанию DBParameterGroup. Используется только при command=create или command=modify. | |
| password строка | Пароль для имени пользователя основной базы данных. Используется только при command=create или command=modify. | |
| port целое число | Номер порта, который использует экземпляр базы данных для подключений. Используется только при command=create или command=replicate. По умолчанию используется стандартный порт для каждого db_engine: 3306 для MySQL и MariaDB, 1521 для Oracle 1433 для SQL Server, 5432 для PostgreSQL. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token, а поддержка передачи их вместе с profile устарела. aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | |
| publicly_accessible строка | Явно задаёт, должен ли ресурс быть доступен по общедоступному доступу или нет. Используется с command=create, command=replicate. Требуется boto >= 2.26.0 | |
| region строка | AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковое имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| security_groups строка | Список, разделенный запятыми, из одного или нескольких групп безопасности. Используется только при command=create или command=modify. |
| security_token строка | AWS STS security token. Если не задано, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Передача параметров security_token и profile одновременно устарела, и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | |
| size строка | Размер начального хранилища БД в гигабайтах. Используется только при command=create или command=modify. | |
| snapshot строка | Имя создаваемого снимка. При command=delete, если имя snapshot не указано, снимок не создаётся. При 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 логическое значение |
| Указывает, что автоматические обновления незначительных версий должны применяться автоматически. Используется только при command=create или command=modify или command=restore или command=replicate. |
| username строка | Имя пользователя основной базы данных. Используется только при command=create. | |
| validate_certs логическое значение |
| При значении "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| vpc_security_groups список / элементы=строка | Список идентификаторов групп безопасности VPC, разделенные запятыми. Также требуется указать subnet. Используется только при command=create или command=modify. | |
| wait логическое значение |
| При command=create, репликации, модификации или восстановлении, ожидает, пока база данных не перейдёт в состояние 'доступно'. При command=delete, ожидает завершения работы базы данных. |
| wait_timeout целое число | По умолчанию: 300 | Время ожидания, прежде чем ждать прекратится, в секундах. Используется при wait=true. |
| zone строка | зона доступности, в которой нужно запустить экземпляр. Используется только при command=create, command=replicate или command=restore. Не может использоваться вместе с параметром multi_zone. псевдонимы: aws_zone, ec2_zone |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,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,AWS_CA_BUNDLE - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
- name: Basic mysql provisioning example
community.aws.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
- name: Create a read-only replica and wait for it to become available
community.aws.rds:
command: replicate
instance_name: new-database-replica
source_instance: new_database
wait: yes
wait_timeout: 600
- name: Delete an instance, but create a snapshot before doing so
community.aws.rds:
command: delete
instance_name: new-database
snapshot: new_database_snapshot
- name: Get facts about an instance
community.aws.rds:
command: facts
instance_name: new-database
register: new_database_facts
- name: Rename an instance and wait for the change to take effect
community.aws.rds:
command: modify
instance_name: new-database
new_instance_name: renamed-database
wait: yes
- name: Reboot an instance and wait for it to become available again
community.aws.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
- community.aws.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
- community.aws.rds:
command: modify
instance_name: MyNewInstanceName
region: us-west-2
vpc_security_groups: sg-xxx945xx
- ansible.builtin.debug:
msg: "The new db endpoint is {{ rds.instance.endpoint }}"
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | ||||
|---|---|---|---|---|---|---|
| экземпляр сложный | всегда | экземпляр rds | ||||
| размер_выделенной_памяти строка | при существовании экземпляра RDS | размер выделенной памяти в гигабайтах (ГБ) Пример: 100 | ||||
| автоматическое_обновление_незначительных_версий булево | при существовании экземпляра RDS | указывает, что незначительные обновления движка будут автоматически применяться к экземпляру базы данных во время окна обслуживания Пример: true | ||||
| окно_резервного_копирования строка | при существовании экземпляра RDS и включенных автоматических резервных копий | ежедневный временной интервал, в течение которого создаются автоматические резервные копии, если автоматические резервные копии включены Пример: 03:00-03:30 | ||||
| имя_набора_символов строка | при существовании экземпляра RDS | имя набора символов, с которым связан этот экземпляр Пример: AL32UTF8 | ||||
| имя_базы_данных строка | при существовании экземпляра RDS | имя базы данных для создания при создании экземпляра базы данных Пример: ASERTG | ||||
| группы_подсетей_базы_данных сложный | при существовании экземпляра RDS | информация о группе подсетей, связанной с этим экземпляром RDS | ||||
| описание строка | при существовании экземпляра RDS | группа подсетей, связанная с экземпляром базы данных Пример: Подсети для экземпляра RDS SQL базы данных UAT | ||||
| имя строка | при существовании экземпляра RDS | имя группы подсетей базы данных Пример: samplesubnetgrouprds-j6paiqkxqp4z | ||||
| состояние строка | при существовании экземпляра RDS | состояние группы подсетей базы данных Пример: complete | ||||
| подсети сложный | при существовании экземпляра RDS | описание группы подсетей базы данных | ||||
| зона_доступа сложный | при существовании экземпляра RDS | информация о зоне доступности подсети | ||||
| имя строка | при существовании экземпляра RDS | зона доступности Пример: eu-west-1b | ||||
| поддерживает_provisioned_iops булево | при существовании экземпляра RDS | поддерживаются ли provisioned iops в подсети зоны доступности Пример: false | ||||
| идентификатор строка | при существовании экземпляра RDS | идентификатор подсети Пример: subnet-3fdba63e | ||||
| состояние строка | при существовании экземпляра RDS | состояние подсети Пример: active | ||||
| адрес строка | при существовании экземпляра RDS | адрес URI конечной точки экземпляра базы данных Пример: my-ansible-database.asdfaosdgih.us-east-1.rds.amazonaws.com | ||||
| движок строка | при существовании экземпляра RDS | имя движка базы данных Пример: oracle-se | ||||
| версия_движка строка | при существовании экземпляра RDS | версия движка базы данных Пример: 11.2.0.4.v6 | ||||
| последнее_восстанавливаемое_время строка | при существовании экземпляра RDS | последнее время, до которого можно восстановить базу данных с помощью моментального восстановления Пример: 1489707802.0 | ||||
| модель_лицензии строка | при существовании экземпляра RDS | информация о модели лицензии Пример: bring-your-own-license | ||||
| группы_параметров сложный | при существовании экземпляра RDS | список принадлежностей к группам параметров для этого экземпляра RDS | ||||
| имя_группы_параметров строка | при существовании экземпляра RDS | имя группы параметров для этого экземпляра RDS Пример: default:oracle-se-11-2 | ||||
| состояние строка | при существовании экземпляра RDS | состояние принадлежности к группе параметров экземпляра RDS Пример: in-sync | ||||
| группы_параметров_базы_данных сложный | при существовании экземпляра RDS и определены группы параметров | список групп параметров базы данных, применённых к этому экземпляру RDS | ||||
| статус_применения_параметров строка | при существовании экземпляра RDS | статус обновлений параметров Пример: in-sync | ||||
| имя_группы_параметров строка | при существовании экземпляра RDS | имя группы параметров DB Пример: testawsrpprodb01spfile-1ujg7nrs7sgyz | ||||
| ожидаемые_изменённые_значения сложный | при существовании экземпляра RDS | словарь изменений в экземпляре RDS, которые ожидаются | ||||
| размер_выделенной_памяти строка | при существовании экземпляра RDS | новый размер выделенной памяти для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| период_сохранения_резервных_копий строка | при существовании экземпляра RDS | ожидаемое количество дней, в течение которых сохраняются автоматические резервные копии Пример: null | ||||
| класс_экземпляра_базы_данных строка | при существовании экземпляра RDS | новый класс экземпляра базы данных для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| идентификатор_экземпляра_базы_данных строка | при существовании экземпляра RDS | новый идентификатор экземпляра базы данных для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| версия_движка строка | при существовании экземпляра RDS | указывает версию движка базы данных Пример: null | ||||
| iops строка | при существовании экземпляра RDS | новое значение provisioned IOPS для этого экземпляра RDS, которое будет применён или применяется Пример: null | ||||
| пароль_пользователя_владельца строка | при существовании экземпляра RDS | ожидаемое или выполняемое изменение учетных данных владельца для этого экземпляра RDS Пример: null | ||||
| multi_az строка | при существовании экземпляра RDS | указывает, что однозонный экземпляр RDS должен быть изменён на многозонное развертывание Пример: null | ||||
| порт строка | при существовании экземпляра RDS | указывается ожидаемый порт для этого экземпляра RDS Пример: null | ||||
| порт целое число | при существовании экземпляра RDS | порт прослушивания экземпляра базы данных Пример: 3306 | ||||
| publicly_accessible boolean | при существовании экземпляра RDS | варианты доступности для экземпляра БД Пример: true | ||||
| read_replica_source_dbinstance_identifier string | при существовании экземпляра RDS-копии чтения | идентификатор исходного экземпляра БД, если этот экземпляр RDS является копией чтения Пример: null | ||||
| secondary_availability_zone string | при существовании экземпляра RDS и поддержке multi-AZ | название вторичной зоны доступности для экземпляра БД с поддержкой multi-AZ Пример: eu-west-1b | ||||
Авторы
- Bruce Pennypacker (@bpennypacker)
- Will Thames (@willthames)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/rds_module.html