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 обязательно |
| Тип используемых учетных данных. |
| backend_service | Ссылка на ресурс BackendService. | |
| description | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |
| ip_address | 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 . | |
| ip_protocol |
| IP-протокол, к которому применяется это правило. Допустимые значения — TCP, UDP, ESP, AH, SCTP или ICMP. При использовании схемы балансировки INTERNAL, допустимы только TCP и UDP. |
| ip_version |
| Версия IP, которая будет использоваться этим правилом перенаправления. Допустимые значения — IPV4 или IPV6. Это может быть указано только для глобального правила перенаправления. |
| load_balancing_scheme |
| Указывает, для чего будет использоваться правило перенаправления, и может принимать только следующие значения: 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 | Ссылка на ресурс сети. | |
| 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_email | Необязательный адрес электронной почты учетной записи сервиса, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file | Путь к файлу JSON учетной записи сервиса, если выбран тип serviceaccount. | |
| state обязательно |
| Указывает, должен ли данный объект существовать в GCP |
| subnetwork | Ссылка на ресурс Subnetwork. | |
| target | Этот target должен быть глобальным ресурсом балансировки нагрузки. Перенаправляемый трафик должен быть соответствующего типа для целевого объекта. Допустимые типы: HTTP_PROXY, HTTPS_PROXY, SSL_PROXY, TCP_PROXY . |
Примечания
Примечание
- Для аутентификации можно установить service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить 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 }}"
scopes:
- https://www.googleapis.com/auth/compute
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 }}"
scopes:
- https://www.googleapis.com/auth/compute
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 }}"
scopes:
- https://www.googleapis.com/auth/compute
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 }}"
scopes:
- https://www.googleapis.com/auth/compute
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 }}"
scopes:
- https://www.googleapis.com/auth/compute
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 }}"
scopes:
- https://www.googleapis.com/auth/compute
state: present
register: httpproxy
- name: create a global forwarding rule
gcp_compute_global_forwarding_rule:
name: testObject
ip_address: "{{ globaladdress.address }}"
ip_protocol: 'TCP'
port_range: '80-80'
target: "{{ httpproxy.selfLink }}"
project: testProject
auth_kind: service_account
service_account_file: /tmp/auth.pem
scopes:
- https://www.googleapis.com/auth/compute
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backend_service dict | успех | Ссылка на ресурс BackendService. |
| creation_timestamp str | успех | Марка времени создания в формате RFC3339. |
| description str | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. |
| id int | успех | Уникальный идентификатор ресурса. |
| ip_address str | успех | 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 str | успех | IP-протокол, к которому относится это правило. Допустимые значения: TCP, UDP, ESP, AH, SCTP или ICMP. Когда схема балансировки нагрузки INTERNAL, допустимы только TCP и UDP. |
| ip_version str | успех | Версия IP, которая будет использоваться этим правилом переадресации. Допустимые значения: IPV4 или IPV6. Это может быть указано только для глобального правила переадресации. |
| load_balancing_scheme str | успех | Определяет, для чего будет использоваться правило переадресации, и может принимать следующие значения: INTERNAL, EXTERNAL. Значение INTERNAL означает, что оно будет использоваться для внутренней балансировки нагрузки (TCP, UDP). Значение EXTERNAL означает, что оно будет использоваться для внешней балансировки нагрузки (HTTP(S) LB, внешняя балансировка TCP/UDP, SSL-прокси). |
| name str | успех | Имя ресурса, предоставленное клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. Точнее, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению [a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. |
| network dict | успех | Ссылка на ресурс Network. |
| port_range str | успех | Это поле используется вместе с полем 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 | успех | Это поле используется вместе с полем backend_service для внутренней балансировки нагрузки. Когда схема балансировки нагрузки INTERNAL, можно настроить один порт или список портов, разделенных запятыми. Только пакеты, адресованные этим портам, будут переадресованы бэкендам, настроенным с этим правилом переадресации. Вы можете указать максимум до 5 портов. |
| region str | успех | Ссылка на ресурс Region. |
| subnetwork dict | успех | Ссылка на ресурс Subnetwork. |
| target str | успех | Этот целевой ресурс должен быть глобальным ресурсом балансировки нагрузки. Переадресовываемый трафик должен быть соответствующего типа целевому объекту. Допустимые типы: HTTP_PROXY, HTTPS_PROXY, SSL_PROXY, TCP_PROXY . |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом 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.6/modules/gcp_compute_global_forwarding_rule_module.html