Spec-Zone.ru › Ansible

Модуль community.aws.msk_cluster — управление кластерами Amazon MSK

Примечание

Этот модуль входит в коллекцию community.aws (версия 10.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные компоненты. Подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.aws.msk_cluster.

Добавлен в community.aws 2.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создание, удаление и изменение кластеров Amazon MSK (Managed Streaming for Apache Kafka).
  • До выпуска версии 5.0.0 этот модуль назывался community.aws.aws_msk_cluster. Способ использования не изменился.

Псевдонимы: aws_msk_cluster

Требования

На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • 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_ID или AWS_ACCESS_KEY в порядке убывания предпочтения.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

authentication

dictionary

Содержит все сведения, относящиеся к аутентификации клиентов.

Применяется только к новому кластеру и не может быть изменён.

sasl_iam

boolean

добавлено в community.aws 5.5.0

Включена ли аутентификация IAM.

Варианты:

  • false
  • true

sasl_scram

boolean

Включена ли аутентификация SASL/SCRAM.

Варианты:

  • false
  • true

tls_ca_arn

list / elements=string

Список ARN центров сертификации ACM.

unauthenticated

boolean

добавлено в community.aws 5.5.0

Позволяет явно включить или отключить аутентификацию

Варианты:

  • false
  • true ← (по умолчанию)

aws_ca_bundle

path

Путь к пакету сертификатов CA, используемому для проверки SSL-сертификатов.

Также можно использовать переменную среды AWS_CA_BUNDLE.

aws_config

dictionary

Словарь для изменения конфигурации botocore.

Список параметров см. в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

configuration_arn

string

ARN используемой конфигурации.

Этот параметр обязателен, если state=present.

configuration_revision

integer

Редакция используемой конфигурации.

Этот параметр обязателен, если state=present.

debug_botocore_endpoint_logs

boolean

Используйте регистратор botocore.endpoint для анализа уникальных (а не общих) вызовов API "resource:action", выполненных во время задачи, и вывода набора в ключ resource_actions результатов задачи. Используйте обработчик обратных вызовов aws_resource_action для вывода общего списка вызовов, выполненных в ходе плейбука.

Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

ebs_volume_size

integer

Размер тома EBS для диска данных каждого узла-брокера в ГиБ.

По умолчанию: 100

encryption

dictionary

Содержит все сведения, относящиеся к шифрованию.

Применяется только к новому кластеру и не может быть изменён.

in_transit

dictionary

Сведения о шифровании при передаче данных.

client_broker

string

Определяет параметры шифрования данных при передаче между клиентами и брокерами. Возможные значения: TLS означает, что обмен данными между клиентами и брокерами разрешён только с использованием TLS. TLS_PLAINTEXT означает, что обмен данными между клиентами и брокерами разрешён как с шифрованием TLS, так и в открытом виде. PLAINTEXT означает, что обмен данными между клиентами и брокерами разрешён только в открытом виде.

Варианты:

  • "TLS" ← (по умолчанию)
  • "TLS_PLAINTEXT"
  • "PLAINTEXT"

in_cluster

boolean

Если установлено значение true, это означает, что обмен данными между узлами-брокерами кластера зашифрован. Если установлено значение false, обмен данными выполняется в открытом виде.

Варианты:

  • false
  • true ← (по умолчанию)

kms_key_id

string

ARN ключа AWS KMS для шифрования данных в состоянии покоя. Если ключ KMS не указан, MSK создаст и использует его самостоятельно.

endpoint_url

aliases: aws_endpoint_url

string

URL для подключения вместо конечных точек AWS по умолчанию. Этот параметр можно использовать для подключения к другим совместимым с AWS службам, однако коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную среды AWS_URL.

enhanced_monitoring

string

Задаёт уровень мониторинга кластера MSK.

Варианты:

  • "DEFAULT" ← (по умолчанию)
  • "PER_BROKER"
  • "PER_TOPIC_PER_BROKER"
  • "PER_TOPIC_PER_PARTITION"

instance_type

string

Тип экземпляров Amazon EC2 для брокеров Kafka.

Варианты:

  • "kafka.t3.small" ← (по умолчанию)
  • "kafka.m5.large"
  • "kafka.m5.xlarge"
  • "kafka.m5.2xlarge"
  • "kafka.m5.4xlarge"
  • "kafka.m5.8xlarge"
  • "kafka.m5.12xlarge"
  • "kafka.m5.16xlarge"
  • "kafka.m5.24xlarge"
  • "kafka.m7g.large"
  • "kafka.m7g.xlarge"
  • "kafka.m7g.2xlarge"
  • "kafka.m7g.4xlarge"
  • "kafka.m7g.8xlarge"
  • "kafka.m7g.12xlarge"
  • "kafka.m7g.16xlarge"

logging

dictionary

Конфигурация ведения журналов.

cloudwatch

dictionary

Сведения о целевой группе CloudWatch Logs для журналов брокеров.

enabled

boolean

Указывает, следует ли отправлять журналы брокеров в указанную целевую группу CloudWatch Logs.

Варианты:

  • false ← (по умолчанию)
  • true

log_group

string

Группа журналов CloudWatch, являющаяся целевым назначением журналов брокеров.

firehose

dictionary

Сведения о потоке доставки Kinesis Data Firehose, являющемся целевым назначением журналов брокеров.

delivery_stream

string

Поток доставки Kinesis Data Firehose, являющийся целевым назначением журналов брокеров.

enabled

boolean

Указывает, следует ли отправлять журналы брокеров в указанный поток доставки Kinesis Data Firehose.

Варианты:

  • false ← (по умолчанию)
  • true

s3

dictionary

Сведения о целевом расположении Amazon S3 для журналов брокеров.

bucket

string

Имя корзины S3, являющейся целевым назначением журналов брокеров.

enabled

boolean

Указывает, следует ли отправлять журналы брокеров в указанное целевое расположение Amazon S3.

Варианты:

  • false ← (по умолчанию)
  • true

prefix

string

Префикс S3, являющийся целевым назначением журналов брокеров.

name

string / обязательный

Имя кластера.

nodes

integer

Количество узлов-брокеров в кластере. Должно быть не меньше двух.

По умолчанию: 3

open_monitoring

dictionary

Настройки открытого мониторинга.

jmx_exporter

boolean

Указывает, требуется ли включить или отключить JMX Exporter.

Варианты:

  • false ← (по умолчанию)
  • true

node_exporter

boolean

Указывает, требуется ли включить или отключить Node Exporter.

Варианты:

  • false ← (по умолчанию)
  • true

profile

aliases: aws_profile

string

Именованный профиль AWS для аутентификации.

Дополнительную информацию об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную среды AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token.

purge_tags

boolean

Если задано purge_tags=true и установлено tags, существующие теги ресурса будут удалены, чтобы их набор в точности соответствовал указанному параметром tags.

Если параметр tags не задан, теги не будут изменены, даже если purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому при обработке параметра purge_tags они игнорируются. Дополнительную информацию см. в документации Amazon: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

region

aliases: aws_region

string

Используемый регион AWS.

Для глобальных служб, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную среды AWS_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

string

Секретный ключ доступа AWS.

Дополнительную информацию о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания предпочтения.

Параметры secret_key и profile взаимоисключающие.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

security_groups

list / elements=string

Группы безопасности AWS, которые нужно связать с эластичными сетевыми интерфейсами, чтобы указать, кто может подключаться к кластеру Amazon MSK и обмениваться с ним данными. Если группа безопасности не указана, Amazon MSK использует группу безопасности VPC по умолчанию.

session_token

aliases: 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.

Также можно использовать переменную среды AWS_SESSION_TOKEN.

Параметры session_token и profile взаимоисключающие.

state

string

Создать кластер (present) или удалить его (absent).

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

subnets

list / elements=string

Список подсетей для подключения в виртуальном частном облаке (VPC) клиента. AWS создаёт эластичные сетевые интерфейсы в этих подсетях. Клиентские приложения используют эластичные сетевые интерфейсы для передачи и получения данных.

Клиентские подсети не могут находиться в зоне доступности us-east-1e.

Этот параметр обязателен, если state=present.

tags

aliases: resource_tags

dictionary

Словарь тегов, применяемых к ресурсу.

Если параметр tags не задан, теги не будут изменены.

validate_certs

boolean

Если задано значение false, SSL-сертификаты при обмене данными с API AWS проверяться не будут.

Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

version

string

Версия Apache Kafka.

Эта версия должна присутствовать в указанной конфигурации.

Этот параметр обязателен, если state=present.

wait

boolean

Ожидать ли доступности или удаления кластера.

Варианты:

  • false ← (по умолчанию)
  • true

wait_timeout

integer

Сколько секунд ожидать. Создание кластера может занять до 20–30 минут.

По умолчанию: 3600

Примечания

Примечание

  • Все операции занимают много времени: например, создание длится 20–30 минут, обновление версии Kafka — более часа, обновление конфигурации — 10–15 минут;
  • Брокеры кластера равномерно распределяются по зонам доступности в количестве, равном числу подсетей.
  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «host» Ansible, а не из контекста «controller». Поэтому может потребоваться явное копирование файлов на «host». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «controller» Ansible, а не из контекста «host».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учетных данных и других параметров, например региона, из файлов конфигурации в контексте «host» Ansible (обычно ~/.aws/credentials). Дополнительную информацию см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.

- community.aws.msk_cluster:
    name: kafka-cluster
    state: present
    version: 2.6.1
    nodes: 6
    ebs_volume_size: "{{ aws_msk_options.ebs_volume_size }}"
    subnets:
      - subnet-e3b48ce7c25861eeb
      - subnet-2990c8b25b07ddd43
      - subnet-d9fbeaf46c54bfab6
    wait: true
    wait_timeout: 1800
    configuration_arn: arn:aws:kafka:us-east-1:123456789012:configuration/kafka-cluster-configuration/aaaaaaaa-bbbb-4444-3333-ccccccccc-1
    configuration_revision: 1

- community.aws.msk_cluster:
    name: kafka-cluster
    state: absent

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:

Ключ

Описание

bootstrap_broker_string

complex

Список брокеров, которые клиентское приложение может использовать для начальной настройки подключения.

Возвращается: state=present и состояние кластера — ACTIVE

plain

string

Строка, содержащая одну или несколько пар «имя хоста:порт».

Возвращается: при успешном выполнении

tls

string

Строка, содержащая одну или несколько пар «имя DNS (или IP-адрес):порт TLS».

Возвращается: при успешном выполнении

cluster_info

dictionary

Описание кластера MSK.

Возвращается: state=present

response

dictionary

Ответ на фактический вызов API.

Возвращается: всегда

Пример: {}

Авторы

  • Daniil Kupchenko (@oukooveu)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 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/msk_cluster_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API