Restricciones de las políticas de la organización para Cloud Load Balancing

En esta página, se proporciona información complementaria sobre las restricciones de las políticas de la organización que se aplican a Cloud Load Balancing. Usa restricciones de políticas de la organización para aplicar la configuración del balanceador de cargas en un proyecto, una carpeta o una organización en su totalidad.

Usa una política de la organización para restringir los tipos de Cloud Load Balancing que se pueden crear en tu organización. Establece la siguiente restricción de política de la organización:

constraints/compute.restrictLoadBalancerCreationForTypes

Cuando configuras la restricción compute.restrictLoadBalancerCreationForTypes, debes especificar los tipos de Cloud Load Balancing que no están permitidos. Para obtener una lista de los tipos disponibles, consulta Restringe la creación de un balanceador de cargas.

Configura una política de la organización

Console

Para configurar la política de la organización de Cloud Load Balancing desde Console, completa los siguientes pasos:

  1. En Google Cloud Console, ve a la página Políticas de la organización.

    Ir a la página Políticas de la organización

  2. En el campo Filtrar, escribe load y selecciona constraints/compute.restrictLoadBalancerCreationForTypes.
  3. Haz clic en Restringir la creación de balanceadores de cargas según sus tipos.
  4. Haz clic en Editar para editar las restricciones existentes de la política de Cloud Load Balancing.
  5. Para crear una política personalizada, selecciona Personalizar.
  6. Después de realizar cualquier cambio, haz clic en Guardar para aplicar la configuración de la restricción.

gcloud

Para configurar la política de la organización de Acceso al SO, usa el comando gcloud resource-manager org-policies enable-enforce.

  1. Busca el ID de tu organización.

    gcloud organizations list
  2. Crea el archivo de política, como se muestra en los siguientes ejemplos.

    Enumera los valores que se inhabilitarán

    {
     "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes",
     "listPolicy": {
       "deniedValues": [
         "INTERNAL_TCP_UDP",
         "INTERNAL_HTTP_HTTPS",
         "EXTERNAL_NETWORK_TCP_UDP",
         "EXTERNAL_TCP_PROXY",
         "EXTERNAL_SSL_PROXY",
         "EXTERNAL_HTTP_HTTPS"
       ]
     }
    }
    

    Rechaza todos los balanceadores de cargas externos

    {
     "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes",
     "listPolicy": {
       "deniedValues": [
         "EXTERNAL"
       ]
     }
    }
    

    Rechaza todos los balanceadores de cargas

    {
      "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes",
      "listPolicy": {
        "allValues": "DENY"
      }
    }
    
  3. Establece la restricción en la organización. Reemplaza ORGANIZATION_ID por el ID de tu organización.

    gcloud resource-manager org-policies set-policy POLICY_FILE \
        --organization=ORGANIZATION_ID
    

    También puedes aplicar la política de la organización de Acceso al SO en una carpeta o un proyecto con las marcas --folder o --project, y con el ID de la carpeta y del proyecto, respectivamente.

    Para las carpetas, ejecuta el siguiente comando:

    gcloud resource-manager org-policies set-policy POLICY_FILE \
        --folder=FOLDER_ID
    

    Para los proyectos, ejecuta el siguiente comando:

    gcloud resource-manager org-policies set-policy POLICY_FILE \
        --project=PROJECT_ID
    

    Reemplaza los siguientes elementos:

Después de configurar la política, esta se aplica cuando se agregan las reglas de reenvío correspondientes de Google Cloud.

La restricción no se aplica a la configuración existente de Cloud Load Balancing.

Si intentas crear un tipo de Cloud Load Balancing que infrinja la restricción, el intento fallará y se generará un mensaje de error. El mensaje de error tiene el siguiente formato:

Constraint constraints/compute.restrictLoadBalancerCreationForTypes
violated for projects/PROJECT_NAME. Forwarding Rule projects/PROJECT_NAME/region/REGION/forwardingRules/FORWARDING_RULE_NAME
of type SCHEME is not allowed.

Si configuras varias restricciones restrictLoadBalancerCreationForTypes en diferentes niveles de recursos, estas se aplican de manera jerárquica. Por este motivo, se recomienda establecer el campo inheritFromParent en true, lo que garantiza que también se consideran las políticas de las capas superiores.

Para obtener más información sobre la configuración de políticas de la organización, incluidas las descripciones de las opciones disponibles, consulta Crea y administra políticas de la organización y Usa restricciones.

Mensajes de error de GKE

Si usas los objetos Ingress y Service de Google Kubernetes Engine (GKE), el uso de esta política de la organización para restringir la creación del balanceador de cargas da como resultado un mensaje de error similar al siguiente:

Warning  Sync    28s   loadbalancer-controller  Error during sync: error running
load balancer syncing routine: loadbalancer FORWARDING_RULE_NAME
does not exist: googleapi: Error 412:
Constraint constraints/compute.restrictLoadBalancerCreationForTypes violated for
projects/PROJECT_ID. Forwarding Rule
projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_NAME
of type LOAD_BALANCER_TYPE is not allowed, conditionNotMet

Puedes ver los mensajes de error de GKE si ejecutas los siguientes comandos:

kubectl get events -w
kubectl describe RESOURCE_KIND NAME

Reemplaza los siguientes elementos:

  • RESOURCE_KIND: Es el tipo de balanceador de cargas, ingress o service.
  • NAME: Es el nombre del balanceador de cargas.

Próximos pasos