community.aws.opensearch модуль — Создаёт домен OpenSearch или ElasticSearch
Примечание
Этот модуль является частью коллекции community.aws (версия 8.0.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Для использования в playbook, укажите: community.aws.opensearch.
Новая в community.aws 4.0.0
Описание
- Создаёт или изменяет домен Amazon OpenSearch Service.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key строка | ID ключа доступа AWS. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные среды Параметры aws_access_key и profile взаимоисключающие. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удалён в релизе после 2024-12-01. Поддержка переменной среды |
access_policies словарь | Политика доступа IAM в формате JSON. |
advanced_security_options словарь | Указывает дополнительные параметры безопасности. |
|
enabled логический тип |
True, если дополнительные параметры безопасности включены. Для использования дополнительных параметров безопасности необходимо включить шифрование между узлами. Варианты:
|
|
internal_user_database_enabled логический тип |
True, если внутренняя база данных пользователей включена. Варианты:
|
|
master_user_options словарь |
Данные для пользователя master (имя пользователя, пароль, ARN или оба). |
|
master_user_arn строка |
ARN пользователя master (если включен IAM). |
|
master_user_name строка |
Имя пользователя master, хранящееся во внутренней базе данных домена Amazon OpenSearch Service. |
|
master_user_password строка |
Пароль пользователя master, хранящийся во внутренней базе данных домена Amazon OpenSearch Service. |
|
saml_options словарь |
Настройка приложения SAML для домена. |
|
enabled логический тип |
True, если SAML включен. Для использования аутентификации SAML необходимо включить контроль доступа с тонкими настройками. Аутентификацию SAML можно включить только для OpenSearch Dashboards в существующих доменах, а не при создании новых. Домены поддерживают только один метод аутентификации Dashboards за раз. Если у вас включена аутентификация Amazon Cognito для OpenSearch Dashboards, её нужно отключить, прежде чем включить SAML. Варианты:
|
|
idp словарь |
Информация об IdP SAML. |
|
entity_id строка |
Уникальный идентификатор приложения в IdP SAML. |
|
metadata_content строка |
Метаданные SAML-приложения в формате XML. |
|
master_backend_role строка |
Роль бэкэнда, к которой сопоставлен мастер-пользователь SAML. |
|
master_user_name строка |
Имя пользователя master SAML, хранящееся во внутренней базе данных домена Amazon OpenSearch Service. |
|
roles_key строка |
Элемент SAML-утверждения для использования ролей бэкэнда. По умолчанию — roles. |
|
session_timeout_minutes целое число |
Время действия сеанса в минутах, после которого сеанс пользователя становится неактивным. Допустимые значения от 1 до 1440, по умолчанию — 60. |
|
subject_key строка |
Элемент SAML-утверждения для использования имени пользователя. По умолчанию — NameID. |
allow_intermediate_upgrades boolean | Если значение true, разрешить обновление домена OpenSearch через одну или несколько промежуточных версий. Если значение false, не разрешить обновление домена OpenSearch через промежуточные версии. Операция обновления завершится ошибкой, если невозможно обновить до engine_version напрямую. Варианты:
|
auto_tune_options dictionary | Указывает параметры автоматической настройки. |
|
desired_state string |
Желаемое состояние автоматической настройки. Допустимые значения: ENABLED и DISABLED. Варианты:
|
|
maintenance_schedules list / elements=dictionary |
Список планов технического обслуживания. |
|
cron_expression_for_recurrence string |
Выражение cron для периодического плана технического обслуживания. |
|
duration dictionary |
Указывает продолжительность плана технического обслуживания, значение продолжительности и единицу измерения продолжительности. |
|
unit string |
Единица измерения продолжительности плана технического обслуживания. Допустимое значение HOURS. Варианты:
|
|
value integer |
Целое число для указания значения продолжительности плана технического обслуживания. |
|
start_at string |
Отметка времени начала плана технического обслуживания автоматической настройки. |
aws_ca_bundle path | Расположение файла сертификата CA, используемого для проверки SSL-сертификатов. Также можно использовать переменную среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
cluster_config dictionary | Параметры для конфигурации кластера домена OpenSearch Service. |
|
availability_zone_count integer |
Целое число, указывающее количество доступных зон для домена при включенной зоне осознания. Оно должно быть равно количеству подсетей, если включены VPC-шлюзы. |
|
cold_storage_options dictionary |
Указывает конфигурацию ColdStorageOptions для домена. |
|
enabled boolean |
True для включения холодного хранения. Поддерживается в Elasticsearch 7.9 и выше. Варианты:
|
|
dedicated_master boolean |
Логическое значение, указывающее, включен ли выделенный мастер-узел. Варианты:
|
|
dedicated_master_instance_count integer |
Общее количество выделенных мастер-узлов, активных и резервных, для домена. |
|
dedicated_master_instance_type string |
Тип экземпляра для выделенного мастер-узла. |
|
instance_count integer |
Количество экземпляров для домена. |
|
instance_type string |
Тип экземпляров, которые следует использовать для домена. |
|
warm_count integer |
Количество узлов UltraWarm в домене. |
|
warm_enabled boolean |
True для включения хранения UltraWarm. Варианты:
|
|
warm_type string |
Тип экземпляра для узлов warm домена OpenSearch. |
|
zone_awareness boolean |
Логическое значение, указывающее, включена ли функция учета зон. Варианты:
|
cognito_options dictionary | Параметры для настройки OpenSearch Service для использования аутентификации Amazon Cognito для OpenSearch Dashboards. |
|
enabled boolean |
Вариант для включения Cognito для аутентификации OpenSearch Dashboards. Варианты:
|
|
identity_pool_id string |
ID пула идентификаторов Cognito для аутентификации OpenSearch Dashboards. |
|
role_arn string |
ARN роли, предоставляющей OpenSearch разрешения на доступ к ресурсам Cognito. |
|
user_pool_id string |
ID пула пользователей Cognito для аутентификации OpenSearch Dashboards. |
debug_botocore_endpoint_logs boolean | Используйте Переменная среды Варианты:
|
domain_endpoint_options dictionary | Параметры для указания конфигурации, которая будет применена к конечной точке домена. |
|
custom_endpoint string |
Полное доменное имя для вашей пользовательской конечной точки. |
|
custom_endpoint_certificate_arn string |
ARN сертификата ACM для вашей пользовательской конечной точки. |
|
custom_endpoint_enabled boolean |
Включить пользовательскую конечную точку для домена. Варианты:
|
|
enforce_https boolean |
Включить только HTTPS-конечную точку для домена. Варианты:
|
|
tls_security_policy string |
Укажите политику безопасности TLS, которую следует применить к HTTPS-конечной точке домена. |
domain_name string / обязательно | Имя домена Amazon OpenSearch/ElasticSearch Service. Имена доменов уникальны для доменов, принадлежащих учетной записи в регионе AWS. |
ebs_options dictionary | Параметры для настройки хранения на основе EBS для домена OpenSearch Service. |
|
ebs_enabled boolean |
Указывает, включено ли хранилище на основе EBS. Варианты:
|
|
iops integer |
IOPD для тома EBS с предопределенным значением IOPS (SSD). |
|
volume_size integer |
Целое число для указания размера тома EBS. |
|
volume_type string |
Указывает тип тома для хранилища на основе EBS. “standard”|”gp2”|”io1” |
encryption_at_rest_options dictionary | Параметры для включения шифрования в состоянии покоя. |
|
enabled boolean |
Данные должны быть зашифрованы в состоянии покоя. Варианты:
|
|
kms_key_id string |
Если включено шифрование при хранении данных, это идентификатор ключа шифрования, который нужно использовать. Значение должно быть ARN ключа KMS. Также может быть идентификатором ключа KMS. |
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url string | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws протестированы только с AWS. Также могут использоваться переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
engine_version string | -> Версия движка для использования. Например, ‘ElasticSearch_7.10’ или ‘OpenSearch_1.1’. -> Если текущая версия не равна engine_version, запускается обновление кластера. -> Возможно, прямое обновление с текущей версии на engine_version невозможно. В этом случае обновление выполняется постепенно, до тех пор пока кластер не будет работать с целевой версией. -> Операция обновления завершается неудачно, если нет пути от текущей версии к engine_version. -> Смотрите документацию OpenSearch по совместимости обновлений. |
node_to_node_encryption_options dictionary | Параметры шифрования между узлами. |
|
enabled boolean |
True для включения шифрования между узлами. Варианты:
|
profile aliases: aws_profile string | Используемый профиль AWS для аутентификации. Дополнительная информация о профилях доступна в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может использоваться переменная среды Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и security_token. |
purge_tags boolean | Если purge_tags=true и tags задано, существующие теги будут очищены, чтобы точно соответствовать параметру tags. Если параметр tags не задан, теги не будут изменены, даже если purge_tags=True. Ключи тегов, начинающиеся с Варианты:
|
region aliases: aws_region, ec2_region string | AWS регион для использования. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, region игнорируется. Также могут использоваться переменные среды Дополнительная информация в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа AWS. Дополнительная информация о токенах доступа в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные среды Параметры secret_key и profile несовместимы. Псевдоним aws_secret_access_key добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сеанса AWS STS для временных учетных данных. Дополнительная информация о токенах доступа в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные среды Параметры security_token и profile несовместимы. Псевдонимы aws_session_token и session_token добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
snapshot_options dictionary | Параметр для установки времени ежедневного автоматического снимка в формате UTC. |
|
automated_snapshot_start_hour integer |
Целочисленное значение от 0 до 23, определяющее время, когда служба создаёт ежедневный автоматический снимок указанного домена Elasticsearch. |
состояние строка | Создаёт или изменяет существующий домен OpenSearch. Удаляет домен OpenSearch. Варианты:
|
метки псевдонимы: resource_tags словарь | Словарь, представляющий метки, которые нужно применить к ресурсу. Если параметр метки не задан, метки не будут изменены. |
validate_certs логическое | Если установлено значение Сильно не рекомендуется устанавливать validate_certs=false. В качестве альтернативы, рассмотрите установку aws_ca_bundle вместо этого. Варианты:
|
vpc_options словарь | Параметры для указания подсетей и групп безопасности для конечной точки VPC. |
|
security_groups список / элементы=строка |
Указывает идентификаторы групп безопасности для конечной точки VPC. |
|
subnets список / элементы=строка |
Указывает идентификаторы подсетей для конечной точки VPC. |
wait логическое | Дожидаться завершения создания, изменения или удаления OpenSearch. Варианты:
|
wait_timeout целое число | Сколько времени ждать, прежде чем прервать ожидание, в секундах. По умолчанию: |
Примечания
Примечание
- Предупреждение: Для модулей переменные среды и файлы конфигурации считываются из контекста Ansible «хост», а не из контекста «контроллер». Поэтому файлы, возможно, нужно явно скопировать на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста Ansible «контроллер», а не из контекста «хост».
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из файлов конфигурации в контексте Ansible «хост» (обычно
~/.aws/credentials). Дополнительную информацию см. на https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
- name: Create OpenSearch domain for dev environment, no zone awareness, no dedicated masters
community.aws.opensearch:
domain_name: "dev-cluster"
engine_version: Elasticsearch_1.1
cluster_config:
instance_type: "t2.small.search"
instance_count: 2
zone_awareness: false
dedicated_master: false
ebs_options:
ebs_enabled: true
volume_type: "gp2"
volume_size: 10
access_policies: "{{ lookup('file', 'policy.json') | from_json }}"
- name: Create OpenSearch domain with dedicated masters
community.aws.opensearch:
domain_name: "my-domain"
engine_version: OpenSearch_1.1
cluster_config:
instance_type: "t2.small.search"
instance_count: 12
dedicated_master: true
zone_awareness: true
availability_zone_count: 2
dedicated_master_instance_type: "t2.small.search"
dedicated_master_instance_count: 3
warm_enabled: true
warm_type: "ultrawarm1.medium.search"
warm_count: 1
cold_storage_options:
enabled: false
ebs_options:
ebs_enabled: true
volume_type: "io1"
volume_size: 10
iops: 1000
vpc_options:
subnets:
- "subnet-e537d64a"
- "subnet-e537d64b"
security_groups:
- "sg-dd2f13cb"
- "sg-dd2f13cc"
snapshot_options:
automated_snapshot_start_hour: 13
access_policies: "{{ lookup('file', 'policy.json') | from_json }}"
encryption_at_rest_options:
enabled: false
node_to_node_encryption_options:
enabled: false
auto_tune_options:
enabled: true
maintenance_schedules:
- start_at: "2025-01-12"
duration:
value: 1
unit: "HOURS"
cron_expression_for_recurrence: "cron(0 12 * * ? *)"
- start_at: "2032-01-12"
duration:
value: 2
unit: "HOURS"
cron_expression_for_recurrence: "cron(0 12 * * ? *)"
tags:
Environment: Development
Application: Search
wait: true
- name: Increase size of EBS volumes for existing cluster
community.aws.opensearch:
domain_name: "my-domain"
ebs_options:
volume_size: 5
wait: true
- name: Increase instance count for existing cluster
community.aws.opensearch:
domain_name: "my-domain"
cluster_config:
instance_count: 40
wait: true
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/opensearch_module.html