community.aws.rds – создание, удаление или изменение экземпляров Amazon rds, снимков rds и связанных фактов
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.rds.
Новое в версии 1.0.0: от 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 для проверки сертификатов SSL. Используется только для модулей на основе boto3. Примечание: пакет CA читается на стороне «модуля» и может потребоваться явное копирование из контроллера, если он не запускается локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Только ключ 'user_agent' используется для модулей boto. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной конфигурации 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:action», выполняемых во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action, чтобы вывести полный список, созданный во время выполнения игры. |
| 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 строка | Указывает количество 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. Если не задан, используется значение переменной окружения 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 }}"
Значения возврата
Общие значения возврата описаны в здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||||
|---|---|---|---|---|---|---|
| экземпляр complex | всегда | экземпляр rds | ||||
| размер_выделенного_хранилища string | при существовании экземпляра RDS | размер выделенного хранилища в гигабайтах (ГБ) Пример: 100 | ||||
| автоматическое_обновление_незначительных_версий boolean | при существовании экземпляра RDS | указывается, будут ли автоматически применяться обновления незначительных версий движка к экземпляру базы данных во время окна технического обслуживания Пример: true | ||||
| окно_резервного_копирования string | при существовании экземпляра RDS и включенных автоматических резервных копий | ежедневный интервал времени, в течение которого создаются автоматические резервные копии, если автоматические резервные копии включены Пример: 03:00-03:30 | ||||
| имя_набора_символов string | при существовании экземпляра RDS | имя набора символов, связанного с этим экземпляром Пример: AL32UTF8 | ||||
| имя_базы_данных string | при существовании экземпляра RDS | имя базы данных, которое будет создано при создании экземпляра БД Пример: ASERTG | ||||
| группы_подсетей_базы_данных complex | при существовании экземпляра RDS | информация о группе подсетей, связанной с этим экземпляром RDS | ||||
| описание string | при существовании экземпляра RDS | группа подсетей, связанная с экземпляром БД Пример: Подсети для экземпляра SQL базы данных UAT RDS | ||||
| имя string | при существовании экземпляра RDS | имя группы подсетей БД Пример: samplesubnetgrouprds-j6paiqkxqp4z | ||||
| состояние string | при существовании экземпляра RDS | состояние группы подсетей БД Пример: полностью завершено | ||||
| подсети complex | при существовании экземпляра RDS | описание группы подсетей БД | ||||
| зона_доступности complex | при существовании экземпляра RDS | информация о зоне доступности подсети | ||||
| имя string | при существовании экземпляра RDS | зона доступности Пример: eu-west-1b | ||||
| поддерживает_provisioned_iops boolean | при существовании экземпляра RDS | доступны ли provisioned iops в подсети зоны доступности Пример: false | ||||
| идентификатор string | при существовании экземпляра RDS | идентификатор подсети Пример: subnet-3fdba63e | ||||
| состояние string | при существовании экземпляра RDS | состояние подсети Пример: активно | ||||
| конечная_точка string | при существовании экземпляра RDS | uri конечной точки экземпляра базы данных Пример: my-ansible-database.asdfaosdgih.us-east-1.rds.amazonaws.com | ||||
| движок string | при существовании экземпляра RDS | имя движка базы данных Пример: oracle-se | ||||
| версия_движка string | при существовании экземпляра RDS | версия движка базы данных Пример: 11.2.0.4.v6 | ||||
| последнее_восстанавливаемое_время string | при существовании экземпляра RDS | последнее время, до которого можно восстановить базу данных с помощью точечного восстановления Пример: 1489707802.0 | ||||
| модель_лицензии string | при существовании экземпляра RDS | информация о модели лицензии Пример: bring-your-own-license | ||||
| группы_опций complex | при существовании экземпляра RDS | список принадлежностей к группам опций для этого экземпляра RDS | ||||
| имя_группы_опций string | при существовании экземпляра RDS | имя группы опций для этого экземпляра RDS Пример: default:oracle-se-11-2 | ||||
| состояние string | при существовании экземпляра RDS | состояние принадлежности к группе опций экземпляра RDS Пример: синхронизировано | ||||
| параметры_базы_данных complex | при существовании экземпляра RDS и определении групп параметров | список групп параметров БД, примененных к этому экземпляру RDS | ||||
| состояние_применения_параметров string | при существовании экземпляра RDS | статус обновлений параметров Пример: синхронизировано | ||||
| имя_группы_параметров string | при существовании экземпляра RDS | имя группы параметров DP Пример: testawsrpprodb01spfile-1ujg7nrs7sgyz | ||||
| ожидаемые_изменённые_значения complex | при существовании экземпляра RDS | словарь изменений в экземпляре RDS, которые ожидают применения | ||||
| размер_выделенного_хранилища string | при существовании экземпляра RDS | новый размер выделенного хранилища для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| период_сохранения_резервных_копий string | при существовании экземпляра RDS | ожидаемое количество дней, в течение которых сохраняются автоматические резервные копии Пример: null | ||||
| класс_экземпляра_базы_данных string | при существовании экземпляра RDS | новый класс экземпляра базы данных для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| идентификатор_экземпляра_базы_данных string | при существовании экземпляра RDS | новый идентификатор экземпляра базы данных для этого экземпляра RDS, который будет применён или находится в процессе применения Пример: null | ||||
| версия_движка string | при существовании экземпляра RDS | указана версия движка базы данных Пример: null | ||||
| iops string | при существовании экземпляра RDS | новое значение provisioned IOPS для этого экземпляра RDS, которое будет применено или применяется Пример: null | ||||
| пароль_пользователя_владельца string | при существовании экземпляра RDS | ожидаемое или выполняемое изменение основных учетных данных для этого экземпляра RDS Пример: null | ||||
| multi_az string | при существовании экземпляра RDS | указывается, что экземпляр RDS в одной зоне доступности должен быть изменен на развертывание в нескольких зонах доступности Пример: null | ||||
| порт string | при существовании экземпляра RDS | указан ожидаемый порт для этого экземпляра RDS Пример: null | ||||
| порт 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 | ||||
Авторы
- 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.10/collections/community/aws/rds_module.html