Spec-Zone.ru › Ansible

модуль google.cloud.gcp_compute_forwarding_rule — создание ForwardingRule в GCP

Примечание

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

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

Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в playbook, укажите: 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, чтобы пакеты, адресованные на любые порты, перенаправлялись к серверным частям, настроенным с помощью этого правила переадресации. Используется с сервисом backend. Нельзя задавать, если указаны port или portRange.

Варианты:

  • false
  • true

allow_global_access

boolean

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

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

Варианты:

  • false
  • true

auth_kind

string / обязательный

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

Варианты:

  • "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 используется для классических шлюзов 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

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

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

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.
  • Для аутентификации можно задать 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

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

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

Возвращается: при успешном выполнении

allPorts

boolean

Для внутренней балансировки нагрузки TCP/UDP (то есть схема балансировки нагрузки — INTERNAL, а протокол — TCP/UDP) задайте значение true, чтобы разрешить пересылку пакетов, адресованных на любые порты, к бэкендам, настроенным с этим правилом переадресации. Используется с сервисом бэкенда. Нельзя задать, если указаны 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 используется для классических шлюзов Cloud VPN, переадресации протоколов на виртуальные машины с внешнего IP-адреса, а также для балансировщиков нагрузки HTTP(S), SSL Proxy, TCP Proxy и Network 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-адрес с балансировкой нагрузки для данного Forwarding Rule. Если это поле не указано, будет использоваться сеть по умолчанию.

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

Возвращается: при успешном выполнении

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

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

Если он указан, он станет первой меткой полного имени сервиса.

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

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

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

Возвращается: при успешном выполнении

serviceName

string

Полное внутреннее имя сервиса для этого Forwarding Rule.

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

Возвращается: при успешном выполнении

subnetwork

dictionary

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

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

Возвращается: при успешном выполнении

target

string

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

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

Тип переадресуемого трафика должен соответствовать целевому объекту.

Возвращается: при успешном выполнении

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

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

Spec-Zone.ru

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