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
Obtén información sobre Composite Health.
En cada región en la que desees brindar asistencia, identifica o crea un servicio de destino que cumpla con los siguientes requisitos.
- Debe usar uno de los siguientes balanceadores de cargas internos:
- Debe usar uno de los siguientes tipos de backend:
- Un grupo de extremos de red (NEG) zonal con el tipo de extremo de red
GCE_VM_IPoGCE_VM_IP_PORT - Un grupo de instancias
- Un grupo de extremos de red (NEG) zonal con el tipo de extremo de red
Los pasos para crear tus servicios de destino dependen del balanceador de cargas y los tipos de backend que elijas. Para obtener información sobre cómo crear servicios de destino, consulta la documentación de tu balanceador de cargas.
Crea un adjunto de servicio para publicar cada servicio de destino.
Ten en cuenta que, para usar el estado de salud compuesto para la conmutación por error, los consumidores deben acceder a tus servicios con balanceadores de cargas que admitan la conmutación por error entre regiones.
Habilita la API de Compute Engine en tu proyecto.
Verifica que tengas los permisos necesarios para completar esta guía.
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
En la consola de Google Cloud , ve a la página Estado compuesto:
Haz clic en Políticas de agregación de estado.
Haz clic en Crear política de agregación de estado.
Ingresa un nombre para la política de agregación de estado.
Ingresa una descripción de la política (opcional).
Haz clic en Región y, luego, selecciona una región para la política de agregación de estado.
Haz clic en Siguiente.
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.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.
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 estadoREGION: 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
En la consola de Google Cloud , ve a la página Estado compuesto:
Haz clic en Fuentes de datos de salud.
Haz clic en Crear fuente de datos de salud.
Ingresa un nombre para la fuente de datos de salud.
Opcional: Ingresa una descripción de la fuente de datos de salud.
Haz clic en Región y, luego, selecciona una región para la fuente de datos de salud.
Haz clic en Siguiente.
Haz clic en Fuente y, luego, selecciona un servicio de backend para asociarlo con la fuente de verificación de estado.
Haz clic en Siguiente.
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.
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 saludREGION: 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
INTERNALoINTERNAL_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_IPoGCE_VM_IP_PORT.
- Debe tener un esquema de balanceo de cargas de
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
INTERNALoINTERNAL_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_IPoGCE_VM_IP_PORT.
- Debe tener un esquema de balanceo de cargas de
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
En la consola de Google Cloud , ve a la página Estado compuesto:
Haz clic en Verificaciones de estado compuestas.
Haz clic en Crear verificación de estado compuesta.
Ingresa un nombre para la verificación de estado compuesta.
Opcional: Ingresa una descripción de la verificación de estado compuesta.
Haz clic en Región y, luego, selecciona una región para la verificación de estado compuesta.
Haz clic en Siguiente.
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.
Haz clic en Siguiente.
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.
Haz clic en Balanceador de cargas y, luego, selecciona el balanceador de cargas que se usará como destino de la verificación de estado.
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.
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 compuestaREGION: la región de la verificación de estado compuestaHEALTH_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_RULELa 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
INTERNALoINTERNAL_MANAGED. - Debe estar en la misma región que la verificación de estado compuesta.
- Debe tener un esquema de balanceo de cargas de
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 arrayhealthSources.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_RULELa 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
INTERNALoINTERNAL_MANAGED. - Debe estar en la misma región que la verificación de estado compuesta.
- Debe tener un esquema de balanceo de cargas de
¿Qué sigue?
- Para supervisar tu servicio publicado con Composite Health, consulta Supervisa Composite Health.
- Para administrar la configuración de Composite Health, consulta Cómo ver, actualizar y borrar la configuración de Composite Health.