Spec-Zone.ru › Ansible

модуль google.cloud.gcp_compute_global_forwarding_rule – создание GCP GlobalForwardingRule

Примечание

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

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

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

Чтобы использовать его в плейбуке, укажите: google.cloud.gcp_compute_global_forwarding_rule.

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

Краткое описание

  • Представляет ресурс GlobalForwardingRule. Глобальные правила переадресации используются для передачи трафика соответствующему балансировщику нагрузки при балансировке HTTP-трафика. Глобальные правила переадресации можно использовать только для балансировки HTTP-трафика.
  • Дополнительные сведения см. на странице https://cloud.google.com/compute/docs/load-balancing/http/ .

Требования

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

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

Параметры

Параметр

Комментарии

access_token

string

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

auth_kind

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

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

Варианты:

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

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_SELF_MANAGED, допустим только TCP. Это поле нельзя задавать, если для глобального адреса указано назначение PRIVATE_SERVICE_CONNECT и addressType равен INTERNAL.

Допустимые варианты: “TCP”, “UDP”, “ESP”, “AH”, “SCTP”, “ICMP”

ip_version

string

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

Допустимые варианты: “IPV4”, “IPV6”

load_balancing_scheme

string

Определяет назначение GlobalForwardingRule.

Значение INTERNAL_SELF_MANAGED означает, что правило будет использоваться для внутренней глобальной балансировки HTTP(S)-нагрузки. Значение EXTERNAL означает, что правило будет использоваться для внешней глобальной балансировки нагрузки (HTTP(S) LB, External TCP/UDP LB, SSL Proxy) (только [бета-версия](https://terraform.io/docs/providers/google/guides/provider_versions.html)). Примечание: для глобального адреса с назначением PRIVATE_SERVICE_CONNECT и addressType INTERNAL это поле должно иметь значение “” .

Допустимые варианты: “EXTERNAL”, “INTERNAL_SELF_MANAGED”

По умолчанию: "EXTERNAL"

metadata_filters

list / элементы=словарь

Непрозрачные критерии фильтрации, используемые балансировщиком нагрузки для ограничения конфигурации маршрутизации набором клиентов, совместимых с xDS. В запросах xDS к балансировщику нагрузки клиенты xDS передают метаданные узла. При совпадении соответствующая конфигурация маршрутизации становится доступна этим прокси-серверам.

Для каждого metadataFilter в этом списке, если для filterMatchCriteria задано MATCH_ANY, как минимум одна из меток filterLabels должна совпадать с соответствующей меткой в метаданных. Если для filterMatchCriteria задано MATCH_ALL, все метки filterLabels должны совпадать с соответствующими метками в переданных метаданных.

Указанные здесь metadataFilters можно переопределить значениями, заданными в UrlMap, на который ссылается это ForwardingRule.

metadataFilters применяются только к балансировщикам нагрузки, для которых loadBalancingScheme задан как INTERNAL_SELF_MANAGED.

filter_labels

list / элементы=словарь / обязательный

Список пар «метка — значение», которые должны совпадать с метками в переданных метаданных согласно filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 элементов.

name

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

Имя метки метаданных. Длина должна составлять от 1 до 1024 символов включительно.

value

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

Значение, которому должна соответствовать метка. Максимальная длина значения — 1024 символа.

filter_match_criteria

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

Определяет, как совпадения отдельных filterLabel в списке filterLabels влияют на общее совпадение metadataFilter.

MATCH_ANY — как минимум одна из меток filterLabels должна совпадать с меткой в переданных метаданных.

MATCH_ALL — все метки filterLabels должны совпадать с метками в переданных метаданных.

Допустимые варианты: “MATCH_ANY”, “MATCH_ALL”

name

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

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

network

dictionary

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

При балансировке нагрузки INTERNAL_SELF_MANAGED это поле определяет сеть, к которой должен относиться IP-адрес балансируемой нагрузки для данного глобального правила переадресации. Если поле не указано, будет использоваться сеть по умолчанию.

Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом ‘selfLink’ и значением selfLink ресурса. В качестве альтернативы можно добавить `register: name-of-resource` в задачу gcp_compute_network, а затем задать для этого поля network значение “{{ name-of-resource }}”

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 .

project

string

Проект Google Cloud Platform, который следует использовать.

scopes

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

Массив используемых областей действия

service_account_contents

jsonarg

Содержимое JSON-файла учетной записи службы в виде словаря или JSON-строки, представляющей его.

service_account_email

string

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

service_account_file

path

Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount.

state

string

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

Варианты:

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

target

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

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

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

При балансировке нагрузки INTERNAL_SELF_MANAGED допустимы только цели HTTP и HTTPS.

(Только [бета-версия](https://terraform.io/docs/providers/google/guides/provider_versions.html)) Для глобального адреса с назначением PRIVATE_SERVICE_CONNECT и addressType INTERNAL допустимы только “all-apis” и “vpc-sc”.

Примеры

- name: create a global address
  google.cloud.gcp_compute_global_address:
    name: globaladdress-globalforwardingrule
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: globaladdress

- name: create a instance group
  google.cloud.gcp_compute_instance_group:
    name: instancegroup-globalforwardingrule
    zone: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: instancegroup

- name: create a HTTP health check
  google.cloud.gcp_compute_http_health_check:
    name: httphealthcheck-globalforwardingrule
    healthy_threshold: 10
    port: 8080
    timeout_sec: 2
    unhealthy_threshold: 5
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: healthcheck

- name: create a backend service
  google.cloud.gcp_compute_backend_service:
    name: backendservice-globalforwardingrule
    backends:
    - group: "{{ instancegroup.selfLink }}"
    health_checks:
    - "{{ healthcheck.selfLink }}"
    enable_cdn: 'true'
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: backendservice

- name: create a URL map
  google.cloud.gcp_compute_url_map:
    name: urlmap-globalforwardingrule
    default_service: "{{ backendservice }}"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: urlmap

- name: create a target HTTP proxy
  google.cloud.gcp_compute_target_http_proxy:
    name: targethttpproxy-globalforwardingrule
    url_map: "{{ urlmap }}"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: httpproxy

- name: create a global forwarding rule
  google.cloud.gcp_compute_global_forwarding_rule:
    name: test_object
    ip_address: "{{ globaladdress.address }}"
    ip_protocol: TCP
    port_range: 80-80
    target: "{{ httpproxy.selfLink }}"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Возвращаемые значения

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

Ключ

Описание

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_SELF_MANAGED, допустим только TCP. Это поле не должно быть задано, если глобальному адресу назначено назначение PRIVATE_SERVICE_CONNECT и addressType имеет значение INTERNAL.

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

ipVersion

string

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

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

loadBalancingScheme

string

Определяет назначение GlobalForwardingRule.

Значение INTERNAL_SELF_MANAGED означает, что правило будет использоваться для внутренней глобальной балансировки нагрузки HTTP(S). Значение EXTERNAL означает, что правило будет использоваться для внешней глобальной балансировки нагрузки (HTTP(S) LB, External TCP/UDP LB, SSL Proxy) (только [бета-версия](https://terraform.io/docs/providers/google/guides/provider_versions.html)). Примечание: это поле должно быть задано как «», если глобальному адресу назначено назначение PRIVATE_SERVICE_CONNECT и addressType имеет значение INTERNAL.

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

metadataFilters

complex

Непрозрачные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации определённым набором клиентов, совместимых с xDS. В запросах xDS к Loadbalancer клиенты xDS передают метаданные узла. При совпадении соответствующая конфигурация маршрутизации становится доступна этим прокси-серверам.

Для каждого metadataFilter в этом списке, если для его filterMatchCriteria задано значение MATCH_ANY, как минимум одна из меток filterLabels должна совпадать с соответствующей меткой в предоставленных метаданных. Если для его filterMatchCriteria задано значение MATCH_ALL, все его метки filterLabels должны совпадать с соответствующими метками в предоставленных метаданных.

Указанные здесь metadataFilters могут быть переопределены значениями, заданными в UrlMap, на который ссылается это ForwardingRule.

metadataFilters применяются только к Loadbalancer, для которых loadBalancingScheme задан как INTERNAL_SELF_MANAGED.

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

filterLabels

complex

Список пар «метка — значение», которые должны совпадать с метками в предоставленных метаданных согласно filterMatchCriteria. Список не должен быть пустым и может содержать не более 64 элементов.

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

name

string

Имя метки метаданных. Длина должна составлять от 1 до 1024 символов включительно.

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

value

string

Значение, которому должна соответствовать метка. Максимальная длина значения — 1024 символа.

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

filterMatchCriteria

string

Задаёт, как совпадения отдельных filterLabel в списке filterLabels влияют на общее совпадение metadataFilter.

MATCH_ANY — как минимум одна из меток filterLabels должна совпадать с меткой в предоставленных метаданных.

MATCH_ALL — все метки filterLabels должны совпадать с метками в предоставленных метаданных.

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

name

string

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

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

network

dictionary

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

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

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

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 .

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

target

string

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

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

Для балансировки нагрузки INTERNAL_SELF_MANAGED допустимы только цели HTTP и HTTPS.

(Только [бета-версия](https://terraform.io/docs/providers/google/guides/provider_versions.html)) Для глобального адреса с назначением PRIVATE_SERVICE_CONNECT и addressType со значением INTERNAL допустимы только «all-apis» и «vpc-sc».

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

Авторы

  • 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_global_forwarding_rule_module.html

Spec-Zone.ru

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