Spec-Zone.ru › Ansible 2.7

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

Новая версия с 1.3.

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

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

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

Требования

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

  • python >= 2.6
  • boto

Параметры

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

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

Псевдонимы: ec2_secret_key, secret_key
ec2_url
-
URL для подключения к EC2 или вашей облачной системе Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть.
failover
-
добавлен в 2.0
Только для наборов записей ресурсов failover. Определяет, является ли это основной или резервной записью ресурса. Допустимые значения PRIMARY и SECONDARY
health_check
-
добавлен в 2.0
Проверка состояния для ассоциации с этой записью
hosted_zone_id
-
добавлен в 2.0
Идентификатор зоны размещения DNS-зоны, которую нужно изменить
identifier
-
добавлен в 2.0
Необходимо указывать только для наборов записей ресурсов Weighted, latency-based и failover. Идентификатор, отличающий несколько наборов записей ресурсов, которые имеют одинаковую комбинацию имени DNS и типа.
overwrite
-
Указать, должна ли при создании перезаписываться существующая запись, если значения не совпадают
private_zone
boolean
добавлен в 1.9
    Варианты:
  • нет ←
  • да
Если установлено значение yes, будет использоваться частная зона, соответствующая запрошенному имени в домене, если есть как публичная, так и частная зоны. По умолчанию используется публичная зона.
profile
-
добавлен в 1.6
Использует профиль boto. Работает только с boto >= 2.24.0.
record
- / обязательно
Полная запись DNS для создания или удаления
region
-
добавлен в 2.0
Только для наборов записей ресурсов latency-based. Среди наборов записей ресурсов с одинаковым именем DNS и типом, значение, определяющее, с какой областью должна быть связана эта запись для маршрутизации на основе задержки
retry_interval
-
По умолчанию:
500
В случае, если Route53 еще обслуживает предыдущий запрос, этот модуль будет ждать и повторит попытку через указанное количество секунд. Если у вас много доменных имен, значение по умолчанию в 500 секунд может быть слишком большим.
security_token
-
добавлен в 1.6
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
- / обязательно
    Варианты:
  • present
  • absent
  • get
  • create
  • delete
Определяет состояние записи ресурса. Начиная с Ansible 2.4, параметр command изменен на state по умолчанию, и добавлены варианты 'present' и 'absent', но command по-прежнему работает.

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

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета 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
строка
всегда
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 <mike.buzzetti@gmail.com>

Подсказка

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

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

Spec-Zone.ru

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