Spec-Zone.ru › Ansible 2.5

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

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

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

Обзор

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

Требования

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

  • python >= 2.6
  • boto

Параметры

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

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

Псевдонимы: ec2_secret_key, secret_key
ec2_url Значение по умолчанию:
None
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не указан, используется значение переменной среды EC2_URL, если она существует.
failover
(добавлен в 2.0)
Значение по умолчанию:
None
Только для наборов записей ресурса с failover. Указывает, является ли это основной или резервной записью набора ресурса. Допустимые значения: PRIMARY и SECONDARY
health_check
(добавлен в 2.0)
Значение по умолчанию:
None
Проверка работоспособности для ассоциации с этой записью
hosted_zone_id
(добавлен в 2.0)
Значение по умолчанию:
None
Идентификатор зоны размещения DNS-зоны для модификации
identifier
(добавлен в 2.0)
Значение по умолчанию:
None
Требуется только для наборов записей Weighted, основанных на задержке и failover. Идентификатор, отличающий несколько наборов записей ресурса, имеющих одинаковую комбинацию имени DNS и типа.
overwrite Значение по умолчанию:
None
Указывает, должна ли существующая запись перезаписываться при создании, если значения не совпадают
private_zone
(добавлен в 1.9)
Значение по умолчанию:
нет
Если установлено в true, будет использоваться частная зона, соответствующая запрошенному имени в домене, если существуют как публичные, так и частные зоны. По умолчанию используется публичная зона.
profile
(добавлен в 1.6)
Значение по умолчанию:
None
Использует профиль boto. Работает только с boto >= 2.24.0.
record
обязательно
Полная запись DNS для создания или удаления
region
(добавлен в 2.0)
Значение по умолчанию:
None
Только для наборов записей, основанных на задержке. Среди наборов записей ресурса, имеющих одинаковую комбинацию имени DNS и типа, значение, определяющее регион, с которым должна быть связана эта запись для маршрутизации по задержке.
retry_interval Значение по умолчанию:
500
В случае, если Route53 все еще обрабатывает предыдущий запрос, этот модуль будет ждать и повторит попытку через заданное количество секунд. Если у вас много доменных имен, значение по умолчанию в 500 секунд может быть слишком большим.
security_token
(добавлен в 1.6)
Значение по умолчанию:
None
Токен безопасности 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
(добавлен в 1.5)
    Варианты:
  • нет
  • да ←
При установке в "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0.
value Значение по умолчанию:
None
Новое значение при создании записи DNS. Разрешены списки YAML или значения, разделенные запятыми, для записей, не являющихся псевдонимами.
При удалении записи должны быть указаны все значения для записи, иначе Route53 не удалит ее.
vpc_id
(добавлен в 2.0)
Значение по умолчанию:
None
При использовании в сочетании с private_zone: true, это позволит изменять только записи в частной размещенной зоне, прикрепленной к этой VPC.
Это позволяет иметь несколько частных размещенных зон, все с одинаковым именем, прикрепленных к различным VPC.
wait
(добавлен в 2.1)
Значение по умолчанию:
нет
Подождать, пока изменения не будут реплицированы на все серверы Amazon Route 53 DNS.
wait_timeout
(добавлен в 2.1)
Значение по умолчанию:
300
Время ожидания репликации изменений в секундах.
weight
(добавлен в 2.0)
Значение по умолчанию:
None
Только для наборов записей с весами. Среди наборов записей ресурса, имеющих одинаковую комбинацию имени 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'
информация, специфичная для записи ресурса

health_check
NoneType
всегда
health_check, связанный с этой записью

weight
строка
всегда
вес записи

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

Пример:
foo.bar.com.
alias
bool
всегда
является ли это псевдонимом

failover
NoneType
всегда
value
строка
всегда
значение

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

Пример:
new.foo.com.
values
список
всегда
значения

Пример:
['52.43.18.27']
ttl
строка
всегда
значение TTL кэша записи ресурса

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

Пример:
A
region
None
всегда


Статус

Этот модуль помечен как stableinterface, что означает, что поддерживающие этот модуль гарантируют, что не будут вноситься несовместимые изменения в интерфейс.

Автор

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

Spec-Zone.ru

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