Spec-Zone.ru › Ansible

Модуль amazon.aws.route53 – добавление и удаление записей в DNS-службе Amazon Route 53

Примечание

Этот модуль является частью коллекции amazon.aws (версия 11.3.0).

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

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

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

Новое в amazon.aws 5.0.0

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

Обзор

  • Создаёт и удаляет DNS-записи в службе Amazon Route 53.
  • Этот модуль был впервые добавлен в community.aws в выпуске 1.0.0.

Требования

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

  • python >= 3.6
  • boto3 >= 1.35.0
  • botocore >= 1.35.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: 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 botocore SDK.

alias

boolean

Указывает, является ли это записью-псевдонимом.

Взаимоисключающий параметр с ttl.

По умолчанию используется false.

Варианты:

  • false
  • true

alias_evaluate_target_health

boolean

Учитывать ли состояние работоспособности целевого объекта псевдонима. Полезно для псевдонимов Elastic Load Balancers.

Варианты:

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

alias_hosted_zone_id

string

Идентификатор размещённой зоны.

aws_ca_bundle

path

Путь к пакету сертификатов центра сертификации для проверки SSL-сертификатов.

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

aws_config

dictionary

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

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

aws_region

string

добавлен в amazon.aws 11.2.0

Регион AWS для запросов API.

Если параметр не указан, используется значение переменной среды AWS_REGION или AWS_DEFAULT_REGION.

Дополнительные сведения см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Если aws_region не указан, модуль также может использовать профиль из конфигурации AWS.

debug_botocore_endpoint_logs

boolean

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

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

Варианты:

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

endpoint_url

псевдонимы: aws_endpoint_url

string

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

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

failover

string

Только для наборов записей ресурсов с аварийным переключением. Указывает, является ли набор записей ресурсов основным или вторичным. Допустимые значения: PRIMARY и SECONDARY.

Взаимоисключающий параметр с weight, routing_region и region.

Варианты:

  • "SECONDARY"
  • "PRIMARY"

geo_location

dictionary

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

Позволяет управлять ответами Amazon Route 53 на DNS-запросы в зависимости от географического расположения источника запроса.

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

Нельзя создать наборы записей ресурсов без геолокации, значения элементов Name и Type которых совпадают со значениями этих элементов у наборов записей ресурсов с геолокацией.

continent_code

string

Двухбуквенный код континента.

Указание geo_location.continent_code вместе с geo_location.country_code или geo_location.subdivision_code приводит к ошибке InvalidInput.

country_code

string

Двухбуквенный код страны.

Amazon Route 53 использует двухбуквенные коды стран, определённые стандартом ISO 3166-1 alpha-2.

subdivision_code

string

Двухбуквенный код штата США.

Чтобы указать geo_location.subdivision_code, для geo_location.country_code необходимо задать значение US.

health_check

string

Проверка работоспособности, связанная с этой записью

hosted_zone_id

string

Идентификатор размещённой зоны DNS, которую нужно изменить.

Этот параметр обязателен, если параметр zone не указан.

identifier

string

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

overwrite

boolean

Следует ли перезаписывать существующую запись при создании, если её значения не совпадают.

Варианты:

  • false
  • true

private_zone

boolean

Если задано значение true, при наличии общедоступной и частной зон будет использоваться частная зона, соответствующая запрошенному имени в домене.

По умолчанию используется общедоступная зона.

Варианты:

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

profile

псевдонимы: 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.

record

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

Полная DNS-запись для создания или удаления.

region

string

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

Взаимоисключающий параметр с weight и failover.

Этот параметр устарел и будет удалён в выпуске после 2027-06-01.

Вместо него используйте routing_region.

retry_interval

integer

Если Route 53 всё ещё обрабатывает предыдущий запрос, модуль подождёт указанное число секунд и повторит попытку. Если у вас много доменных имён, значение по умолчанию 500 секунд может быть слишком большим.

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

routing_region

string

добавлен в amazon.aws 11.2.0

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

Взаимоисключающий параметр с weight и failover.

secret_key

псевдонимы: 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 botocore SDK.

session_token

псевдонимы: 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

псевдонимы: command

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

Задаёт состояние записи ресурса.

Варианты:

  • "present"
  • "absent"
  • "get"
  • "create"
  • "delete"

ttl

integer

Время жизни (TTL) новой записи в секундах.

Взаимоисключающий параметр с alias.

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

type

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

Тип создаваемой DNS-записи.

Поддержка SSHFP добавлена в выпуске 9.2.0. Дополнительные сведения см. в документации AWS: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html.

Варианты:

  • "A"
  • "CNAME"
  • "MX"
  • "AAAA"
  • "TXT"
  • "PTR"
  • "SRV"
  • "SPF"
  • "CAA"
  • "NS"
  • "SOA"
  • "SSHFP"

validate_certs

boolean

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

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

Варианты:

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

value

list / элементы=string

Новое значение при создании DNS-записи. Для записей, не являющихся псевдонимами, допускаются списки YAML или несколько значений, разделённых запятыми.

vpc_id

string

При использовании вместе с private_zone=true этот параметр ограничивает изменение записей частной размещённой зоной, связанной с данной VPC.

Это позволяет подключать к разным VPC несколько частных размещённых зон с одинаковым именем.

wait

boolean

Ожидать репликации изменений на всех DNS-серверах Amazon Route 53.

Варианты:

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

wait_timeout

integer

Время ожидания репликации изменений в секундах.

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

weight

integer

Только для взвешенных наборов записей ресурсов. Среди наборов записей ресурсов с одинаковым сочетанием имени и типа DNS значение определяет, какая доля трафика для текущего набора записей ресурсов будет направлена в связанное с ним расположение.

Взаимоисключающий параметр с routing_region, region и failover.

zone

string

DNS-зона для изменения.

Этот параметр обязателен, если параметр hosted_zone_id не указан.

Примечания

Примечание

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

Примеры

- name: Add new.foo.com as an A record with 3 IPs and wait until the changes have been replicated
  amazon.aws.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: true

- name: Update new.foo.com as an A record with a list of 3 IPs and wait until the changes have been replicated
  amazon.aws.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: true

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

- name: Delete new.foo.com A record using the results from the get command
  amazon.aws.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.
- name: Add an AAAA record
  amazon.aws.route53:
    command: create
    zone: foo.com
    record: localhost.foo.com
    type: AAAA
    ttl: 7200
    value: "::1"

# For more information on SRV records see:
# https://en.wikipedia.org/wiki/SRV_record
- name: Add a SRV record with multiple fields for a service on port 22222
  amazon.aws.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"

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

- name: Add an alias record that points to an Amazon ELB
  amazon.aws.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 }}"

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

- name: Delete an alias record using the results from the get command
  amazon.aws.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 }}"

- name: Add an alias record that points to an Amazon ELB and evaluates it health
  amazon.aws.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

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

- name: Use a routing policy to distribute traffic
  amazon.aws.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"

- name: Add a CAA record (RFC 6844)
  amazon.aws.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"

- name: Create a record with geo_location - country_code
  amazon.aws.route53:
    state: present
    zone: '{{ zone_one }}'
    record: 'geo-test.{{ zone_one }}'
    identifier: "geohost@www"
    type: A
    value: 1.1.1.1
    ttl: 30
    geo_location:
      country_code: US

- name: Create a record with geo_location - subdivision code
  amazon.aws.route53:
    state: present
    zone: '{{ zone_one }}'
    record: 'geo-test.{{ zone_one }}'
    identifier: "geohost@www"
    type: A
    value: 1.1.1.1
    ttl: 30
    geo_location:
      country_code: US
      subdivision_code: TX

- name: Add new.foo.com as an SSHFP record
  amazon.aws.route53:
    state: present
    zone: test-zone.com
    record: new.foo.com
    type: SSHFP
    ttl: 7200
    value: 1 1 11F1A11D1111112B111C1B11B1C11C11C1234567

- name: Delete new.foo.com as an SSHFP record
  amazon.aws.route53:
    state: absent
    zone: test-zone.com
    record: new.foo.com
    type: SSHFP

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

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

Ключ

Описание

nameservers

list / elements=string

Серверы имён, связанные с зоной.

Возвращается: когда state имеет значение ‘get’

Пример: ["ns-1036.awsdns-00.org.", "ns-516.awsdns-00.net.", "ns-1504.awsdns-00.co.uk.", "ns-1.awsdns-00.com."]

resource_record_sets

complex

Информация о ресурсе, специфичная для записи.

Возвращается: когда state имеет значение ‘get’

alias

boolean

Является ли запись псевдонимом.

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

Пример: false

failover

string

Является ли этот набор ресурсных записей основным или вторичным.

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

Пример: "PRIMARY"

geo_location

dictionary

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

Географическое местоположение, на основе которого Route53 отвечает на DNS-запросы.

Возвращается: если настроено

Пример: {"continent_code": "NA", "country_code": "US", "subdivision_code": "CA"}

health_check

string

Проверка работоспособности, связанная с этой записью.

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

identifier

string

Идентификатор, различающий несколько наборов ресурсных записей с одинаковой комбинацией DNS-имени и типа.

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

name

string

Доменное имя для набора записей.

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

Пример: "new.foo.com"

record

string

Доменное имя для набора записей.

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

Пример: "new.foo.com"

record_values

list / elements=string

добавлено в amazon.aws 11.0.0

Значения записей в виде списка.

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

Пример: ["52.43.18.27"]

region

string

Регион, с которым следует связать запись для маршрутизации с учётом задержки.

Это возвращаемое значение устарело и будет удалено в одном из выпусков после 2027-06-01. Вместо него используйте resource_record_sets.routing_region.

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

Пример: "us-west-2"

resource_records

list / elements=string

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

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

Пример: [{"value": "1.1.1.1"}]

routing_region

string

добавлено в amazon.aws 11.2.0

Регион, с которым следует связать запись для маршрутизации с учётом задержки.

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

Пример: "us-west-2"

ttl

string

Время жизни записи ресурса в кэше (TTL).

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

Пример: "3600"

type

string

Тип набора ресурсных записей.

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

Пример: "A"

value

string

Значение записи.

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

Пример: "52.43.18.27"

values

list / elements=string

Значения записей в виде списка.

Это возвращаемое значение устарело и будет удалено в одном из выпусков после 2026-12-01. Вместо него используйте resource_record_sets.record_values.

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

Пример: ["52.43.18.27"]

weight

string

Вес записи.

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

Пример: "3"

zone

string

Зона, к которой относится этот набор записей.

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

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

wait_id

string

добавлено в amazon.aws 6.3.0

Идентификатор ожидания для применённого изменения. Его можно использовать, чтобы позднее дождаться распространения изменения, когда wait=false.

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

Авторы

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

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

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

© 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/amazon/aws/route53_module.html

Spec-Zone.ru

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