Spec-Zone.ru › Ansible 2.8

gcp_compute_forwarding_rule – Создаёт GCP ForwardingRule

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

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

Описание

  • Ресурс ForwardingRule. Ресурс ForwardingRule определяет, на какой пул целевых виртуальных машин перенаправить пакет, если он соответствует заданной кортеже [IPAddress, IPProtocol, portRange].

Требования

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

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
all_ports
boolean
добавлено в 2.8
    Варианты:
  • no
  • yes
При схеме балансировки нагрузки INTERNAL и протоколе TCP/UDP, опустить `port`/`port_range` и указать это поле как `true`, чтобы разрешить передачу пакетов, адресованных любому порту, бэкендам, настроенным с этим правилом перенаправления.
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
backend_service
-
Ссылка на BackendService для получения соответствующего трафика.
Используется для внутренней балансировки нагрузки.
(не используется для внешней балансировки).
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В качестве альтернативы, вы можете добавить `register: имя_ресурса` в задачу gcp_compute_backend_service, а затем установить это поле backend_service в "{{ имя_ресурса }}"
description
-
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
ip_address
-
IP-адрес, по которому это правило перенаправления обслуживает трафик.
Адреса ограничены схемой балансировки нагрузки правила перенаправления (EXTERNAL или INTERNAL) и областью (глобальной или региональной).
При схеме балансировки EXTERNAL для глобальных правил перенаправления адрес должен быть глобальным IP-адресом, а для региональных правил перенаправления — адресом в том же регионе, что и само правило перенаправления. Если это поле пусто, будет назначен временный IPv4-адрес из той же области (глобальной или региональной). Региональное правило перенаправления поддерживает только IPv4. Глобальное правило перенаправления поддерживает IPv4 или IPv6.
При схеме балансировки INTERNAL это может быть только IP-адрес RFC 1918, принадлежащий сети/подсети, настроенной для правила перенаправления. По умолчанию, если это поле пусто, будет автоматически выделен временный внутренний IP-адрес из диапазона IP-адресов подсети или сети, настроенной для этого правила перенаправления.
Адрес можно указать либо в виде литерального IP-адреса, либо в виде ссылки на URL существующего ресурса Address. Следующие примеры допустимы: * 100.1.2.3 * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address * projects/project/regions/region/addresses/address * regions/region/addresses/address * global/addresses/address * address .
ip_protocol
-
    Варианты:
  • TCP
  • UDP
  • ESP
  • AH
  • SCTP
  • ICMP
IP-протокол, к которому относится это правило. Допустимые значения — TCP, UDP, ESP, AH, SCTP или ICMP.
При схеме балансировки INTERNAL допустимы только TCP и UDP.
ip_version
-
    Варианты:
  • IPV4
  • IPV6
Версия IP, которая будет использоваться этим правилом перенаправления. Допустимые значения — IPV4 или IPV6. Это может быть указано только для глобального правила перенаправления.
load_balancing_scheme
-
    Варианты:
  • INTERNAL
  • EXTERNAL
Указывает, для чего будет использоваться правило перенаправления, и может принимать следующие значения: INTERNAL, EXTERNAL. Значение INTERNAL означает, что оно будет использоваться для внутренней балансировки нагрузки (TCP, UDP). Значение EXTERNAL означает, что оно будет использоваться для внешней балансировки нагрузки (HTTP(S) LB, внешняя балансировка TCP/UDP, SSL-прокси).
name
- / обязательно
Имя ресурса; предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Точнее, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
network
-
Для внутренней балансировки нагрузки это поле определяет сеть, к которой должен принадлежать IP-адрес, сбалансированный по нагрузке, для этого правила перенаправления. Если это поле не указано, будет использоваться сеть по умолчанию.
Это поле не используется для внешней балансировки нагрузки.
Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В качестве альтернативы, вы можете добавить `register: имя_ресурса` в задачу gcp_compute_network, а затем установить это поле network в "{{ имя_ресурса }}"
network_tier
-
добавлено в 2.8
    Варианты:
  • PREMIUM
  • STANDARD
Уровень сети, используемый для настройки этого адреса. Это поле может принимать следующие значения: PREMIUM или STANDARD. Если это поле не указано, предполагается, что оно равно PREMIUM.
port_range
-
Это поле используется вместе с полем target для TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
Применимо только при IPProtocol TCP, UDP или SCTP, только пакеты, адресованные портам в указанном диапазоне, будут перенаправлены на target.
Правила перенаправления с одинаковой парой [IPAddress, IPProtocol] должны иметь непересекающиеся диапазоны портов.
У некоторых типов целевых точек перенаправления есть ограничения на допустимые порты: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500 .
ports
-
Это поле используется вместе с полем backend_service для внутренней балансировки нагрузки.
При схеме балансировки INTERNAL можно настроить один порт или список портов, разделенных запятыми. Только пакеты, адресованные этим портам, будут перенаправлены на бэкенды, настроенные с этим правилом перенаправления.
Вы можете указать не более 5 портов.
project
строка
Проект Google Cloud Platform для использования.
region
- / обязательно
Ссылка на регион, в котором находится региональное правило перенаправления.
Это поле не применимо к глобальным правилам перенаправления.
scopes
список
Массив используемых областей.
service_account_contents
строка
Строка, представляющая содержимое файла JSON учетной записи службы.
Это не должно передаваться как словарь, а как строка, содержащая точное содержимое файла JSON учетной записи службы (валидный JSON).
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбрана serviceaccount.
service_label
-
добавлено в 2.8
Необязательный префикс к имени службы для этого правила перенаправления.
Если указан, будет являться первым меткой полностью квалифицированного имени службы.
Метка должна иметь длину от 1 до 63 символов и соответствовать RFC1035.
Точнее, метка должна иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
Это поле используется только для внутренней балансировки нагрузки.
state
-
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
Подсеть
-
Ссылка на подсеть.
Для внутренней балансировки нагрузки это поле идентифицирует подсеть, к которой должна принадлежать IP-адрес, сбалансированный по нагрузке, для данного Правила переадресации.
Если указанная сеть находится в режиме автоматической подсети, это поле является необязательным. Однако, если сеть находится в режиме пользовательской подсети, подсеть необходимо указать.
Это поле не используется для внешней балансировки нагрузки.
Это поле представляет ссылку на ресурс Подсети в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя_ресурса` к задаче gcp_compute_subnetwork, а затем установить это поле подсети на "{{ имя_ресурса }}"
Целевой ресурс
-
добавлен в 2.7
Ссылка на ресурс TargetPool, который будет получать соответствующий трафик.
Для региональных правил переадресации этот целевой ресурс должен находиться в том же регионе, что и правило переадресации. Для глобальных правил переадресации этот целевой ресурс должен быть глобальным ресурсом балансировки нагрузки. Перенаправляемый трафик должен быть соответствующего типа целевому объекту.
Это поле не используется для внутренней балансировки нагрузки.
Это поле представляет ссылку на ресурс TargetPool в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя_ресурса` к задаче gcp_compute_target_pool, а затем установить это поле целевого ресурса на "{{ имя_ресурса }}"

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/v1/forwardingRule
  • Официальная документация: https://cloud.google.com/compute/docs/load-balancing/network/forwarding-rules
  • Для аутентификации можно установить service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно установить service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно установить service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно установить auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно установить scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a address
  gcp_compute_address:
    name: address-forwardingrule
    region: us-west1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: address

- name: create a target pool
  gcp_compute_target_pool:
    name: targetpool-forwardingrule
    region: us-west1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: targetpool

- name: create a forwarding rule
  gcp_compute_forwarding_rule:
    name: test_object
    region: us-west1
    target: "{{ targetpool }}"
    ip_protocol: TCP
    port_range: 80-80
    ip_address: "{{ address.address }}"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

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

Ключ Возвращённое значение Описание
allPorts
boolean
успех
Когда схема балансировки нагрузки — ВНУТРЕННЯЯ, а протокол — TCP/UDP, опустите `port`/`port_range` и укажите это поле как `true`, чтобы разрешить пересылку пакетов, адресованных любым портам, на бэкенды, настроенные с этим правилом пересылки.

backendService
словарь
успех
Ссылка на BackendService для получения соответствующего трафика.
Используется для внутренней балансировки нагрузки.
(не используется для внешней балансировки).

creationTimestamp
строка
успех
Дата и время создания в формате RFC3339.

description
строка
успех
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.

id
целое число
успех
Уникальный идентификатор ресурса.

IPAddress
строка
успех
IP-адрес, на котором это правило пересылки предоставляет обслуживание.
Адреса ограничены схемой балансировки нагрузки (ВНЕШНЯЯ или ВНУТРЕННЯЯ) и областью (глобальная или региональная).
Когда схема балансировки — ВНЕШНЯЯ, для глобальных правил пересылки адрес должен быть глобальным IP-адресом, а для региональных правил пересылки — адрес должен находиться в том же регионе, что и правило пересылки. Если это поле пустое, будет назначен временный IPv4-адрес из той же области (глобальной или региональной). Региональное правило пересылки поддерживает только IPv4. Глобальное правило пересылки поддерживает IPv4 или IPv6.
Когда схема балансировки — ВНУТРЕННЯЯ, это может быть только IP-адрес RFC 1918, принадлежащий сети/подсети, настроенной для правила пересылки. По умолчанию, если это поле пустое, будет автоматически выделен временный внутренний IP-адрес из диапазона IP-адресов подсети или сети, настроенной для данного правила пересылки.
Адрес можно указать либо как буквальный IP-адрес, либо как ссылку на URL существующего ресурса Address. Следующие примеры являются допустимыми: * 100.1.2.3 * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address * projects/project/regions/region/addresses/address * regions/region/addresses/address * global/addresses/address * address .

IPProtocol
строка
успех
IP-протокол, к которому относится данное правило. Допустимые значения: TCP, UDP, ESP, AH, SCTP или ICMP.
При использовании схемы балансировки ВНУТРЕННЯЯ, допустимы только TCP и UDP.

ipVersion
строка
успех
Версия IP, которая будет использоваться этим правилом пересылки. Допустимые значения: IPV4 или IPV6. Это может быть указано только для глобального правила пересылки.

loadBalancingScheme
строка
успех
Указывает, для чего будет использоваться ForwardingRule, и может принимать только следующие значения: ВНУТРЕННЯЯ, ВНЕШНЯЯ. Значение ВНУТРЕННЯЯ означает, что это будет использоваться для внутренней балансировки сети (TCP, UDP). Значение ВНЕШНЯЯ означает, что это будет использоваться для внешней балансировки (HTTP(S) LB, внешняя балансировка TCP/UDP, SSL-прокси).

name
строка
успех
Имя ресурса; предоставляется клиентом при создании ресурса. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. То есть, длина имени должна составлять от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.

network
словарь
успех
Для внутренней балансировки нагрузки это поле идентифицирует сеть, к которой должен принадлежать IP-адрес балансировки для данного правила пересылки. Если это поле не указано, будет использована сеть по умолчанию.
Это поле не используется для внешней балансировки.

networkTier
строка
успех
Уровень сетевой инфраструктуры, используемый для настройки этого адреса. Это поле может принимать следующие значения: ПРЕМИУМ или СТАНДАРТ. Если это поле не указано, предполагается ПРЕМИУМ.

portRange
строка
успех
Это поле используется вместе с полем target для TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
Применимо только при IPProtocol равном TCP, UDP или SCTP, только пакеты, адресованные портам в указанном диапазоне, будут пересылаться целевому объекту.
Правила пересылки с одинаковой парой [IPAddress, IPProtocol] должны иметь непересекающиеся диапазоны портов.
У некоторых типов целевых объектов пересылки существуют ограничения на допустимые порты: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500 .

ports
список
успех
Это поле используется вместе с полем backend_service для внутренней балансировки нагрузки.
При схеме балансировки ВНУТРЕННЯЯ можно настроить один порт или список портов, разделённых запятыми. Только пакеты, адресованные этим портам, будут пересылаться на бэкенды, настроенные с этим правилом пересылки.
Вы можете указать не более 5 портов.

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

serviceLabel
строка
успех
Необязательный префикс к имени службы для данного правила пересылки.
Если указан, будет первым меткой полностью квалифицированного имени службы.
Метка должна быть длиной от 1 до 63 символов и соответствовать RFC1035.
То есть, метка должна быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
Это поле используется только для внутренней балансировки нагрузки.

serviceName
строка
успех
Полное внутреннее квалифицированное имя службы для данного правила пересылки.
Это поле используется только для внутренней балансировки нагрузки.

subnetwork
словарь
успех
Ссылка на подсеть.
Для внутренней балансировки нагрузки это поле идентифицирует подсеть, к которой должен принадлежать IP-адрес балансировки для данного правила пересылки.
Если указанная сеть находится в режиме автоматической подсети, это поле необязательно. Однако, если сеть находится в режиме пользовательской подсети, подсеть необходимо указать.
Это поле не используется для внешней балансировки.

target
словарь
успех
Ссылка на ресурс TargetPool для получения соответствующего трафика.
Для региональных правил пересылки этот целевой объект должен находиться в том же регионе, что и правило пересылки. Для глобальных правил пересылки этот целевой объект должен быть глобальным ресурсом балансировки нагрузки. Пересылаемый трафик должен соответствовать типу целевого объекта.
Это поле не используется для внутренней балансировки.



Состояние

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Google Inc. (@googlecloudplatform)

Подсказка

Если вы заметили какие-либо проблемы в этом руководстве, вы можете изменить этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/gcp_compute_forwarding_rule_module.html

Spec-Zone.ru

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