Spec-Zone.ru › Ansible 2.9

route53 – добавление или удаление записей в DNS-сервисе Amazons Route53

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

Описание

  • Создаёт и удаляет записи DNS в сервисе Amazons Route53

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
alias
boolean
    Варианты:
  • нет ←
  • да
Указывает, является ли это записью псевдонима.
alias_evaluate_target_health
boolean
    Варианты:
  • нет ←
  • да
Выполнять ли проверку состояния целевого объекта псевдонима. Полезно для псевдонимов балансировщиков нагрузки Elastic Load Balancers.
alias_hosted_zone_id
-
Идентификатор размещённой зоны.
aws_access_key
string
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

Псевдонимы: ec2_access_key, access_key
aws_secret_key
string
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

Псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
boolean
добавлено в 2.8
    Варианты:
  • нет ←
  • да
Использовать регистратор botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action, чтобы вывести общий список, сделанный во время выполнения playbook. Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
ec2_url
string
URL для подключения к EC2 или вашей облачной среде Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она существует.
failover
-
Только для наборов записей ресурсов с резервированием. Указывает, является ли это основной или резервной записью набора.
Разрешенные значения: PRIMARY и SECONDARY
health_check
-
Проверка состояния для ассоциации с этой записью
hosted_zone_id
-
Идентификатор зоны размещения DNS-зоны для изменения
Этот параметр обязателен, если параметр zone не указан.
identifier
-
Должен быть указан только для наборов записей ресурсов с балансировкой по весу, задержке и резервированию. Идентификатор, различающий несколько наборов записей ресурсов, имеющих одинаковую комбинацию имени и типа DNS.
overwrite
boolean
  • нет
  • да
Необходимо ли перезаписывать существующую запись при создании, если значения не совпадают
private_zone
boolean
    Варианты:
  • нет ←
  • да
Если установлено значение yes, будет использоваться частная зона, соответствующая запрошенному имени в домене, если есть как публичные, так и частные зоны. По умолчанию используется публичная зона.
profile
string
Использует профиль boto. Работает только с boto >= 2.24.0.
record
- / обязательно
Полная запись DNS для создания или удаления
region
-
Только для наборов записей ресурсов с балансировкой по задержке. Среди наборов записей ресурсов с одинаковым сочетанием имени и типа DNS, значение, определяющее, с какой областью должна быть связана эта запись для маршрутизации по задержке
retry_interval
-
По умолчанию:
500
В случае, если Route53 всё ещё обрабатывает предыдущий запрос, этот модуль будет ожидать и повторит попытку через заданное количество секунд. Если у вас много доменных имён, значение по умолчанию в 500 секунд может быть слишком большим.
security_token
string
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
- / обязательно
  • есть
  • отсутствует
  • получить
  • создать
  • удалить
Определяет состояние ресурса записи. С Ansible 2.4, опция command изменена на state по умолчанию, и добавлены варианты «есть» и «отсутствует», но command всё ещё работает.

Псевдонимы: command
ttl
-
По умолчанию:
"3600 (один час)"
TTL для новой записи
type
- / обязательно
  • A
  • CNAME
  • MX
  • AAAA
  • TXT
  • PTR
  • SRV
  • SPF
  • CAA
  • NS
  • SOA
Тип записи DNS для создания
validate_certs
boolean
  • нет
  • да ←
Если установлено в «нет», сертификаты SSL не будут проверены для версий boto >= 2.6.0.
value
-
Новое значение при создании записи DNS. Разрешены списки YAML или несколько значений, разделённых запятыми, для записей, не являющихся псевдонимами.
При удалении записи все значения для записи должны быть указаны, иначе Route53 её не удалит.
vpc_id
-
При использовании совместно с private_zone: true, это позволит изменять только записи в частной зоне размещения, присоединённой к этой VPC.
Это позволяет иметь несколько частных зон размещения с одинаковым именем, присоединённых к различным VPC.
wait
boolean
    Варианты:
  • нет ←
  • да
Ожидать, пока изменения не будут реплицированы на все серверы DNS Amazon Route 53.
wait_timeout
-
По умолчанию:
300
Сколько времени ожидать репликации изменений, в секундах.
weight
-
Только для наборов записей ресурсов с балансировкой по весу. Среди наборов записей ресурсов с одинаковым сочетанием имени и типа DNS, значение, определяющее, какая часть трафика для текущего набора записей ресурсов маршрутизируется в соответствующее местоположение.
zone
-
DNS-зона для изменения
Этот параметр обязателен, если параметр hosted_zone_id не указан.

Примечания

Примечание

  • Если параметры не установлены в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета AWS_URL или EC2_URL, 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
  • Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, если требуется, но это также можно настроить в файле конфигурации boto

Примеры

# Add new.foo.com as an A record with 3 IPs and wait until the changes have been replicated
- route53:
      state: present
      zone: foo.com
      record: new.foo.com
      type: A
      ttl: 7200
      value: 1.1.1.1,2.2.2.2,3.3.3.3
      wait: yes

# Update new.foo.com as an A record with a list of 3 IPs and wait until the changes have been replicated
- route53:
      state: present
      zone: foo.com
      record: new.foo.com
      type: A
      ttl: 7200
      value:
        - 1.1.1.1
        - 2.2.2.2
        - 3.3.3.3
      wait: yes

# Retrieve the details for new.foo.com
- route53:
      state: get
      zone: foo.com
      record: new.foo.com
      type: A
  register: rec

# Delete new.foo.com A record using the results from the get command
- route53:
      state: absent
      zone: foo.com
      record: "{{ rec.set.record }}"
      ttl: "{{ rec.set.ttl }}"
      type: "{{ rec.set.type }}"
      value: "{{ rec.set.value }}"

# Add an AAAA record.  Note that because there are colons in the value
# that the IPv6 address must be quoted. Also shows using the old form command=create.
- route53:
      command: create
      zone: foo.com
      record: localhost.foo.com
      type: AAAA
      ttl: 7200
      value: "::1"

# Add a SRV record with multiple fields for a service on port 22222
# For more information on SRV records see:
# https://en.wikipedia.org/wiki/SRV_record
- route53:
      state: present
      zone: foo.com
      record: "_example-service._tcp.foo.com"
      type: SRV
      value: "0 0 22222 host1.foo.com,0 0 22222 host2.foo.com"

# Add a TXT record. Note that TXT and SPF records must be surrounded
# by quotes when sent to Route 53:
- route53:
      state: present
      zone: foo.com
      record: localhost.foo.com
      type: TXT
      ttl: 7200
      value: '"bar"'

# Add an alias record that points to an Amazon ELB:
- route53:
      state: present
      zone: foo.com
      record: elb.foo.com
      type: A
      value: "{{ elb_dns_name }}"
      alias: True
      alias_hosted_zone_id: "{{ elb_zone_id }}"

# Retrieve the details for elb.foo.com
- route53:
      state: get
      zone: foo.com
      record: elb.foo.com
      type: A
  register: rec

# Delete an alias record using the results from the get command
- route53:
      state: absent
      zone: foo.com
      record: "{{ rec.set.record }}"
      ttl: "{{ rec.set.ttl }}"
      type: "{{ rec.set.type }}"
      value: "{{ rec.set.value }}"
      alias: True
      alias_hosted_zone_id: "{{ rec.set.alias_hosted_zone_id }}"

# Add an alias record that points to an Amazon ELB and evaluates it health:
- route53:
    state: present
    zone: foo.com
    record: elb.foo.com
    type: A
    value: "{{ elb_dns_name }}"
    alias: True
    alias_hosted_zone_id: "{{ elb_zone_id }}"
    alias_evaluate_target_health: True

# Add an AAAA record with Hosted Zone ID.
- route53:
      state: present
      zone: foo.com
      hosted_zone_id: Z2AABBCCDDEEFF
      record: localhost.foo.com
      type: AAAA
      ttl: 7200
      value: "::1"

# Use a routing policy to distribute traffic:
- route53:
      state: present
      zone: foo.com
      record: www.foo.com
      type: CNAME
      value: host1.foo.com
      ttl: 30
      # Routing policy
      identifier: "host1@www"
      weight: 100
      health_check: "d994b780-3150-49fd-9205-356abdd42e75"

# Add a CAA record (RFC 6844):
- route53:
      state: present
      zone: example.com
      record: example.com
      type: CAA
      value:
        - 0 issue "ca.example.net"
        - 0 issuewild ";"
        - 0 iodef "mailto:security@example.com"

Значения возврата

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

Ключ Возвращаемое значение Описание
nameservers
список
при состоянии 'get'
серверы имен, связанные с зоной

Пример:
['ns-1036.awsdns-00.org.', 'ns-516.awsdns-00.net.', 'ns-1504.awsdns-00.co.uk.', 'ns-1.awsdns-00.com.']
set
сложное
при состоянии 'get'
информация, специфичная для записи ресурса

alias
булево
всегда
является ли это псевдонимом

failover
NoneType
всегда
health_check
NoneType
всегда
чек-контроль работоспособности, связанный с этой записью

identifier
NoneType
всегда
record
строка
всегда
доменное имя для набора записей

Пример:
new.foo.com.
region
None
всегда
ttl
строка
всегда
время жизни кэша записи ресурса

Пример:
3600
type
строка
всегда
тип набора записей

Пример:
A
value
строка
всегда
значение

Пример:
52.43.18.27
values
список
всегда
значения

Пример:
['52.43.18.27']
weight
строка
всегда
вес записи

Пример:
3
zone
строка
всегда
зона, к которой принадлежит этот набор записей

Пример:
foo.bar.com.


Статус

  • Этот модуль гарантирует обратную совместимость изменений интерфейса в будущем. [stableinterface]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Bruce Pennypacker (@bpennypacker)
  • Mike Buzzetti (@jimbydamonk)

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/route53_module.html

Spec-Zone.ru

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