Spec-Zone.ru › Ansible 2.6

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

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

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

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

Требования

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

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
alias
bool

(добавлено в 1.9)
    Варианты:
  • нет ←
  • да
Указывает, является ли это записью alias.
alias_evaluate_target_health
bool

(добавлено в 2.1)
    Варианты:
  • нет ←
  • да
Определяет, следует ли оценивать состояние здоровья целевого alias. Полезно для alias с Elastic Load Balancers.
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)
Требуется только для весовых, основанных на задержке и failover записей ресурса. Идентификатор, который отличает несколько записей ресурса, которые имеют одинаковую комбинацию имени DNS и типа.
overwrite
Определяет, следует ли перезаписывать существующую запись при создании, если значения не совпадают
private_zone
bool

(добавлено в 1.9)
    Варианты:
  • нет ←
  • да
Если установлено в yes, будет использоваться частная зона, соответствующая запрошенному имени в домене, если есть как публичные, так и частные зоны. По умолчанию используется публичная зона.
profile
(добавлено в 1.6)
Использует профиль boto. Работает только с boto >= 2.24.0.
record
обязательно
Полная запись DNS для создания или удаления
region
(добавлено в 2.0)
Только для записей ресурса, основанных на задержке. Среди записей ресурса, которые имеют одинаковую комбинацию имени 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
bool

(добавлено в 1.5)
    Варианты:
  • нет
  • да ←
При установке в "нет", сертификаты SSL не будут проверятся для boto версий >= 2.6.0.
value
Новое значение при создании записи DNS. Разрешён список YAML или несколько значений через запятую для записей, не являющихся alias.
При удалении записи все значения записи должны быть указаны, иначе Route53 не удалит её.
vpc_id
(добавлено в 2.0)
При использовании в сочетании с private_zone: true, это позволит изменять только записи в частной размещенной зоне, прикрепленной к этой VPC.
Это позволяет иметь несколько частных размещенных зон, все с одинаковым именем, прикреплённых к различным VPC.
wait
bool

(добавлено в 2.1)
    Варианты:
  • нет ←
  • да
Дождаться, пока изменения не будут реплицированы на все серверы DNS Amazon Route 53.
wait_timeout
(добавлено в 2.1)
По умолчанию:
300
Время ожидания репликации изменений в секундах.
weight
(добавлено в 2.0)
Только для весовых записей ресурса. Среди записей ресурса, которые имеют одинаковую комбинацию имени 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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
bool
всегда
является ли это псевдонимом

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, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые изменения интерфейса.

Техническое обслуживание

Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.

Список других модулей, также поддерживаемых сообществом Ansible, см. в разделе здесь.

Автор

  • 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.6/modules/route53_module.html

Spec-Zone.ru

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