Модуль amazon.aws.route53 — добавление или удаление записей в DNS-сервисе Amazon Route 53
Примечание
Этот модуль является частью коллекции amazon.aws (версия 8.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет 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.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key строка | ID ключа доступа 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 для обеспечения согласованности с SDK botocore AWS. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
alias логический | Указывает, является ли это записью-псевдонимом. Взаимоисключающий с По умолчанию Варианты:
|
alias_evaluate_target_health логический | Определяет, следует ли оценивать состояние здоровья целевого объекта псевдонима. Полезно для псевдонимов балансировщиков нагрузки Elastic Load Balancers. Варианты:
|
alias_hosted_zone_id строка | Идентификатор размещенной зоны. |
aws_ca_bundle путь | Расположение пакета CA для проверки сертификатов SSL. Также может использоваться переменная среды |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs логический | Использовать Также может использоваться переменная среды Варианты:
|
endpoint_url псевдонимы: ec2_url, aws_endpoint_url, s3_url строка | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS. Также могут использоваться переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
failover строка | |
geo_location словарь добавлено в community.aws 3.3.0 | Позволяет управлять тем, как Amazon Route 53 отвечает на запросы DNS в зависимости от географического происхождения запроса. Нельзя создавать две записи геолокационных наборов с одинаковым географическим расположением. Нельзя создавать наборы записей без геолокации, имеющие одинаковые значения для элементов Имя и Тип с геолокационными наборами записей. |
|
continent_code строка |
Двухбуквенный код континента. Указание |
|
country_code строка |
Двухбуквенный код страны. Amazon Route 53 использует двухбуквенные коды стран, указанные в международном стандарте ISO 3166-1 alpha-2. |
|
subdivision_code строка |
Двухбуквенный код штата США. Для указания |
health_check строка | Проверка работоспособности, которая должна быть связана с этой записью. |
hosted_zone_id строка | Идентификатор размещенной зоны DNS-зоны, которую необходимо изменить. Этот параметр является обязательным, если параметр |
identifier строка | Должен быть указан только для наборов записей Weighted, latency-based и failover. Идентификатор, который отличает несколько наборов записей с одинаковым сочетанием DNS-имени и типа. |
overwrite boolean | Следует ли перезаписывать существующую запись при создании, если значения не совпадают. Варианты:
|
private_zone boolean | Если установлено в По умолчанию используется общедоступная зона. Варианты:
|
profile aliases: aws_profile string | Именованный профиль AWS для использования при аутентификации. См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может использоваться переменная среды Параметр profile взаимоисключает параметры aws_access_key, aws_secret_key и security_token. |
record string / required | Полная запись DNS для создания или удаления. |
region string | |
retry_interval integer | В случае, если Route 53 все еще обрабатывает предыдущий запрос, этот модуль будет ждать и попытается снова через столько секунд. Если у вас много доменных имен, значение по умолчанию По умолчанию: |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_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. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Маркер сеанса AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации о маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные среды Параметры security_token и profile взаимоисключают друг друга. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
state aliases: command string / required | Указывает состояние записи ресурса. Варианты:
|
ttl integer | |
type string / required | Тип записи DNS для создания. Варианты:
|
validate_certs boolean | При установке в Установка validate_certs=false настоятельно не рекомендуется, в качестве альтернативы рассмотрите возможность установки aws_ca_bundle вместо этого. Варианты:
|
value list / elements=string | Новое значение при создании записи DNS. YAML-списки или несколько значений, разделенные запятыми, допускаются для записей, не являющихся псевдонимами. |
vpc_id string | При использовании совместно с Это позволяет иметь несколько частных зон размещения, все с одинаковым именем, прикреплённых к различным VPC. |
wait boolean | Дождаться, пока изменения не будут реплицированы на все серверы DNS Amazon Route 53. Выбори:
|
wait_timeout integer | Время ожидания репликации изменений в секундах. По умолчанию: |
weight integer | |
zone string | Зона DNS для изменения. Это обязательный параметр, если не указан параметр |
Примечания
Примечание
- Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста хоста Ansible, а не контекста контроллера. В связи с этим файлы могут потребоваться скопировать на хост. Для плагинов поиска и подключения переменные окружения и конфигурационные файлы считываются из контекста контроллера Ansible, а не контекста хоста.
- AWS SDK (boto3), используемый Ansible, также может читать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих конфигурационных файлов в контексте хоста 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
Возвращаемые значения
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
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 |
Доменное имя для набора записей. Возвращается: всегда Пример: |
|
region string |
С каким регионом это должно быть связано для маршрутизации на основе задержки. Возвращается: всегда Пример: |
|
resource_records list / elements=string |
Информация о записях ресурсов, над которыми нужно действовать. Возвращается: всегда Пример: |
|
ttl string |
TTL кэша записей ресурсов. Возвращается: всегда Пример: |
|
type string |
Тип набора записей ресурсов. Возвращается: всегда Пример: |
|
value string |
Значение записи. Возвращается: всегда Пример: |
|
values list / elements=string |
Значения записей. Возвращается: всегда Пример: |
|
weight string |
Вес записи. Возвращается: всегда Пример: |
|
zone string |
Зона, к которой принадлежит этот набор записей. Возвращается: всегда Пример: |
wait_id string добавлено в amazon.aws 6.3.0 | Идентификатор ожидания для примененного изменения. Может использоваться для ожидания распространения изменения позже, когда Возвращается: когда изменено |
Ссылки на сборник
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/route53_module.html