Crea verificaciones de tiempo de actividad privadas

En este documento, se describe cómo configurar una verificación de tiempo de actividad privada. Las verificaciones de tiempo de actividad privadas habilitan las solicitudes HTTP o TCP en un cliente red de nube privada virtual (VPC) mientras se aplica las restricciones de Identity and Access Management (IAM) perímetros de los Controles del servicio de VPC. Las verificaciones de tiempo de actividad privadas pueden enviar solicitudes a través de la red privada a los recursos como una máquina virtual (VM) o un balanceador de cargas interno (ILB) L4.

Las direcciones IP internas de los recursos en la red privada se registran del Directorio de servicios con acceso a la red privada habilitado. Para usar el tiempo de actividad privado debes configurar el acceso a la red privada Directorio de servicios.

El proyecto de Google Cloud que almacena la verificación de tiempo de actividad privada y el proyecto de Google Cloud que almacena el Directorio de servicios servicio pueden ser proyectos diferentes. Cloud Monitoring permite supervisar recursos en varias Proyectos de Google Cloud de un proyecto a través de un permiso de métricas. El proyecto en el que se define la verificación de tiempo de actividad es la proyecto de permisos de un permiso de métricas; el permiso de métricas es una lista de todos los proyectos los supervisores del proyecto de permisos. El servicio del Directorio de servicios puede definirse en el o en un proyecto dentro del permiso de métricas. Para obtener más información sobre los permisos de métricas, consulta Descripción general de los permisos de las métricas.

La red privada y sus recursos, como VMs o balanceadores de cargas, en un proyecto de Google Cloud diferente. Este proyecto no tiene para estar dentro del permiso de métricas del proyecto de permisos de la verificación de tiempo de actividad. El servicio del Directorio de servicios recopila las métricas de tiempo de actividad, por lo que debe estar en el permiso de métricas, pero los recursos que encapsula no.

En este documento, se describe cómo configurar una red privada recursos del Directorio de servicios para el servicio con la consola de Google Cloud o la API. Los ejemplos de API suponen que la red privada y el servicio del Directorio de servicios el proyecto de permisos de la verificación de tiempo de actividad. Sin embargo, crea un bucket la verificación de tiempo de actividad también describe cómo usar la API para creará una verificación de tiempo de actividad que use un servicio del Directorio de servicios en el permiso de métricas.

Para obtener información sobre cómo configurar verificaciones de tiempo de actividad que usan direcciones IP, consulta Crea verificaciones de tiempo de actividad públicas. Para obtener información sobre cómo administrar y supervisar tus verificaciones de tiempo de actividad, consulta la Pasos siguientes de este documento.

Antes de comenzar

  1. Habilita las siguientes APIs:

    • API de Cloud Monitoring: monitoring.googleapis.com
    • API del Directorio de servicios: servicedirectory.googleapis.com
    • API de Service Networking: servicenetworking.googleapis.com
    • API de Compute Engine: compute.googleapis.com

    Puedes habilitar las APIs con gcloud CLI o Consola de Google Cloud En las siguientes pestañas, se describe cómo instalar el gcloud CLI y habilita la API de Cloud Monitoring:

    Consola de Google Cloud

    1. En la consola de Google Cloud, selecciona el proyecto de Google Cloud para en la que quieres habilitar la API, y, luego, dirígete a APIs & Servicios:

      Ve a APIs y Servicios

    2. Haz clic en el botón Habilitar las API y el servicio.

    3. Busca “Monitoring”.

    4. En los resultados de la búsqueda, haz clic en "API de Monitoring" de Stackdriver.

    5. Si se muestra "API habilitada", significa que la API ya está habilitada. Si haz clic en Habilitar.

    gcloud CLI

    1. Si aún no instalaste Google Cloud CLI en tu estación de trabajo, consulta Instala gcloud CLI.

    2. Para ver si la API de Monitoring está habilitada, ejecuta el siguiente comando: en tu estación de trabajo, luego de reemplazar PROJECT_ID con el comando ID del proyecto para el que deseas habilitar la API:

      gcloud services list --project=PROJECT_ID
      

      Si monitoring.googleapis.com aparece en el resultado, la API está habilitada.

    3. Si la API no está habilitada, ejecuta el siguiente comando para habilitarla:

      gcloud services enable monitoring --project=PROJECT_ID
      

      Para obtener más información, consulta gcloud services

    Puedes seguir los mismos pasos para habilitar las otras APIs:

    • Para usar la consola de Google Cloud, busca el nombre visible, por ejemplo, “API de Directorio de servicios”.
    • Para usar gcloud CLI, especifica el primer elemento de la googleapis.com, por ejemplo, servicedirectory.
  2. Configura los canales de notificaciones que deseas usar para recibir notificaciones. Te recomendamos crear varios tipos de notificaciones canales. Para obtener más información, consulta Crea y administra canales de notificaciones.

  3. Configurar una red privada y configurar una VM o ILB para que tenga acceso a esa red privada. Para obtener más información, consulta Acceso privado a servicios.

    Las verificaciones privadas a las que se orientan los ILB se limitan a las regiones con verificadores de tiempo de actividad. La región de verificación de tiempo de actividad USA incluye USA_OREGON, USA_IOWA y USA_VIRGINIA. Cada una de las USA_* regiones tiene un verificador y USA incluye los tres. Las otras regiones de verificaciones de tiempo de actividad EUROPE, SOUTH_AMERICA y ASIA_PACIFIC tienen uno cada uno de verificación. Quitar esta limitación, debes configurar el acceso global al balanceador de cargas. Para obtener más información sobre cómo configurar el acceso global, consulta la pestaña de ILB en la sección Configura recursos del Directorio de servicios de este documento.

    Si planea verificar un ILB que no permite el acceso global, entonces Selecciona una de las siguientes regiones para el ILB:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Determina qué interfaz usar:

    • Consola de Google Cloud: Te permite crear un tiempo de actividad verificar cuándo una VM está atendiendo solicitudes. Esta interfaz te guiará hasta la configuración de los recursos del Directorio de servicios autorizar la cuenta de servicio y configurar el firewall de red las reglas de firewall.

    • Interfaces de línea de comandos: puedes usar Google Cloud CLI y la La API de Cloud Monitoring crea verificaciones de tiempo de actividad privadas cuando los ILB y las VMs son solicitudes de servicio.

  5. Si planeas usar la línea de comandos para configurar las verificaciones de tiempo de actividad Luego, completa los pasos previos.

Crea una verificación de tiempo de actividad privada

En esta sección, se explica cómo crear y configurar verificaciones de tiempo de actividad privadas de servicios del Directorio de servicios:

  • Para usar la consola de Google Cloud, selecciona la pestaña Consola de Google Cloud.

  • Para usar la API de Cloud Monitoring y configurar la que el servicio del Directorio de servicios esté en el mismo proyecto de Google Cloud que en la verificación de tiempo de actividad, selecciona la pestaña API: Scoping project.

  • Para usar la API de Cloud Monitoring y configurar la del Directorio de servicios en un proyecto supervisado por el permiso de métricas del proyecto de verificación de tiempo de actividad, selecciona la pestaña API: proyecto supervisado.

Consola de Google Cloud

Para crear una verificación de tiempo de actividad con la consola de Google Cloud, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página  Verificaciones de tiempo de actividad:

    Ve a Verificaciones de tiempo de actividad

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Haga clic en Crear una verificación de tiempo de actividad.

    Crea un diálogo de verificación de tiempo de actividad.

  3. Especifica una verificación de tiempo de actividad privada:

    1. Selecciona el protocolo, que puede ser HTTP, HTTPS o TCP.

    2. Elige el tipo de recurso IP interna.

  4. Si no tienes configurado un servicio del Directorio de servicios para tu proyecto o si quieres crear una de Directorio de servicios, haz clic en Ver y completa Panel Requisitos previos de la verificación de tiempo de actividad privada:

    1. Si se te solicita, habilita la API de Compute Engine o la API de Directorio de servicios. La habilitación de las APIs puede tardar un minuto en completarse.

    2. Expande la Cuenta de servicio de , si se muestra. y, luego, en Crear cuenta de servicio.

      Cuando no existe una cuenta de servicio de Monitoring, una cuando se cree. Luego, Monitoring le otorga a la cuenta de servicio dos roles del Directorio de servicios.

    3. Expande el menú Directorio de servicios y Luego, haz lo siguiente:

      1. Expande Region y y, luego, selecciona la región de la VM que entrega las solicitudes.
      2. Expande Espacio de nombres y, luego, selecciona un en el Directorio de servicios Haz clic en Crear espacio de nombres y crea uno.
      3. Haz clic en Nombre del servicio y, luego, ingresa un servicio de la fuente de datos. Los servicios son los objetivos de las verificaciones de tiempo de actividad privadas.
      4. Haz clic en Nombre del extremo y, luego, ingresa un nombre para el extremo. Un extremo es un par de valores de puerto y dirección IP que que un servicio puede usar para manejar solicitudes. Cuando tu servicio contiene varios extremos, se elige un extremo al azar.
      5. Expande Red. selecciona tu red privada.
      6. Expande Instancia de y, luego, selecciona la VM en la red privada que entrega solicitudes. Luego de seleccionar la instancia, se mostrará su dirección IP interna.
      7. Haz clic en Listo.
    4. Expande Reglas de firewall de :

      1. Expande Red y selecciona la red. al que se adjunta la regla de red.

      2. Haz clic en Crear reglas de firewall.

        La regla de firewall habilita el tráfico de TCP entrante desde las rutas 35.199.192.0/19. Una ruta de 35.199.192.0/19 admite conectividad al reenvío objetivos que usan enrutamiento privado. Para obtener más información, consulta Rutas de VPC.

  5. En el panel Verificación de tiempo de actividad privada, especifica la Directorio de servicios que uses, realiza una de las siguientes acciones:

    • Selecciona Usar un nombre de servicio completamente calificado y, luego, ingresa el nombre Nombre calificado del servicio:

      projects/SERVICE_DIRECTORY_PROJECT_ID/locations/REGION/namespaces/PRIVATE_NAMESPACE/services/PRIVATE_SERVICE
      
    • Selecciona la Región, el Espacio de nombres y el Servicio mediante las opciones menús. Si creaste un servicio, estos campos se seleccionan automáticamente.

  6. En el panel Verificación de tiempo de actividad privada, completa la descripción de la objetivo de la verificación de tiempo de actividad:

    1. Opcional: Ingresa un componente de ruta de acceso para la solicitud.

      Verificaciones de tiempo de actividad privadas que usan el protocolo HTTP o HTTPS envía una solicitud a http://target/path. En este expresión, target es la dirección IP interna configurada en el extremo del Directorio de servicios.

      Si dejas el campo Path en blanco o si estableces el valor como /, Luego, la solicitud se emite a http://target/.

    2. Opcional: Para configurar la frecuencia con la que se ejecuta la verificación de tiempo de actividad, usa el Campo Comprueba la frecuencia.

    3. Opcional: Selecciona regiones del verificador o configura los encabezados para verificaciones HTTP y HTTPS y otros valores, Haz clic en Más opciones de segmentación:

      • Regiones: selecciona las regiones en las que las verificaciones de tiempo de actividad son para recibir solicitudes. Una verificación de tiempo de actividad debe tener al menos tres verificadores. Hay un verificador en todas las regiones, excepto en Estados Unidos que tiene tres verificadores. La configuración predeterminada, Global, incluye todas las regiones.
      • Método de solicitud: Selecciona GET o POST.
      • Cuerpo: Para las verificaciones de POST de HTTP, ingresa el cuerpo codificado en formato URL. tú debes codificar por tu cuenta. Para todas las demás verificaciones, deja este valor campo vacío.
      • Encabezado del host: No establezcas este campo durante la configuración. y verificaciones de tiempo de actividad privadas.
      • Puerto: cualquier valor que establezcas aquí anula el puerto del Configuración del extremo del Directorio de servicios. No establecer un valor aquí si quieres que se use la configuración del extremo.
      • Encabezados personalizados: Proporciona encabezados personalizados y, de forma opcional, y encriptarlos. La encriptación oculta los valores del encabezado del formulario. Usa la encriptación para los encabezados relacionados con la autenticación que no quieres que otros vean.
      • Autenticación: Proporciona un nombre de usuario y contraseña únicos. Estos valores se envían como un encabezado de autorización. Si estableces valores aquí, no establezcas un encabezado de autorización por separado; si estableces un encabezado de autorización, no establezcas valores aquí. Las contraseñas siempre están ocultas en el formulario.
  7. Haz clic en Continuar y configura los requisitos de respuesta. Todos los parámetros de configuración de esta sección tienen valores predeterminados:

    • Para establecer un tiempo de espera para la verificación de tiempo de actividad, usa el Campo Tiempo de espera de respuesta. Una verificación de tiempo de actividad falla cuando no hay se recibe una respuesta de más de una ubicación en este período.

    • Para configurar la verificación de tiempo de actividad a fin de realizar la coincidencia de contenido, Asegúrate de que la etiqueta del botón de activación sea La coincidencia de contenido está habilitada:

      • Selecciona el Tipo de coincidencia del contenido de la respuesta en el menú de opciones. Este campo determina cómo se compara el contenido de la respuesta con los datos que se muestran. Por ejemplo, supongamos que el contenido de la respuesta está abcd y el tipo de concordancia de contenido es Contiene. La verificación de tiempo de actividad solo tiene éxito cuando los datos de respuesta contienen abcd. Para obtener más información, consulta Valida los datos de las respuestas.
      • Ingresa el Contenido de la respuesta. El contenido de la respuesta debe ser una cadena no debe superar los 1,024 bytes. En la API, este campo es el Objeto ContentMatcher.
    • Para evitar que se creen entradas de registro debido a verificaciones de tiempo de actividad, Borra Errores de verificación de registros.

    • Para las verificaciones de tiempo de actividad HTTP, configura los códigos de respuesta aceptables. De forma predeterminada, las verificaciones de tiempo de actividad de HTTP marcan 2xx como respuesta correcta.

  8. Haz clic en Continuar y configura las políticas de alertas y notificaciones.

    Para recibir una notificación cuando falle una verificación de tiempo de actividad, crea un política de alertas y Configura los canales de notificaciones para esa política:

    1. Opcional: Actualiza el nombre de la política de alertas.
    2. Opcional: En el campo Duración, selecciona por cuánto tiempo deben ejecutarse las verificaciones de tiempo de actividad. debe fallar antes de que se envíen las notificaciones. De forma predeterminada, las notificaciones se se envían cuando al menos dos regiones informan errores en las verificaciones de tiempo de actividad de un de al menos un minuto.
    3. En el cuadro Canales de notificaciones, expande Menú, selecciona los canales que quieres agregar y, luego, haz clic en OK.

      En el menú, los canales de notificaciones se agrupan alfabéticamente para cada tipo de canal.

    Si no quieres crear una política de alertas, asegúrate que el texto del botón de activación sea Do not create an alert.

  9. Haz clic en Continuar y completa la verificación de tiempo de actividad:

    1. Ingresa un título descriptivo para la verificación de tiempo de actividad.

    2. Opcional: Para agregar etiquetas definidas por el usuario a tu verificación de tiempo de actividad, haz lo siguiente:

      1. Haz clic en Mostrar etiquetas de usuario.
      2. En el campo Clave, ingresa un nombre para la etiqueta. Los nombres de las etiquetas deben comenzar con una letra minúscula y pueden contener letras minúsculas, números, guiones bajos y guiones. Por ejemplo, ingresa severity.
      3. En el campo Valor, ingresa un valor para tu etiqueta. Valores de etiquetas puede contener letras minúsculas, números, guiones bajos y guiones. Por ejemplo, ingresa critical.
      4. Por cada etiqueta adicional, haz clic en Agregar etiqueta de usuario y, luego, ingresa la clave y el valor de la etiqueta de recurso.
    3. Para verificar la configuración de verificación de tiempo de actividad, haz clic en Probar (Test). Si el resultado no es el que esperabas, consulta Solución de problemas. corregir tu configuración y, luego, repetir el paso de verificación.

    4. Haz clic en Crear.

API: Proyecto de permisos

Para crear la configuración de una verificación de tiempo de actividad privada, crea un UptimeCheckConfig y pásalo objeto al método uptimeCheckConfigs.create en la API de Cloud Monitoring.

El objeto UptimeCheckConfig de una verificación de tiempo de actividad privada es diferente del objeto para una verificación de tiempo de actividad pública de las siguientes maneras:

  • El recurso supervisado especificado en la configuración de la verificación de tiempo de actividad debe estar del tipo servicedirectory_service. Este tipo de recurso tiene las siguientes etiquetas:

    • project_id: El ID del proyecto asociado con el Directorio de servicios.
    • location: Es la región de la nube asociada con el servicio.
    • namespace_name: Es el espacio de nombres del Directorio de servicios.
    • service_name: Es el nombre del servicio del Directorio de servicios.
  • No necesitas especificar un valor de port en la configuración de la verificación de tiempo de actividad. El valor del puerto del extremo del Directorio de servicios anula cualquier valor establecido en la configuración de la verificación de tiempo de actividad, y la verificación falla si no se especificó ningún puerto en la configuración del Directorio de servicios.

  • La configuración de la verificación de tiempo de actividad debe especificar el campo checker_type con el valor VPC_CHECKERS. Este valor es obligatorio para el tiempo de actividad privado y verificaciones de control. De forma predeterminada, las verificaciones de tiempo de actividad son públicas, no necesitan especificar este campo.

En el siguiente código JSON, se muestra un objeto UptimeCheckConfig para un la verificación de tiempo de actividad privada con los recursos del Directorio de servicios Configurada para una instancia de VM en una red privada:

{
  "displayName": "private-check-demo",
  "monitoredResource": {
    "type": "servicedirectory_service",
    "labels": {
      "project_id": "SERVICE_DIRECTORY_PROJECT_ID",
      "service_name": "PRIVATE_SERVICE",
      "namespace_name": "PRIVATE_NAMESPACE",
      "location": "REGION"
    }
  },
  "httpCheck": {
    "requestMethod": "GET"
  },
  "period": "60s",
  "timeout": "10s",
  "checker_type": "VPC_CHECKERS"
}'

Para crear una verificación de tiempo de actividad privada cuando la Servicio del Directorio de servicios está en el mismo proyecto de Google Cloud que la verificación de tiempo de actividad, sigue estos pasos:

  1. Configura el proyecto predeterminado de Google Cloud para gcloud CLI:

    gcloud config set project PROJECT_ID
    
  2. Crea una variable de entorno para almacenar tu ID del proyecto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Crea una variable de entorno que contenga un token de acceso:

    export TOKEN=`gcloud auth print-access-token`
    
  4. Usa la herramienta curl para invocar el Método uptimeCheckConfigs.create y publicar un objeto de configuración en él:

    curl https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/uptimeCheckConfigs \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    --request POST --data '{
    "displayName": "private-check-demo",
    "monitoredResource": {
      "type": "servicedirectory_service",
      "labels": {
        "project_id": "'"$PROJECT_ID"'",
        "service_name": "PRIVATE_SERVICE",
        "namespace_name": "PRIVATE_NAMESPACE",
        "location": "REGION"
      }
    },
    "httpCheck": {
      "requestMethod": "GET"
    },
    "period": "60s",
    "timeout": "10s",
    "checker_type": "VPC_CHECKERS"
    }'
    

Si la creación de la verificación de tiempo de actividad falla, comprueba que el cuenta de servicio tiene los roles necesarios. Para obtener más información, Consulta Falla la creación de una verificación de tiempo de actividad.

API: Proyecto supervisado

Para crear la configuración de una verificación de tiempo de actividad privada, crea un UptimeCheckConfig y pásalo objeto al método uptimeCheckConfigs.create en la API de Cloud Monitoring.

El objeto UptimeCheckConfig de una verificación de tiempo de actividad privada es diferente del objeto para una verificación de tiempo de actividad pública de las siguientes maneras:

  • El recurso supervisado especificado en la configuración de la verificación de tiempo de actividad debe estar del tipo servicedirectory_service. Este tipo de recurso tiene las siguientes etiquetas:

    • project_id: El ID del proyecto asociado con el Directorio de servicios.
    • location: Es la región de la nube asociada con el servicio.
    • namespace_name: Es el espacio de nombres del Directorio de servicios.
    • service_name: Es el nombre del servicio del Directorio de servicios.
  • No necesitas especificar un valor de port en la configuración de la verificación de tiempo de actividad. El valor del puerto del extremo del Directorio de servicios anula cualquier valor establecido en la configuración de la verificación de tiempo de actividad, y la verificación falla si no se especificó ningún puerto en la configuración del Directorio de servicios.

  • La configuración de la verificación de tiempo de actividad debe especificar el campo checker_type con el valor VPC_CHECKERS. Este valor es obligatorio para el tiempo de actividad privado y verificaciones de control. De forma predeterminada, las verificaciones de tiempo de actividad son públicas, no necesitan especificar este campo.

En el siguiente código JSON, se muestra un objeto UptimeCheckConfig para un la verificación de tiempo de actividad privada con los recursos del Directorio de servicios Configurada para una instancia de VM en una red privada:

{
  "displayName": "private-check-demo",
  "monitoredResource": {
    "type": "servicedirectory_service",
    "labels": {
      "project_id": "SERVICE_DIRECTORY_PROJECT_ID",
      "service_name": "PRIVATE_SERVICE",
      "namespace_name": "PRIVATE_NAMESPACE",
      "location": "REGION"
    }
  },
  "httpCheck": {
    "requestMethod": "GET"
  },
  "period": "60s",
  "timeout": "10s",
  "checker_type": "VPC_CHECKERS"
}'

Para crear una verificación de tiempo de actividad privada cuando El servicio del Directorio de servicios se encuentra en un proyecto de Google Cloud supervisado por el permiso de métricas del permiso proyecto de Google Cloud, haz lo siguiente:

  1. Configura gcloud CLI para que use de forma predeterminada el proyecto de Google Cloud en la que se debe crear la verificación de tiempo de actividad:

    gcloud config set project PROJECT_ID
    
  2. Crea una variable de entorno para almacenar tu ID del proyecto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Crea una variable de entorno para almacenar el ID del proyecto del Proyecto de Google Cloud en la que se define el servicio del Directorio de servicios:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Este proyecto debe estar dentro del permiso de métricas de la verificación de tiempo de actividad en un proyecto final.

  4. Crea una variable de entorno que contenga un token de acceso:

    export TOKEN=`gcloud auth print-access-token`
    
  5. Usa la herramienta curl para invocar el Método uptimeCheckConfigs.create y publicar un objeto de configuración en él:

    curl https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/uptimeCheckConfigs \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    --request POST --data '{
    "displayName": "private-check-demo",
    "monitoredResource": {
      "type": "servicedirectory_service",
      "labels": {
        "project_id": "'"$MONITORED_PROJECT_ID"'",
        "service_name": "PRIVATE_SERVICE",
        "namespace_name": "PRIVATE_NAMESPACE",
        "location": "REGION"
      }
    },
    "httpCheck": {
      "requestMethod": "GET"
    },
    "period": "60s",
    "timeout": "10s",
    "checker_type": "VPC_CHECKERS"
    }'
    

Si la creación de la verificación de tiempo de actividad falla, comprueba que el cuenta de servicio tiene los roles necesarios. Para obtener más información, Consulta Falla la creación de una verificación de tiempo de actividad.

Puede haber un retraso de hasta 5 minutos antes de que comience el flujo de los resultados de la verificación de tiempo de actividad en Monitoring. Durante ese tiempo, el panel de verificación de tiempo de actividad informa el estado como "sin datos disponibles".

Pasos de los requisitos previos

Si piensas usar la interfaz de la consola de Google Cloud, Luego, ve a Crea una verificación de tiempo de actividad privada. El La consola de Google Cloud te guía por todos los pasos de los requisitos previos.

Si piensas utilizar el de línea de comandos para configurar tus verificaciones de tiempo de actividad privadas, completa los siguientes pasos antes de crear la verificación de tiempo de actividad:

  1. Configura los recursos del Directorio de servicios
  2. Autoriza la cuenta de servicio
  3. Configura reglas de firewall

Configura los recursos del Directorio de servicios

Las verificaciones de tiempo de actividad privadas determinan la disponibilidad de un recurso mediante un dirección IP interna que registra un Directorio de servicios. Puedes configurar un Directorio de servicios de los siguientes recursos:

  • VMs en una red privada
  • Balanceadores de cargas internos (ILB) L4

Para usar verificaciones de tiempo de actividad privadas, debes configurar lo siguiente Recursos del Directorio de servicios:

  • Extremo: Es un par de direcciones IP y valores de puerto que que un servicio puede usar para manejar solicitudes. Cuando tu servicio contiene varios extremos, se elige un extremo al azar.
  • Servicio: Es un conjunto de extremos que proporcionan un conjunto de comportamientos. Los servicios son los objetivos de las verificaciones de tiempo de actividad privadas.
  • Espacio de nombres: Un espacio de nombres contiene un conjunto de nombres de servicios y sus nombres en los extremos. Los espacios de nombres te permiten agrupar servicios para obtener y administración de posturas.

Puedes configurar estos recursos con gcloud CLI Consola de Google Cloud Cuando usas la consola, los pasos de configuración se incluyen en el diálogo Crear una verificación de tiempo de actividad.

Consola de Google Cloud

Cuando usas la consola de Google Cloud, después de seleccionar IP interna como tipo de recurso para una verificación de tiempo de actividad, se te indicará que crees una Directorio de servicios y un servicio.

gcloud CLI: VM

Si quieres obtener información sobre los comandos que se usan en este documento para servicios, espacios de nombres y extremos, consulta la Grupo de comandos gcloud service-directory.

Para crear recursos del Directorio de servicios para una VM, haz lo siguiente:

  1. Configura Google Cloud CLI para que, de forma predeterminada, se utilice el proyecto de Google Cloud en el que se deben crear los recursos del Directorio de servicios:

    gcloud config set project PROJECT_ID
    
  2. Crea variables de entorno para almacenar el ID y el número del proyecto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Crea un espacio de nombres en el Directorio de servicios:

    gcloud service-directory namespaces create PRIVATE_NAMESPACE --location=REGION
    
  4. Crea un servicio del Directorio de servicios en el espacio de nombres:

    gcloud service-directory services create PRIVATE_SERVICE \
    --namespace PRIVATE_NAMESPACE --location=REGION
    
  5. Crea una variable de entorno para conservar la dirección IP de la VM en la red privada:

    export INTERNAL_IP=$(gcloud compute instances describe --zone=ZONE \
    PRIVATE_SERVICE_INSTANCE --format='get(networkInterfaces[0].networkIP)')
    
  6. Crear un extremo del Directorio de servicios que contenga el dirección IP interna y un puerto:

    gcloud service-directory endpoints create PRIVATE_ENDPOINT \
    --location=REGION --namespace=PRIVATE_NAMESPACE \
    --service=PRIVATE_SERVICE \
    --network=projects/$PROJECT_NUMBER/locations/global/networks/PRIVATE_CHECK_NETWORK \
    --address=$INTERNAL_IP --port=80
    

gcloud CLI: ILB L4

Si quieres obtener información sobre los comandos que se usan en este documento para servicios, espacios de nombres y extremos, consulta la Grupo de comandos gcloud service-directory.

Puedes usar verificaciones de tiempo de actividad privadas para supervisar la disponibilidad de una red interna L4 de balanceador de cargas (ILB) a través de la creación de recursos del Directorio de servicios para el ILB L4.

Cuando crees nuevos ILB L4, puedes usar la integración automática que proporciona Directorio de Servicios; para obtener más información, consulta Configurar Balanceadores de cargas internos en el Directorio de servicios para obtener más información.

Si tienes ILB L4 que se crearon sin usar la integración automática que proporciona el Directorio de servicios, puedes configurar manualmente los recursos del Directorio de servicios de la siguiente manera:

  1. Configura Google Cloud CLI para que, de forma predeterminada, se utilice el proyecto de Google Cloud en el que se deben crear los recursos del Directorio de servicios:

    gcloud config set project PROJECT_ID
    
  2. Crea variables de entorno para almacenar el ID y el número del proyecto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Para permitir que todos los verificadores de tiempo de actividad transfieran datos a su ILB L4, Habilita el acceso global al ILB:

    gcloud compute forwarding-rules update ILB_FORWARDING_RULE_NAME \
    --region=ILB_REGION --allow-global-access
    

    Si tu ILB L4 no permite el acceso global, las métricas de tiempo de actividad son Solo está disponible si ILB_REGION es una de las siguientes opciones:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Crea un espacio de nombres en el Directorio de servicios:

    gcloud service-directory namespaces create PRIVATE_NAMESPACE_FOR_ILB\
    --location=REGION
    
  5. Crea un servicio del Directorio de servicios en el espacio de nombres:

    gcloud service-directory services create PRIVATE_SERVICE_FOR_ILB \
    --namespace PRIVATE_NAMESPACE_FOR_ILB --location=REGION
    
  6. Crea una variable de entorno para conservar la dirección IP del balanceador de cargas en la red privada:

    export INTERNAL_IP=$( gcloud compute forwarding-rules describe ILB_FORWARDING_RULE_NAME\
    --region=ILB_REGION --format='get(IPAddress)')
    
  7. Crear un extremo del Directorio de servicios que contenga el dirección IP interna y un puerto:

    gcloud service-directory endpoints create PRIVATE_ENDPOINT_FOR_ILB \
    --location=ILB_REGION --namespace=PRIVATE_NAMESPACE_FOR_ILB \
    --service=PRIVATE_SERVICE_FOR_ILB \
    --network=projects/$PROJECT_NUMBER/locations/global/networks/PRIVATE_CHECK_NETWORK \
    --address=$INTERNAL_IP --port=80
    

Autoriza la cuenta de servicio

Las verificaciones de tiempo de actividad usan una cuenta de servicio propiedad de Monitoring para administrar interacciones con el servicio del Directorio de servicios. El nombre de la cuenta de servicio tiene el siguiente formato:

service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

Cuando esta cuenta de servicio no existe, Monitoring crea la cuenta de servicio cuando crees la verificación de tiempo de actividad privada. Tú no puedes crear esta cuenta de servicio.

Cuando creas una verificación de tiempo de actividad privada, Monitoring para otorgarle a la cuenta de servicio dos roles del Directorio de servicios. Sin embargo, cuando usas la API, es posible que la configuración del proyecto de Google Cloud evitar que Monitoring otorgue roles a la cuenta de servicio. En esta situación, la creación de la verificación de tiempo de actividad falla.

En esta sección, se describe cómo otorgar los roles necesarios a un cuenta de servicio existente:

Consola de Google Cloud

Cuando usas la consola de Google Cloud, después de seleccionar IP interna como tipo de recurso para una verificación de tiempo de actividad, se te pedirá que autorices la cuenta de servicio.

API: Proyecto de permisos

Para otorgar las funciones del Directorio de servicios a una cuenta de servicio existente, haz lo siguiente:

  1. Configura gcloud CLI para que use de forma predeterminada el proyecto de Google Cloud en la que se debe crear la verificación de tiempo de actividad:

    gcloud config set project PROJECT_ID
    
  2. Crea variables de entorno para almacenar el ID y el número del proyecto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Ejecute los siguientes comandos:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.pscAuthorizedService'
    

    Los comandos anteriores otorgan los siguientes roles a la cuenta de servicio:

    • roles/servicedirectory.viewer
    • roles/servicedirectory.pscAuthorizedService

API: Proyecto supervisado

Para otorgar las funciones del Directorio de servicios a una cuenta de servicio existente, haz lo siguiente:

  1. Configura gcloud CLI para que use de forma predeterminada el proyecto de Google Cloud en la que se debe crear la verificación de tiempo de actividad:

    gcloud config set project PROJECT_ID
    
  2. Crea variables de entorno para almacenar el ID y el número del proyecto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Crea una variable de entorno para conservar el ID del proyecto. en la que se define el servicio del Directorio de servicios:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Este proyecto debe estar dentro del permiso de métricas de la verificación de tiempo de actividad en un proyecto final.

  4. Crea una variable de entorno para conservar el ID del proyecto. en la que la red se define:

    export NETWORK_PROJECT_ID=NETWORK_PROJECT_ID
    

    No es necesario que este proyecto esté dentro del permiso de métricas del de la verificación de tiempo de actividad.

  5. Ejecute los siguientes comandos:

    gcloud projects add-iam-policy-binding $MONITORED_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $NETWORK_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.pscAuthorizedService'
    

    Los comandos anteriores otorgan los siguientes roles a la cuenta de servicio:

    • roles/servicedirectory.viewer para el proyecto supervisado en el que se configura el servicio de Directorio de servicios $SERVICE_MONITORED_PROJECT_ID
    • roles/servicedirectory.pscAuthorizedService para el proyecto en el que se configuró la red privada, $NETWORK_PROJECT_ID.

Configura reglas de firewall

Debes crear una regla de firewall que habilite el tráfico de TCP entrante desde las rutas 35.199.192.0/19. Una ruta de 35.199.192.0/19 admite la conectividad con o destinos de reenvío privados que usan enrutamiento privado. Para ver más consulta Rutas de VPC.

Consola de Google Cloud

Cuando usas la consola de Google Cloud, después de seleccionar IP interna como tipo de recurso para una verificación de tiempo de actividad, se te solicitará que configures el reglas de firewall.

gcloud CLI

Para crear una regla de firewall que permita el tráfico de TCP entrante a través del firewall para el acceso a redes privadas, ejecuta el siguiente comando:

  1. Configura gcloud CLI para que use de forma predeterminada el proyecto de Google Cloud en la que se debe crear la verificación de tiempo de actividad:

    gcloud config set project PROJECT_ID
    
  2. Crea variables de entorno para almacenar el ID y el número del proyecto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Crea la regla de red:

    gcloud compute firewall-rules create PRIVATE_CHECK_NETWORK_HOPE_RULE \
    --network="PRIVATE_CHECK_NETWORK"  \
    --action=allow   --direction=ingress   --source-ranges="35.199.192.0/19" \
    --rules=tcp   --project="$PROJECT_ID"
    

    En el comando anterior, PRIVATE_CHECK_NETWORK es la red a la que se aplica esta regla. adjunta, mientras que PRIVATE_CHECK_NETWORK_HOPE_RULE es el nombre de la regla de firewall.

Para obtener más información sobre este paso, consulta Configura el proyecto de red.

Limitaciones

Cuando se usan verificaciones de tiempo de actividad privadas, se inhabilita la validación de los certificados SSL sin importar la configuración.

Las verificaciones de tiempo de actividad privadas no admiten extremos que tengan redireccionamientos.

Soluciona problemas

En esta sección, se describen algunos errores que pueden surgir al usar de tiempo de actividad privadas y brinda información para resolverlos.

Falla la creación de las verificaciones de tiempo de actividad

Es posible que la configuración de tu proyecto de Google Cloud impida que se modifiquen los roles asignados. a la cuenta de servicio que usan las verificaciones de tiempo de actividad administrar interacciones con el servicio del Directorio de servicios. En esta situación, la creación de la verificación de tiempo de actividad falla.

En esta sección, se describe cómo otorgar los roles que la cuenta de servicio requiere lo siguiente:

Consola de Google Cloud

Cuando usas la consola de Google Cloud para crear la verificación de tiempo de actividad privada, la consola de Google Cloud emite los comandos para que se del Directorio de servicios a la cuenta de servicio.

Para obtener información sobre cómo otorgar roles a una cuenta de servicio, consulta Autoriza la cuenta de servicio.

API: Proyecto de permisos

La primera vez que crees una verificación de tiempo de actividad privada para una Servicio y recursos privados del Directorio de servicios en un solo proyecto de Google Cloud, la solicitud podría completarse con éxito o fallar. El resultado depende de si Inhabilitamos las asignaciones de roles automáticas para cuentas de servicio. en tu proyecto:

  • La creación de la primera verificación de tiempo de actividad se realiza correctamente si tu proyecto lo permite otorgamientos de roles automáticos para cuentas de servicio. Una cuenta de servicio es creado automáticamente y que se le otorguen los roles necesarios.

  • La creación de la primera verificación de tiempo de actividad falla si tu proyecto no permite otorgamientos de roles automáticos para cuentas de servicio. Una cuenta de servicio es crear, pero no se otorgan roles.

Si la creación de la verificación de tiempo de actividad falla, haz lo siguiente:

  1. Autoriza la cuenta de servicio.
  2. Espera unos minutos para que se propaguen los permisos.
  3. Vuelve a crear la verificación de tiempo de actividad privada.

API: Proyecto supervisado

La primera vez que crees una verificación de tiempo de actividad privada que se dirija a un de Directorio de servicios en un proyecto supervisado o recursos privados en diferentes proyectos de Google Cloud, la solicitud falla y da como resultado la creación de una Cuenta de servicio de Monitoring.

La forma en que autorizas la cuenta de servicio depende de la cantidad de Los proyectos de Google Cloud que usas y sus relaciones. Puedes tener hasta cuatro proyectos involucrados:

  • El proyecto en el que definiste la verificación de tiempo de actividad privada.
  • El proyecto supervisado en el que configuraste el Directorio de servicios.
  • El proyecto en el que configuraste la red de VPC.
  • El proyecto en el que se encuentran los recursos de red, como VMs o balanceadores de cargas configurado. Este proyecto no tiene ningún rol en la autorización de la cuenta de servicio que se analizan aquí.

Cuando falle la creación de la primera verificación de tiempo de actividad, haz lo siguiente:

  1. Autoriza la cuenta de servicio.
  2. Espera unos minutos para que se propaguen los permisos.
  3. Vuelve a crear la verificación de tiempo de actividad privada.

Acceso denegado

Tus verificaciones de tiempo de actividad fallan y arrojan VPC_ACCESS_DENIED resultados. Este resultado significa que algún aspecto de la configuración de red o la autorización no es correcta.

Verifica la autorización de tu cuenta de servicio para usar un alcance. proyecto o un proyecto supervisado, como se describe en La creación de las verificaciones de tiempo de actividad falla.

Para obtener más información sobre el acceso a redes privadas, consulta Configura el proyecto de red.

Resultados anómalos de las verificaciones de tiempo de actividad privadas

Tienes un servicio del Directorio de servicios con varias VMs y tu configuración del servicio contiene varios extremos. Cuando apagas una de las VMs, tu verificación de tiempo de actividad sigue indicando que la operación fue exitosa.

Cuando tu configuración del servicio contiene múltiples extremos, uno se elige al azar. Si la VM asociada al extremo elegido está en ejecución, La verificación de tiempo de actividad se realiza con éxito aunque una de las VMs esté inactiva.

Encabezados predeterminados

Tus verificaciones de tiempo de actividad muestran errores o resultados inesperados. Esto podría si anulaste los valores de encabezado predeterminados.

Cuando se envía una solicitud para una verificación de tiempo de actividad privada a un extremo de destino, la solicitud incluye los siguientes encabezados y valores:

Encabezado Valor
HTTP_USER_AGENT GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)
HTTP_CONNECTION keep-alive
HTTP_HOST IP del extremo del Directorio de servicios
HTTP_ACCEPT_ENCODING gzip, deflate, br
CONTENT_LENGTH Se calcula a partir de los datos posteriores al tiempo de actividad

Si intentas anular estos valores, puede ocurrir lo siguiente:

  • La verificación de tiempo de actividad informa errores
  • Los valores de anulación se descartan y se reemplazan por los valores de la tabla

No hay datos visibles

No ves ningún dato en el panel de verificación de tiempo de actividad cuando la verificación de tiempo de actividad se encuentra en un proyecto de Google Cloud diferente Directorio de servicios.

Asegúrate de que el proyecto de Google Cloud que contiene la verificación de tiempo de actividad supervisa el proyecto de Google Cloud que contiene Directorio de servicios.

Obtén más información para enumerar los proyectos supervisados y agregar unas, verás Configura un permiso de métricas para varios proyectos.

¿Qué sigue?