Spec-Zone.ru › Ansible 2.8

gcp_compute_global_forwarding_rule – Создаёт GCP GlobalForwardingRule

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

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

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
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 на "{{ имя_ресурса }}"
port_range
-
Это поле используется вместе с полем 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 для внутренней балансировки нагрузки.
При схеме балансировки INTERNAL можно настроить один порт или список портов, разделенных запятыми. Только пакеты, адресованные этим портам, будут перенаправлены в бэкенды, настроенные с этим правилом перенаправления.
Можно указать максимум до 5 портов.
project
строка
Проект Google Cloud Platform, который нужно использовать.
scopes
список
Массив используемых областей.
service_account_contents
строка
Строка, представляющая содержимое файла JSON учетной записи службы.
Это не должно передаваться как словарь, а как строка с точным содержимым файла json учетной записи службы (допустимый JSON).
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
state
-
    Варианты:
  • present ←
  • absent
Нужно ли существование данного объекта в GCP
subnetwork
-
Ссылка на подсеть.
Для внутренней балансировки нагрузки это поле идентифицирует подсеть, к которой должен принадлежать IP-адрес балансировки нагрузки для этого правила перенаправления.
Если указанная сеть в режиме автоподсетей, это поле необязательно. Однако, если сеть в режиме пользовательских подсетей, подсеть необходимо указать.
Это поле не используется для внешней балансировки нагрузки.
Это поле представляет ссылку на ресурс Subnetwork в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя_ресурса` в задачу gcp_compute_subnetwork, а затем установить это поле subnetwork на "{{ имя_ресурса }}"
target
-
Эта цель должна быть глобальным ресурсом балансировки нагрузки. Передаваемый трафик должен быть соответствующего типа для целевого объекта.
Допустимые типы: HTTP_PROXY, HTTPS_PROXY, SSL_PROXY, TCP_PROXY .

Примечания

Примечание

  • Для аутентификации можно установить 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 global address
  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
  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
  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
  gcp_compute_backend_service:
    name: backendservice-globalforwardingrule
    backends:
    - group: "{{ instancegroup }}"
    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
  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
  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
  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

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

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

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

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

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

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

IPAddress
строка
успех
IP-адрес, на котором данный правило переадресации обслуживает трафик.
Адреса ограничены схемой балансировки нагрузки (EXTERNAL или INTERNAL) и областью (глобальной или региональной).
Когда схема балансировки — EXTERNAL, для глобальных правил переадресации адрес должен быть глобальным IP-адресом, а для региональных правил переадресации — адресом из того же региона, что и правило переадресации. Если это поле пустое, будет назначен временный IPv4-адрес из той же области (глобальной или региональной). Региональное правило переадресации поддерживает только IPv4. Глобальное правило переадресации поддерживает IPv4 или IPv6.
Когда схема балансировки — INTERNAL, это может быть только IP-адрес RFC 1918, принадлежащий сети/подсети, настроенной для правила переадресации. По умолчанию, если это поле пустое, будет автоматически выделен временный внутренний IP-адрес из диапазона IP-адресов подсети или сети, настроенной для этого правила переадресации.
Адрес можно указать как прямой IP-адрес или ссылкой на существующий ресурс 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.
Когда схема балансировки — INTERNAL, допустимы только TCP и UDP.

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

loadBalancingScheme
строка
успех
Указывает, для чего используется ForwardingRule, и может принимать следующие значения: 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-адрес балансировки для этого правила переадресации. Если это поле не указано, используется сеть по умолчанию.
Это поле не используется для внешней балансировки.

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 для внутренней балансировки нагрузки.
Когда схема балансировки — INTERNAL, можно настроить один порт или список портов, разделенных запятыми. Будут перенаправлены только пакеты, адресованные этим портам, к бэкендам, настроенным с этим правилом переадресации.
Можно указать не более 5 портов.

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

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

target
строка
успех
Этот целевой объект должен быть глобальным ресурсом балансировки нагрузки. Перенаправляемый трафик должен соответствовать типу объекта.
Допустимые типы: HTTP_PROXY, HTTPS_PROXY, SSL_PROXY, TCP_PROXY .



Статус

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

Авторы

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

Spec-Zone.ru

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