Spec-Zone.ru › Ansible 2.11

google.cloud.gcp_compute_forwarding_rule – Создаёт GCP ForwardingRule

Примечание

Этот плагин входит в коллекцию google.cloud (версия 1.0.2).

Для его установки используйте: ansible-galaxy collection install google.cloud.

Для использования в книге задач укажите: google.cloud.gcp_compute_forwarding_rule.

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

Обзор

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
all_ports
boolean
    Варианты:
  • no
  • yes
Для внутреннего балансирования TCP/UDP (т.е. схема балансировки INTERNAL, протокол TCP/UDP), установите значение true, чтобы разрешить пересылку пакетов, адресованных любым портам, на бэкэнды, настроенные с этой правилом пересылки. Используется с backend service. Не может быть установлено, если заданы port или portRange.
allow_global_access
boolean
    Варианты:
  • no
  • yes
Если true, клиенты могут получать доступ к ILB из всех регионов.
В противном случае доступ разрешен только из локального региона, в котором расположен ILB.
auth_kind
string / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
backend_service
dictionary
BackendService для получения соответствующего трафика. Используется только для внутреннего балансирования.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: name-of-resource` к задаче gcp_compute_backend_service, а затем установить это поле backend_service на "{{ name-of-resource }}"
description
string
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
env_type
string
Указывает, в какой среде Ansible выполняется этот модуль.
Это значение не следует устанавливать, если вы не знаете, что делаете.
Это изменяет только строку User Agent для любых запросов к API.
ip_address
string
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
string
Протокол IP, к которому применяется это правило.
Когда схема балансировки INTERNAL, допустимы только TCP и UDP.
Некоторые допустимые варианты: "TCP", "UDP", "ESP", "AH", "SCTP", "ICMP"
is_mirroring_collector
boolean
    Варианты:
  • no
  • yes
Указывает, может ли этот балансировщик использоваться в качестве коллектора для зеркалирования пакетов. Чтобы предотвратить петли зеркалирования, экземпляры за этим балансировщиком не будут иметь свой трафик, зеркалированный, даже если к ним применяется правило PacketMirroring. Это значение может быть установлено только в значение true для балансировщиков, у которых loadBalancingScheme установлено в INTERNAL.
load_balancing_scheme
string
Указывает, для чего используется правило пересылки, и может быть EXTERNAL, INTERNAL или INTERNAL_MANAGED. EXTERNAL используется для шлюзов Classic Cloud VPN, пересылки протоколов на виртуальные машины с внешнего IP-адреса и HTTP(S), SSL Proxy, TCP Proxy и Network TCP/UDP балансировщиков.
INTERNAL используется для пересылки протоколов на виртуальные машины с внутреннего IP-адреса и внутренних TCP/UDP балансировщиков.
INTERNAL_MANAGED используется для внутренних HTTP(S) балансировщиков.
Некоторые допустимые значения: "EXTERNAL", "INTERNAL", "INTERNAL_MANAGED"
name
string / обязательно
Имя ресурса; предоставляется клиентом при создании ресурса. Длина имени должна составлять 1–63 символа и соответствовать RFC1035. То есть длина имени должна составлять 1–63 символа и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
network
dictionary
Для внутреннего балансирования это поле идентифицирует сеть, к которой должен принадлежать IP-адрес, сбалансированный по этому правилу пересылки. Если это поле не указано, будет использоваться сеть по умолчанию.
Это поле используется только для внутреннего балансирования.
Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: name-of-resource` к задаче gcp_compute_network, а затем установить это поле network на "{{ name-of-resource }}"
network_tier
string
Уровень сети, используемый для настройки этого адреса. Если это поле не указано, предполагается, что это PREMIUM.
Некоторые допустимые значения: "PREMIUM", "STANDARD"
port_range
string
Это поле используется вместе с полем 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
list / elements=string
Это поле используется вместе с полем backend_service для внутреннего балансирования.
При схеме балансировки INTERNAL можно настроить один порт или список портов, разделенных запятыми. Только пакеты, адресованные этим портам, будут пересылаться на бэкэнды, настроенные с этим правилом пересылки.
Вы можете указать не более 5 портов.
project
string
Проект Google Cloud Platform, который нужно использовать.
region
string / обязательно
Ссылка на регион, в котором находится региональное правило пересылки.
Это поле не применимо к глобальным правилам пересылки.
scopes
list / elements=string
Массив используемых областей
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, его представляющей.
service_account_email
string
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
path
Путь к файлу JSON учетной записи службы, если в качестве типа выбрано serviceaccount.
service_label
string
Необязательный префикс к имени службы для этого правила пересылки.
Если указано, будет первым тегом полному имени службы.
Длина тега должна составлять 1–63 символа и соответствовать RFC1035.
То есть длина тега должна составлять 1–63 символа и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
Это поле используется только для внутреннего балансирования.
state
string
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
subnetwork
dictionary
Подсеть, к которой должен принадлежать сбалансированный IP-адрес для этого правила пересылки. Это поле используется только для внутреннего балансирования.
Если указанная сеть находится в режиме автоматической подсети, это поле необязательно. Однако, если сеть находится в режиме настраиваемой подсети, подсеть необходимо указать.
Это поле представляет ссылку на ресурс Subnetwork в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: name-of-resource` к задаче gcp_compute_subnetwork, а затем установить это поле subnetwork на "{{ name-of-resource }}"
target
string
URL целевого ресурса для получения соответствующего трафика.
Целевой объект должен находиться в том же регионе, что и правило пересылки.
Пересылаемый трафик должен быть соответствующего типа целевому объекту.

Примечания

Примечание

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

Примеры

- name: create a address
  google.cloud.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
  google.cloud.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
  google.cloud.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

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

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

Ключ Возвращаемое значение Описание
allowGlobalAccess
boolean
успех
Если true, клиенты могут получить доступ к ILB со всех регионов.
В противном случае доступ разрешен только из локального региона, где находится ILB.

allPorts
boolean
успех
Для внутренней балансировки TCP/UDP (т.е. схема балансировки INTERNAL и протокол TCP/UDP), установите это значение в true, чтобы разрешить передачу пакетов, адресованных любым портам, на бэкенды, настроенные с помощью этого правила перенаправления. Используется с backend service. Не может быть установлено, если заданы port или portRange.

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

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

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

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

IPAddress
string
успех
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 .

IPProtocol
string
успех
Протокол IP, к которому относится это правило.
При схеме балансировки INTERNAL, только TCP и UDP являются допустимыми.

isMirroringCollector
boolean
успех
Указывает, может ли этот балансировщик использоваться в качестве коллектора для зеркалирования пакетов. Чтобы предотвратить циклы зеркалирования, экземпляры за этим балансировщиком не будут зеркалировать свой трафик, даже если для них применимо правило PacketMirroring. Это может быть установлено только в значение true для балансировщиков, у которых loadBalancingScheme установлено в INTERNAL.

loadBalancingScheme
string
успех
Это указывает, для чего будет использоваться ForwardingRule и может быть EXTERNAL, INTERNAL или INTERNAL_MANAGED. EXTERNAL используется для шлюзов VPN Classic Cloud, переадресации протокола на виртуальные машины с внешнего IP-адреса и балансировщиков HTTP(S), SSL Proxy, TCP Proxy, и сетевых TCP/UDP.
INTERNAL используется для переадресации протокола на виртуальные машины с внутреннего IP-адреса и внутренних TCP/UDP балансировщиков.
INTERNAL_MANAGED используется для внутренних балансировщиков HTTP(S).

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

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

networkTier
string
успех
Уровень сети, используемый для настройки этого адреса. Если это поле не указано, предполагается, что это PREMIUM.

portRange
string
успех
Это поле используется вместе с полем 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
list / elements=string
успех
Это поле используется вместе с полем backend_service для внутренней балансировки.
При схеме балансировки INTERNAL можно настроить один порт или список портов, разделенных запятыми. Только пакеты, адресованные этим портам, будут перенаправлены на бэкенды, настроенные с помощью этого правила перенаправления.
Можно указать не более 5 портов.

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

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

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

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

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



Авторы

  • Google Inc. (@googlecloudplatform)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_compute_forwarding_rule_module.html

Spec-Zone.ru

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