Модуль google.cloud.gcp_compute_forwarding_rule – Создаёт GCP ForwardingRule
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.4.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: 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, чтобы разрешить переадресацию пакетов, адресованных к любым портам, на бэкенды, настроенные с помощью этого правила переадресации. Используется со службой бэкенда. Не может быть установлен, если установлены port или portRange. Варианты:
|
allow_global_access boolean | Если true, клиенты могут получать доступ к ILB из всех регионов. В противном случае разрешается доступ только из локального региона, в котором расположен ILB. Варианты:
|
auth_kind string / required | Тип используемых учетных данных. Варианты:
|
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. Варианты:
|
load_balancing_scheme string | Это указывает, для чего будет использоваться ForwardingRule, и может быть EXTERNAL, INTERNAL или INTERNAL_MANAGED. EXTERNAL используется для шлюзов Classic 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 / required | Имя ресурса; предоставляется клиентом при создании ресурса. Длина имени должна составлять 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 / required | Ссылка на регион, в котором находится региональное правило переадресации. Это поле не применимо к глобальным правилам переадресации. |
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])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Это поле используется только для балансировки нагрузки INTERNAL. |
state string | Должен ли данный объект существовать в GCP Варианты:
|
subnetwork dictionary | Подсеть, которой должен принадлежать сбалансированный по нагрузке IP-адрес для этого правила переадресации. Это поле используется только для балансировки нагрузки INTERNAL. Если указанная сеть находится в режиме автоматической подсети, это поле является необязательным. Однако, если сеть находится в режиме пользовательской подсети, необходимо указать подсеть. Это поле представляет собой ссылку на ресурс Subnetwork в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. В качестве альтернативы, можно добавить `register: name-of-resource` к задаче gcp_compute_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 | Если истинно, клиенты могут получить доступ к ILB со всех регионов. В противном случае доступ разрешен только из локального региона, в котором находится ILB. Возвращается: успех |
allPorts boolean | Для внутренней балансировки нагрузки TCP/UDP (т.е. схема балансировки нагрузки — INTERNAL, протокол — TCP/UDP), установите это значение в true, чтобы разрешить пересылку пакетов, адресованных любому порту, бэкендам, настроенным с этой правилом переадресации. Используется с backendservice. Не может быть установлено, если заданы 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. Это значение может быть установлено только для балансировщиков, у которых loadBalancingScheme установлено в INTERNAL. Возвращается: успех |
loadBalancingScheme string | Указывает, для чего будет использоваться ForwardingRule: EXTERNAL, INTERNAL или INTERNAL_MANAGED. EXTERNAL используется для шлюзов Classic Cloud VPN, переадресации протоколов на виртуальные машины с внешнего IP-адреса и HTTP(S), SSL Proxy, TCP Proxy и балансировщики сети 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-адрес балансировки нагрузки для данного правила переадресации. Если это поле не указано, используется сеть по умолчанию. Это поле используется только для внутренней балансировки нагрузки. Возвращается: успех |
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 . Возвращается: успех |
порты список / элементы=строка | Это поле используется вместе с полем backend_service для внутренней балансировки нагрузки. Когда схема балансировки нагрузки — ВНУТРЕННЯЯ, можно настроить отдельный порт или список портов, разделённых запятыми. Только пакеты, адресованные этим портам, будут перенаправлены бэкендам, настроенным с этой правилом перенаправления. Можно указать не более 5 портов. Возвращаемое значение: успешно |
регион строка | Ссылка на регион, в котором находится региональное правило перенаправления. Это поле не применимо к глобальным правилам перенаправления. Возвращаемое значение: успешно |
метка_службы строка | Необязательный префикс к имени службы для этого правила перенаправления. Если указано, будет первой меткой полностью квалифицированного имени службы. Метка должна быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, метка должна быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Это поле используется только для внутренней балансировки нагрузки. Возвращаемое значение: успешно |
имя_службы строка | Внутреннее полностью квалифицированное имя службы для этого правила перенаправления. Это поле используется только для внутренней балансировки нагрузки. Возвращаемое значение: успешно |
подсеть словарь | Подсеть, к которой должен принадлежать IP-адрес, сбалансированный по нагрузке, для этого правила перенаправления. Это поле используется только для внутренней балансировки нагрузки. Если указанная сеть находится в режиме автоподсети, это поле является необязательным. Однако, если сеть находится в режиме подсети пользовательского определения, подсеть необходимо указать. Возвращаемое значение: успешно |
цель строка | URL целевого ресурса для получения соответствующего трафика. Целевой ресурс должен находиться в том же регионе, что и правило перенаправления. Перенаправляемый трафик должен быть соответствующего типа для целевого объекта. Возвращаемое значение: успешно |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_compute_forwarding_rule_module.html