Configura el estado de salud compuesto para la conmutación por error automática entre regiones

En esta página, se describe cómo los productores de servicios pueden configurar Composite Health para admitir la conmutación por error automática entre regiones para los servicios publicados.

Antes de comenzar

Roles obligatorios

Para obtener los permisos que necesitas para configurar Composite Health, pídele a tu administrador que te otorgue el rol de IAM de Administrador de red de Compute (roles/compute.networkAdmin) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para configurar Composite Health. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para configurar la función de Composite Health:

  • compute.regionHealthAggregationPolicies.list
  • compute.regionHealthAggregationPolicies.get
  • compute.regionHealthAggregationPolicies.create
  • compute.regionHealthAggregationPolicies.update
  • compute.regionHealthAggregationPolicies.delete
  • compute.regionHealthSources.list
  • compute.regionHealthSources.get
  • compute.regionHealthSources.create
  • compute.regionHealthSources.update
  • compute.regionHealthSources.delete
  • compute.regionCompositeHealthChecks.list
  • compute.regionCompositeHealthChecks.get
  • compute.regionCompositeHealthChecks.create
  • compute.regionCompositeHealthChecks.update
  • compute.regionCompositeHealthChecks.delete

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Configura el estado de salud compuesto para admitir la conmutación por error automática entre regiones

En las siguientes secciones, se describe cómo configurar Composite Health para la conmutación por error automática entre regiones.

Si bien Composite Health no requiere configuración por parte del consumidor del servicio, la función solo funciona si el consumidor configura backends de Private Service Connect compatibles en una implementación multirregional. Para obtener información sobre cómo un consumidor de servicios puede configurar su red de VPC para usar Composite Health, consulta Conmutación por error automática entre regiones.

Crea una política de agregación de estado

Crea al menos una política de agregación de estado en cada región en la que desees admitir la conmutación por error entre regiones.

Una política de agregación de estado es un recurso reutilizable que define los criterios para que un servicio de backend se considere en buen estado. Puedes aplicar la misma política a varios servicios de backend o crear políticas diferentes para los servicios que tienen diferentes requisitos de estado.

Console

  1. En la consola de Google Cloud , ve a la página Estado compuesto:

    Ir a Composite Health

  2. Haz clic en Políticas de agregación de estado.

  3. Haz clic en Crear política de agregación de estado.

  4. Ingresa un nombre para la política de agregación de estado.

  5. Ingresa una descripción de la política (opcional).

  6. Haz clic en Región y, luego, selecciona una región para la política de agregación de estado.

  7. Haz clic en Siguiente.

  8. En el cuadro Umbral de porcentaje de buen estado, ingresa el porcentaje mínimo de extremos en un servicio de backend que deben estar en buen estado para que la fuente de estado se considere en buen estado, por ejemplo, 75.

  9. En el cuadro Umbral mínimo de buen estado, ingresa la cantidad mínima de extremos en un servicio de backend que deben estar en buen estado para que la fuente de estado se considere en buen estado.

  10. Haz clic en Crear.

gcloud

Usa el comando gcloud compute health-aggregation-policies create

gcloud compute health-aggregation-policies create POLICY \
    --region=REGION \
    --healthy-percent-threshold=PERCENT_HEALTHY \
    --min-healthy-threshold=MINIMUM_HEALTHY

Reemplaza lo siguiente:

  • POLICY: el nombre de la política de agregación de estado
  • REGION: Es la región de la política de agregación de estado.
  • PERCENT_HEALTHY: Es el porcentaje mínimo de extremos en un servicio de backend que deben estar en buen estado para que la fuente de estado se considere en buen estado; por ejemplo, 75.

    El valor predeterminado es 60. Los extremos pueden ser VMs en un grupo de instancias o extremos de red en un grupo de extremos de red (NEG).

  • MINIMUM_HEALTHY: Es la cantidad mínima de extremos en un servicio de backend que deben estar en buen estado para que la fuente de estado se considere en buen estado.

    El valor predeterminado es 1.

API

Envía una solicitud al método regionHealthAggregationPolicies.insert.

Método HTTP y URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthAggregationPolicies

Cuerpo JSON de la solicitud:

{
  "name": "POLICY",
  "policyType": "BACKEND_SERVICE_POLICY",
  "healthyPercentThreshold": PERCENT_HEALTHY,
  "minHealthyThreshold": MINIMUM_HEALTHY
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de la política de agregación de datos de salud.
  • REGION: Es la región de la política de agregación de estado.
  • POLICY: Es el nombre de la política de agregación de estado.
  • PERCENT_HEALTHY: Es el porcentaje mínimo de extremos en un servicio de backend que deben estar en buen estado para que la fuente de estado se considere en buen estado; por ejemplo, 75.

    El valor predeterminado es 60. Los extremos pueden ser VMs en un grupo de instancias o extremos de red en un grupo de extremos de red (NEG).

  • MINIMUM_HEALTHY: Es la cantidad mínima de extremos en un servicio de backend que deben estar en buen estado para que la fuente de estado se considere en buen estado.

    El valor predeterminado es 1.

Crea una fuente de estado

Crea una fuente de estado para cada instancia regional de tu servicio publicado. Si una instancia de tu servicio publicado depende del estado de varios servicios de backend, crea una fuente de estado independiente para cada uno de esos servicios de backend.

Una fuente de estado es el recurso que vincula una política de agregación de estado a un servicio de backend específico. Una verificación de estado compuesta agrega los estados de una o más fuentes de estado para producir un estado compuesto final para tu servicio.

Console

  1. En la consola de Google Cloud , ve a la página Estado compuesto:

    Ir a Composite Health

  2. Haz clic en Fuentes de datos de salud.

  3. Haz clic en Crear fuente de datos de salud.

  4. Ingresa un nombre para la fuente de datos de salud.

  5. Opcional: Ingresa una descripción de la fuente de datos de salud.

  6. Haz clic en Región y, luego, selecciona una región para la fuente de datos de salud.

  7. Haz clic en Siguiente.

  8. Haz clic en Fuente y, luego, selecciona un servicio de backend para asociarlo con la fuente de verificación de estado.

  9. Haz clic en Siguiente.

  10. Haz clic en Política de agregación de estado y, luego, selecciona la política de agregación de estado que se aplicará a esta fuente de estado.

  11. Haz clic en Crear.

gcloud

Usa el comando gcloud compute health-sources create.

gcloud compute health-sources create HEALTH_SOURCE \
    --region=REGION \
    --source-type=BACKEND_SERVICE \
    --sources=BACKEND_SERVICE \
    --health-aggregation-policy=POLICY

Reemplaza lo siguiente:

  • HEALTH_SOURCE: el nombre de la fuente de datos de salud
  • REGION: Es la región de la fuente de datos de salud.

    La política de agregación de estado debe estar en la misma región que la fuente de estado.

  • BACKEND_SERVICE: Es el nombre de un solo servicio de backend para asociar con la fuente de estado.

    El servicio de backend debe cumplir con los siguientes requisitos:

    • Debe tener un esquema de balanceo de cargas de INTERNAL o INTERNAL_MANAGED.
    • Debe estar en la misma región que la fuente de datos de salud que creas.
    • Sus backends deben ser grupos de instancias o grupos de extremos de red de tipo GCE_VM_IP o GCE_VM_IP_PORT.
  • POLICY: Es el nombre de la política de agregación de estado que se aplicará a esta fuente de estado.

API

Envía una solicitud al método regionHealthSources.insert.

Método HTTP y URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources

Cuerpo JSON de la solicitud:

{
  "name": "HEALTH_SOURCE",
  "sourceType": "BACKEND_SERVICE",
  "sources": [
    "projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE"
  ],
  "healthAggregationPolicy": "projects/PROJECT_ID/regions/REGION/healthAggregationPolicies/POLICY"
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de la fuente de datos de salud.
  • REGION: Es la región de la fuente de estado.

    La política de agregación de estado debe estar en la misma región que la fuente de estado.

  • HEALTH_SOURCE: Es el nombre de la fuente de datos de salud.

  • BACKEND_SERVICE: Es el nombre de un solo servicio de backend para asociar con la fuente de estado.

    El servicio de backend debe cumplir con los siguientes requisitos:

    • Debe tener un esquema de balanceo de cargas de INTERNAL o INTERNAL_MANAGED.
    • Debe estar en la misma región que la fuente de datos de salud que creas.
    • Sus backends deben ser grupos de instancias o grupos de extremos de red de tipo GCE_VM_IP o GCE_VM_IP_PORT.
  • POLICY: Es el nombre de la política de agregación de estado que se aplicará a esta fuente de estado.

Crea una verificación de estado compuesta

Crea una verificación de estado compuesta para cada instancia regional de tu servicio publicado.

Una verificación de estado compuesta agrega los estados de sus fuentes de estado asociadas y crea un estado compuesto final. El estado final se aplica al servicio publicado regional asociado con la regla de reenvío que especificas como destino de estado.

Console

  1. En la consola de Google Cloud , ve a la página Estado compuesto:

    Ir a Composite Health

  2. Haz clic en Verificaciones de estado compuestas.

  3. Haz clic en Crear verificación de estado compuesta.

  4. Ingresa un nombre para la verificación de estado compuesta.

  5. Opcional: Ingresa una descripción de la verificación de estado compuesta.

  6. Haz clic en Región y, luego, selecciona una región para la verificación de estado compuesta.

  7. Haz clic en Siguiente.

  8. Haz clic en Fuente de estado y, luego, selecciona una fuente de estado para asociarla con la verificación de estado compuesta. Para agregar más fuentes de estado, haz clic en Agregar fuente de estado y, luego, selecciona otra fuente de estado.

  9. Haz clic en Siguiente.

  10. Haz clic en Tipo de balanceador de cargas y, luego, selecciona el tipo de balanceador de cargas que se usará como destino de la verificación de estado.

  11. Haz clic en Balanceador de cargas y, luego, selecciona el balanceador de cargas que se usará como destino de la verificación de estado.

  12. Si tu balanceador de cargas está asociado con varias reglas de reenvío, haz clic en Regla de reenvío y, luego, selecciona la regla de reenvío que deseas usar como destino de verificación de estado.

  13. Haz clic en Crear.

gcloud

Usa el comando gcloud compute composite-health-checks create.

gcloud compute composite-health-checks create COMPOSITE_HEALTH_CHECK \
    --region=REGION \
    --health-sources=HEALTH_SOURCES \
    --health-destination=HEALTH_DESTINATION

Reemplaza lo siguiente:

  • COMPOSITE_HEALTH_CHECK: el nombre de la verificación de estado compuesta
  • REGION: la región de la verificación de estado compuesta
  • HEALTH_SOURCES: Son los nombres de una o más fuentes de estado que se asociarán con la verificación de estado compuesta.

    Puedes incluir varias fuentes de salud en una lista separada por comas.

  • HEALTH_DESTINATION: Es el URI de la regla de reenvío que recibe el estado de salud compuesto de esta verificación de estado compuesta, por ejemplo, projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    La regla de reenvío debe estar asociada a un balanceador de cargas del productor que admita la verificación de estado compuesta y cumpla con los siguientes requisitos:

    • Debe tener un esquema de balanceo de cargas de INTERNAL o INTERNAL_MANAGED.
    • Debe estar en la misma región que la verificación de estado compuesta.

API

Envía una solicitud al método regionCompositeHealthChecks.insert.

Método HTTP y URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks

Cuerpo JSON de la solicitud:

{
  "name": "COMPOSITE_HEALTH_CHECK",
  "healthSources": [
    "projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE"
  ],
  "healthDestination": "HEALTH_DESTINATION"
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto para la verificación de estado compuesta.
  • REGION: Es la región de la verificación de estado compuesta.
  • COMPOSITE_HEALTH_CHECK: Es el nombre de la verificación de estado compuesta.
  • HEALTH_SOURCE: Es el nombre de una fuente de estado para asociar con la verificación de estado compuesta. Puedes incluir varias fuentes de salud en el array healthSources.

  • HEALTH_DESTINATION: Es el URI de la regla de reenvío que recibe el estado de salud compuesto de esta verificación de estado compuesta, por ejemplo, projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    La regla de reenvío debe estar asociada a un balanceador de cargas del productor que admita la verificación de estado compuesta y cumpla con los siguientes requisitos:

    • Debe tener un esquema de balanceo de cargas de INTERNAL o INTERNAL_MANAGED.
    • Debe estar en la misma región que la verificación de estado compuesta.

¿Qué sigue?