gcp_compute_forwarding_rule - Создаёт GCP ForwardingRule
Новая версия с 2.6.
Обзор
- Ресурс ForwardingRule. Ресурс ForwardingRule определяет, в какой пул целевых виртуальных машин следует перенаправлять пакет, если он соответствует заданной кортежу [IPAddress, IPProtocol, portRange].
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- 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-адреса, либо с помощью ссылки 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 |
| 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 | Ссылка на ресурс 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, который будет использоваться. | |
| region обязательно | Ссылка на ресурс Region. | |
| scopes обязательно | Массив используемых областей. | |
| service_account_email | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file | Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount. | |
| state обязательно |
| Указывает, должен ли данный объект существовать в GCP |
| subnetwork | Ссылка на ресурс Subnetwork. | |
| target | Ссылка на ресурс TargetPool. |
Примечания
Примечание
- Для аутентификации можно установить 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 address
gcp_compute_address:
name: 'address-forwardingrule'
region: 'us-west1'
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
scopes:
- https://www.googleapis.com/auth/compute
state: present
register: address
- name: create a target pool
gcp_compute_target_pool:
name: 'targetpool-forwardingrule'
region: 'us-west1'
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
scopes:
- https://www.googleapis.com/auth/compute
state: present
register: targetpool
- name: create a forwarding rule
gcp_compute_forwarding_rule:
name: testObject
region: 'us-west1'
target: "{{ targetpool }}"
ip_protocol: 'TCP'
port_range: '80-80'
ip_address: "{{ address.address }}"
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 dict | успех | Ссылка на ресурс TargetPool. |
Статус
Этот модуль помечен как предварительная версия, что означает, что он не гарантирует обратную совместимость интерфейса.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом 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_forwarding_rule_module.html