модуль community.aws.opensearch — создает домен OpenSearch или ElasticSearch
Примечание
Этот модуль входит в коллекцию community.aws (версия 10.1.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.aws.opensearch.
Добавлено в community.aws 4.0.0
Краткое описание
- Создает или изменяет домен Amazon OpenSearch Service.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 3.6
- boto3 >= 1.34.0
- botocore >= 1.34.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key string | Идентификатор ключа доступа 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 для соответствия AWS SDK botocore. |
access_policies dictionary | Политика доступа IAM в виде строки в формате JSON. |
advanced_security_options dictionary | Задает дополнительные параметры безопасности. |
|
enabled boolean |
True, если расширенная безопасность включена. Чтобы использовать расширенные параметры безопасности, необходимо включить шифрование между узлами. Варианты:
|
|
internal_user_database_enabled boolean |
True, если внутренняя база данных пользователей включена. Варианты:
|
|
master_user_options dictionary |
Учетные данные пользователя master: имя пользователя и пароль, ARN или и то и другое. |
|
master_user_arn string |
ARN пользователя master (если IAM включен). |
|
master_user_name string |
Имя пользователя master, которое хранится во внутренней базе данных домена Amazon OpenSearch Service. |
|
master_user_password string |
Пароль пользователя master, который хранится во внутренней базе данных домена Amazon OpenSearch Service. |
|
saml_options dictionary |
Конфигурация приложения SAML для домена. |
|
enabled boolean |
True, если SAML включен. Чтобы использовать аутентификацию SAML, необходимо включить детальный контроль доступа. Аутентификацию SAML для OpenSearch Dashboards можно включить только в существующих доменах, но не при создании новых. Для домена одновременно поддерживается только один метод аутентификации в Dashboards. Если для OpenSearch Dashboards включена аутентификация Amazon Cognito, ее необходимо отключить, прежде чем включать SAML. Варианты:
|
|
idp dictionary |
Информация о поставщике удостоверений SAML. |
|
entity_id string |
Уникальный идентификатор сущности приложения у поставщика удостоверений SAML. |
|
metadata_content string |
Метаданные приложения SAML в формате XML. |
|
master_backend_role string |
Роль серверной части, с которой сопоставляется пользователь master SAML. |
|
master_user_name string |
Имя пользователя master SAML, которое хранится во внутренней базе данных домена Amazon OpenSearch Service. |
|
roles_key string |
Элемент утверждения SAML, используемый для ролей серверной части. По умолчанию — roles. |
|
session_timeout_minutes integer |
Продолжительность в минутах, по истечении которой сеанс пользователя становится неактивным. Допустимые значения — от 1 до 1440, значение по умолчанию — 60. |
|
subject_key string |
Элемент утверждения SAML, используемый для имени пользователя. По умолчанию — NameID. |
allow_intermediate_upgrades boolean | Если значение true, разрешить обновление домена OpenSearch через одну или несколько промежуточных версий. Если значение false, запретить обновление домена OpenSearch через промежуточные версии. Операция обновления завершится ошибкой, если невозможно выполнить обновление непосредственно до engine_version. Варианты:
|
auto_tune_options dictionary | Задает параметры Auto-Tune. |
|
desired_state string |
Требуемое состояние Auto-Tune. Допустимые значения: ENABLED и DISABLED. Варианты:
|
|
maintenance_schedules list / elements=dictionary |
Список расписаний обслуживания. |
|
cron_expression_for_recurrence string |
Выражение cron для повторяющегося расписания обслуживания. |
|
duration dictionary |
Задает продолжительность обслуживания, ее значение и единицу измерения. |
|
unit string |
Единица измерения продолжительности обслуживания. Допустимое значение — HOURS. Варианты:
|
|
value integer |
Целое число, задающее продолжительность обслуживания. |
|
start_at string |
Метка времени начала обслуживания Auto-Tune. |
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 |
Тип экземпляра для теплых узлов домена OpenSearch. |
|
zone_awareness boolean |
Логическое значение, указывающее, включена ли поддержка зон. Варианты:
|
cognito_options dictionary | Параметры настройки OpenSearch Service для использования аутентификации Amazon Cognito в OpenSearch Dashboards. |
|
enabled boolean |
Параметр включения Cognito для аутентификации в OpenSearch Dashboards. Варианты:
|
|
identity_pool_id string |
Идентификатор пула идентификации Cognito для аутентификации в OpenSearch Dashboards. |
|
role_arn string |
ARN роли, предоставляющей OpenSearch разрешения на доступ к ресурсам Cognito. |
|
user_pool_id string |
Идентификатор пула пользователей 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 |
Количество операций ввода-вывода для тома 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 псевдонимы: aws_endpoint_url string | URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную окружения |
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 псевдонимы: aws_profile string | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную окружения Параметр profile нельзя использовать одновременно с параметрами aws_access_key, aws_secret_key и session_token. |
purge_tags boolean | Если задано значение Если параметр Ключи тегов, начинающиеся с Варианты:
|
region псевдонимы: aws_region string | Регион AWS, который следует использовать. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную окружения Дополнительные сведения см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
secret_key псевдонимы: aws_secret_access_key, aws_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 для согласованности с AWS botocore SDK. |
session_token псевдонимы: aws_session_token string | Токен сеанса AWS STS для использования с временными учетными данными. Дополнительные сведения о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменную окружения Параметры session_token и profile нельзя использовать одновременно. |
snapshot_options dictionary | Параметр для задания времени ежедневного автоматического создания снимка в формате UTC. |
|
automated_snapshot_start_hour integer |
Целое число от 0 до 23, указывающее время, в которое сервис ежедневно создает автоматический снимок указанного домена Elasticsearch. |
state string | Создает или изменяет существующий домен OpenSearch. Удаляет домен OpenSearch. Варианты:
|
tags псевдонимы: resource_tags dictionary | Словарь с тегами, которые необходимо применить к ресурсу. Если параметр |
validate_certs boolean | Если задано значение Настоятельно не рекомендуется устанавливать validate_certs=false; вместо этого рассмотрите возможность задать параметр aws_ca_bundle. Варианты:
|
vpc_options dictionary | Параметры для указания подсетей и групп безопасности конечной точки VPC. |
|
security_groups list / elements=string |
Указывает идентификаторы групп безопасности для конечной точки VPC. |
|
subnets list / elements=string |
Указывает идентификаторы подсетей для конечной точки VPC. |
wait boolean | Ожидать ли завершения создания, изменения или удаления OpenSearch. Варианты:
|
wait_timeout integer | время ожидания до прекращения ожидания, в секундах. По умолчанию: |
Примечания
Примечание
- Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому может потребоваться явно скопировать файлы на «хост». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
- Используемый Ansible AWS SDK (boto3) также может считывать значения по умолчанию для учетных данных и других параметров, например региона, из файлов конфигурации в контексте «хоста» 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/opensearch_module.html