Spec-Zone.ru › Ansible

Модуль 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
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

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_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для обеспечения согласованности с SDK botocore AWS.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

alias

логический

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

Взаимоисключающий с ttl.

По умолчанию false.

Варианты:

  • false
  • true

alias_evaluate_target_health

логический

Определяет, следует ли оценивать состояние здоровья целевого объекта псевдонима. Полезно для псевдонимов балансировщиков нагрузки Elastic Load Balancers.

Варианты:

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

alias_hosted_zone_id

строка

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

aws_ca_bundle

путь

Расположение пакета CA для проверки сертификатов SSL.

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

aws_config

словарь

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

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

debug_botocore_endpoint_logs

логический

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

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

Варианты:

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

endpoint_url

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

строка

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

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

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной среды EC2_URL устарела и будет удалена в релизе после 2024-12-01.

failover

строка

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

Взаимоисключающие с weight и region.

Варианты:

  • "SECONDARY"
  • "PRIMARY"

geo_location

словарь

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

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

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

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

continent_code

строка

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

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

country_code

строка

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

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

subdivision_code

строка

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

Для указания geo_location.subdivision_code, необходимо установить geo_location.country_code на US.

health_check

строка

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

hosted_zone_id

строка

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

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

identifier

строка

Должен быть указан только для наборов записей Weighted, latency-based и failover. Идентификатор, который отличает несколько наборов записей с одинаковым сочетанием DNS-имени и типа.

END_OF_DOCUMENT_MARKER

overwrite

boolean

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

Варианты:

  • false
  • true

private_zone

boolean

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

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

Варианты:

  • false ← (default)
  • true

profile

aliases: 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 и security_token.

record

string / required

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

region

string

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

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

retry_interval

integer

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

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

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.

Также могут использоваться переменные среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY в порядке убывания предпочтения.

Параметры secret_key и profile взаимоисключают друг друга.

Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды 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.

Также могут использоваться переменные среды AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания предпочтения.

Параметры 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.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

state

aliases: command

string / required

Указывает состояние записи ресурса.

Варианты:

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

ttl

integer

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

Взаимоисключающее с alias.

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

type

string / required

Тип записи DNS для создания.

Варианты:

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

validate_certs

boolean

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

Установка validate_certs=false настоятельно не рекомендуется, в качестве альтернативы рассмотрите возможность установки aws_ca_bundle вместо этого.

Варианты:

  • false
  • true ← (default)

value

list / elements=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 и типа, значение, определяющее долю трафика для текущего набора записей ресурсов, направляемого в соответствующее местоположение.

Взаимоисключающее с region и failover.

zone

string

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

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

Примечания

Примечание

  • Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста хоста 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’

Пример: ["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"

region

string

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

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

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

resource_records

list / elements=string

Информация о записях ресурсов, над которыми нужно действовать.

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

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

ttl

string

TTL кэша записей ресурсов.

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

Пример: "3600"

type

string

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

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

Пример: "A"

value

string

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

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

Пример: "52.43.18.27"

values

list / elements=string

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

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

Пример: ["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–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

Spec-Zone.ru

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