Модуль 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 и profile являются взаимоисключающими. Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS botocore SDK. |
alias boolean | Указывает, является ли это записью-псевдонимом. Взаимоисключающий параметр с По умолчанию используется Варианты:
|
alias_evaluate_target_health boolean | Учитывать ли состояние работоспособности целевого объекта псевдонима. Полезно для псевдонимов Elastic Load Balancers. Варианты:
|
alias_hosted_zone_id string | Идентификатор размещённой зоны. |
aws_ca_bundle path | Путь к пакету сертификатов центра сертификации для проверки SSL-сертификатов. Также можно использовать переменную среды |
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: https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Если |
debug_botocore_endpoint_logs boolean | Использовать регистратор Также можно использовать переменную среды Варианты:
|
endpoint_url псевдонимы: aws_endpoint_url string | URL для подключения вместо конечных точек AWS по умолчанию. Этот параметр можно использовать для подключения к другим совместимым с AWS службам, однако коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную среды |
failover string | Только для наборов записей ресурсов с аварийным переключением. Указывает, является ли набор записей ресурсов основным или вторичным. Допустимые значения: Взаимоисключающий параметр с Варианты:
|
geo_location dictionary добавлен в community.aws 3.3.0 | Позволяет управлять ответами Amazon Route 53 на DNS-запросы в зависимости от географического расположения источника запроса. Нельзя создать два набора записей ресурсов с геолокацией, указывающих одно и то же географическое расположение. Нельзя создать наборы записей ресурсов без геолокации, значения элементов Name и Type которых совпадают со значениями этих элементов у наборов записей ресурсов с геолокацией. |
|
continent_code string |
Двухбуквенный код континента. Указание |
|
country_code string |
Двухбуквенный код страны. Amazon Route 53 использует двухбуквенные коды стран, определённые стандартом ISO 3166-1 alpha-2. |
|
subdivision_code string |
Двухбуквенный код штата США. Чтобы указать |
health_check string | Проверка работоспособности, связанная с этой записью |
hosted_zone_id string | Идентификатор размещённой зоны DNS, которую нужно изменить. Этот параметр обязателен, если параметр |
identifier string | Обязателен только для наборов записей ресурсов с распределением нагрузки по весам, на основе задержки и с аварийным переключением. Идентификатор, который различает несколько наборов записей ресурсов с одинаковым сочетанием имени и типа DNS. |
overwrite boolean | Следует ли перезаписывать существующую запись при создании, если её значения не совпадают. Варианты:
|
private_zone boolean | Если задано значение По умолчанию используется общедоступная зона. Варианты:
|
profile псевдонимы: aws_profile string | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и session_token. |
record string / обязательный | Полная DNS-запись для создания или удаления. |
region string | Только для наборов записей ресурсов с маршрутизацией на основе задержки. Среди наборов записей ресурсов с одинаковым сочетанием имени и типа DNS значение определяет регион, с которым следует связать эту запись для маршрутизации на основе задержки. Взаимоисключающий параметр с Этот параметр устарел и будет удалён в выпуске после 2027-06-01. Вместо него используйте |
retry_interval integer | Если Route 53 всё ещё обрабатывает предыдущий запрос, модуль подождёт указанное число секунд и повторит попытку. Если у вас много доменных имён, значение по умолчанию По умолчанию: |
routing_region string добавлен в amazon.aws 11.2.0 | |
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. Также можно использовать переменные среды Параметры 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. Также можно использовать переменную среды Параметры session_token и profile являются взаимоисключающими. |
state псевдонимы: command string / обязательный | Задаёт состояние записи ресурса. Варианты:
|
ttl integer | |
type string / обязательный | Тип создаваемой DNS-записи. Поддержка Варианты:
|
validate_certs boolean | Если задано значение Не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle. Варианты:
|
value list / элементы=string | Новое значение при создании DNS-записи. Для записей, не являющихся псевдонимами, допускаются списки YAML или несколько значений, разделённых запятыми. |
vpc_id string | При использовании вместе с Это позволяет подключать к разным VPC несколько частных размещённых зон с одинаковым именем. |
wait boolean | Ожидать репликации изменений на всех DNS-серверах Amazon Route 53. Варианты:
|
wait_timeout integer | Время ожидания репликации изменений в секундах. По умолчанию: |
weight integer | Только для взвешенных наборов записей ресурсов. Среди наборов записей ресурсов с одинаковым сочетанием имени и типа DNS значение определяет, какая доля трафика для текущего набора записей ресурсов будет направлена в связанное с ним расположение. Взаимоисключающий параметр с |
zone string | DNS-зона для изменения. Этот параметр обязателен, если параметр |
Примечания
Примечание
- Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «узла» 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’ Пример: |
resource_record_sets complex | Информация о ресурсе, специфичная для записи. Возвращается: когда state имеет значение ‘get’ |
|
alias boolean |
Является ли запись псевдонимом. Возвращается: всегда Пример: |
|
failover string |
Является ли этот набор ресурсных записей основным или вторичным. Возвращается: всегда Пример: |
|
geo_location dictionary добавлено в community.aws 3.3.0 |
Географическое местоположение, на основе которого Route53 отвечает на DNS-запросы. Возвращается: если настроено Пример: |
|
health_check string |
Проверка работоспособности, связанная с этой записью. Возвращается: всегда |
|
identifier string |
Идентификатор, различающий несколько наборов ресурсных записей с одинаковой комбинацией DNS-имени и типа. Возвращается: всегда |
|
name string |
Доменное имя для набора записей. Возвращается: всегда Пример: |
|
record string |
Доменное имя для набора записей. Возвращается: всегда Пример: |
|
record_values list / elements=string добавлено в amazon.aws 11.0.0 |
Значения записей в виде списка. Возвращается: всегда Пример: |
|
region string |
Регион, с которым следует связать запись для маршрутизации с учётом задержки. Это возвращаемое значение устарело и будет удалено в одном из выпусков после 2027-06-01. Вместо него используйте Возвращается: всегда Пример: |
|
resource_records list / elements=string |
Сведения о ресурсных записях, с которыми необходимо выполнить действие. Возвращается: всегда Пример: |
|
routing_region string добавлено в amazon.aws 11.2.0 |
Регион, с которым следует связать запись для маршрутизации с учётом задержки. Возвращается: всегда Пример: |
|
ttl string |
Время жизни записи ресурса в кэше (TTL). Возвращается: всегда Пример: |
|
type string |
Тип набора ресурсных записей. Возвращается: всегда Пример: |
|
value string |
Значение записи. Возвращается: всегда Пример: |
|
values list / elements=string |
Значения записей в виде списка. Это возвращаемое значение устарело и будет удалено в одном из выпусков после 2026-12-01. Вместо него используйте Возвращается: всегда Пример: |
|
weight string |
Вес записи. Возвращается: всегда Пример: |
|
zone string |
Зона, к которой относится этот набор записей. Возвращается: всегда Пример: |
wait_id string добавлено в amazon.aws 6.3.0 | Идентификатор ожидания для применённого изменения. Его можно использовать, чтобы позднее дождаться распространения изменения, когда Возвращается: если были внесены изменения |
Ссылки на коллекцию
© 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