Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_compute_forwarding_rule – Создаёт GCP ForwardingRule

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.4.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.

Для установки используйте: 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

Параметры

Параметр

Комментарии

access_token

string

Токен доступа OAuth2, если тип учетных данных — accesstoken.

all_ports

boolean

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

Варианты:

  • false
  • true

allow_global_access

boolean

Если true, клиенты могут получать доступ к ILB из всех регионов.

В противном случае разрешается доступ только из локального региона, в котором расположен ILB.

Варианты:

  • false
  • true

auth_kind

string / required

Тип используемых учетных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

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

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

Варианты:

  • false
  • true

load_balancing_scheme

string

Это указывает, для чего будет использоваться ForwardingRule, и может быть 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 / required

Имя ресурса; предоставляется клиентом при создании ресурса. Длина имени должна составлять 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 / required

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

Это поле не применимо к глобальным правилам переадресации.

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])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.

Это поле используется только для балансировки нагрузки INTERNAL.

state

string

Должен ли данный объект существовать в GCP

Варианты:

  • "present" ← (default)
  • "absent"

subnetwork

dictionary

Подсеть, которой должен принадлежать сбалансированный по нагрузке IP-адрес для этого правила переадресации. Это поле используется только для балансировки нагрузки INTERNAL.

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

Это поле представляет собой ссылку на ресурс Subnetwork в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. В качестве альтернативы, можно добавить `register: name-of-resource` к задаче gcp_compute_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.
  • Для аутентификации можно установить access_token с помощью переменной среды GCP_ACCESS_TOKEN.
  • Для аутентификации можно установить auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно установить scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не установлены.
  • Параметры 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

Если истинно, клиенты могут получить доступ к ILB со всех регионов.

В противном случае доступ разрешен только из локального региона, в котором находится ILB.

Возвращается: успех

allPorts

boolean

Для внутренней балансировки нагрузки TCP/UDP (т.е. схема балансировки нагрузки — INTERNAL, протокол — TCP/UDP), установите это значение в true, чтобы разрешить пересылку пакетов, адресованных любому порту, бэкендам, настроенным с этой правилом переадресации. Используется с backendservice. Не может быть установлено, если заданы 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. Это значение может быть установлено только для балансировщиков, у которых loadBalancingScheme установлено в INTERNAL.

Возвращается: успех

loadBalancingScheme

string

Указывает, для чего будет использоваться ForwardingRule: EXTERNAL, INTERNAL или INTERNAL_MANAGED. EXTERNAL используется для шлюзов Classic Cloud VPN, переадресации протоколов на виртуальные машины с внешнего 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 .

Возвращается: успех

END_OF_DOCUMENT_MARKER

порты

список / элементы=строка

Это поле используется вместе с полем backend_service для внутренней балансировки нагрузки.

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

Можно указать не более 5 портов.

Возвращаемое значение: успешно

регион

строка

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

Это поле не применимо к глобальным правилам перенаправления.

Возвращаемое значение: успешно

метка_службы

строка

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

Если указано, будет первой меткой полностью квалифицированного имени службы.

Метка должна быть длиной от 1 до 63 символов и соответствовать RFC1035.

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

Это поле используется только для внутренней балансировки нагрузки.

Возвращаемое значение: успешно

имя_службы

строка

Внутреннее полностью квалифицированное имя службы для этого правила перенаправления.

Это поле используется только для внутренней балансировки нагрузки.

Возвращаемое значение: успешно

подсеть

словарь

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

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

Возвращаемое значение: успешно

цель

строка

URL целевого ресурса для получения соответствующего трафика.

Целевой ресурс должен находиться в том же регионе, что и правило перенаправления.

Перенаправляемый трафик должен быть соответствующего типа для целевого объекта.

Возвращаемое значение: успешно

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на сборку

  • Трекер задач
  • Главная страница
  • Репозиторий (источники)

© 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/google/cloud/gcp_compute_forwarding_rule_module.html

Spec-Zone.ru

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