Si usas grupos de instancias administrados (MIG), lee este documento para obtener información sobre cómo crear, configurar y borrar el escalador automático de tu MIG.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Escalamiento según el uso de CPU
- Escalamiento según la capacidad de entrega del balanceo de cargas
- Escalamiento basado en las métricas de Cloud Monitoring
- Escalamiento según los programas
- En la consola de Google Cloud, ve a la página Grupos de instancias.
- Haz clic en el nombre de un MIG de la lista para abrir la página de descripción general de ese grupo.
- Haz clic en Detalles para ver los detalles del grupo, incluida su configuración de ajuste de escala automático.
- En la consola de Google Cloud, ve a la página Grupos de instancias.
- Haz clic en el nombre de un MIG de la lista para abrir la página de descripción general de ese grupo.
- Haz clic en Editar para ver y actualizar la configuración actual del grupo, incluida la configuración del ajuste de escala automático.
- Haz clic en Guardar cuando termines.
- Tu aplicación tarda mucho tiempo en inicializarse, por ejemplo, si configuras un período de inicialización de más de 2 minutos.
- Tu carga de trabajo varía de manera predecible con ciclos diarios o semanales.
- Investigar las instancias de VM sin interferencias de una reducción de escalamiento.
- Volver a configurar varias propiedades de tu MIG sin que se activen acciones de escalamiento antes de que la nueva configuración esté completa
- Mantener la capacidad del MIG para una reversión rápida mientras se redirecciona una carga de trabajo a un MIG nuevo
- Habilita el ajuste de escala automático predictivo
más adelante. El ajuste de escala automático predictivo requiere una política de ajuste de escala automático para comenzar
a recopilar el historial de cargas en el que se basarán las predicciones. El escalador automático detecta
este historial incluso cuando su modo se configura como
OFF
. - Desactivado: inhabilita de forma temporal el ajuste de escala automático. Usa este modo para evitar cambios automáticos en el tamaño del MIG. La configuración del ajuste de escala automático permanece intacta para que puedas volver a habilitarla más adelante.
- Solo escalar de forma horizontal: restringe el ajuste de escala automático para que solo se agreguen instancias de VM nuevas. Usa este modo para evitar que el grupo se achique y permitir que aprovisione VM adicionales cuando aumente la carga.
- Activado: habilita todas las operaciones de ajuste de escala automático según su política.
- En la consola de Google Cloud, ve a la página Grupos de instancias.
- Haz clic en el nombre de un MIG de la lista para abrir la página de descripción general de ese grupo.
- Haz clic en Editar para ver la configuración actual del grupo, incluida la del ajuste de escala automático.
- En Ajuste de escala automático, configura el Modo de ajuste de escala automático para inhabilitar o restringir el ajuste de escala automático para el grupo o volver a activar el escalador automático.
- Haz clic en Guardar cuando termines.
MODE
:off
para inhabilitar el escalador automático, pero mantener su configuraciónonly-scale-out
para restringir el escalador automático para que solo se agreguen instancias de VMon
para volver a habilitar todas las actividades del escalador automático de acuerdo con su política
MODE
:OFF
para inhabilitar el escalador automático, pero mantener su configuraciónONLY_SCALE_OUT
para restringir el escalador automático para que solo se agreguen instanciasON
para volver a habilitar todas las actividades del escalador automático de acuerdo con su política
- El escalador automático no disminuye el valor
targetSize
del MIG, sin importar las disminuciones en la carga o los cambios en la configuración del escalador automático. - Si cambias el tamaño de destino de un MIG zonal de forma manual, el escalador automático anula el tamaño proporcionado de forma manual si es menor que el tamaño recomendado del escalador automático.
- No puedes cambiar el tamaño de destino de un MIG regional de forma manual.
- Si estableces el campo
autoscalingPolicy.maxNumReplicas
en un valor inferior al valortargetSize
actual del grupo mientras el modo del escalador automático está configurado enONLY_SCALE_OUT
, el escalador automático no reduce la cantidad de instancias en el grupo. Como suele suceder, el escalador automático vuelve a calcular de forma continua el tamaño recomendado del grupo y podría disminuir el tamaño recomendado para cumplir con el nuevo máximo, pero en el grupo no se reduce la escala. - El campo
autoscalers.status
informa una advertencia: “El ajuste de escala automático funciona en modo restringido: ONLY_SCALE_OUT”. - El escalador automático no cambia el valor
targetSize
del MIG en respuesta a los cambios en la carga o en la configuración del escalador automático. Como suele suceder, el escalador automático vuelve a calcular de forma continua el tamaño recomendado del grupo y podría disminuir ese tamaño para cumplir con el nuevo máximo, pero no se reduce la escala del grupo. - Puedes cambiar de forma manual el tamaño de destino de un MIG zonal o regional. Los
valores
minNumReplicas
ymaxNumReplicas
de la política de ajuste de escala automático no afectan el tamaño que estableciste. - Si desactivas el ajuste de escala automático para un MIG regional en el que está habilitada la redistribución proactiva de instancias, y si el MIG tiene una distribución desigual de instancias entre zonas, entonces el grupo borra o crea instancias en sus zonas de forma proactiva para restablecer una distribución uniforme.
- El campo
autoscalers.status
informa una advertencia: “El ajuste de escala automático funciona en modo restringido: OFF”. En la consola de Google Cloud, ve a la página Grupos de instancias.
Haz clic en el nombre de un MIG con ajuste de escala automático desde la lista para abrir la página de descripción general de ese grupo.
Haz clic en Editar para ver la configuración actual del grupo, incluida la del ajuste de escala automático.
En Ajuste de escala automático, haz clic en Controles de reducción de escala y, luego, selecciona Habilitar controles de escalamiento.
En No escalar en más de, especifica la cantidad máxima o el porcentaje de instancias que se pueden quitar del grupo a la vez.
En Durante, especifica con qué frecuencia se pueden quitar instancias del grupo.
Haz clic en Guardar.
INSTANCE_GROUP_NAME
: Es el nombre del MIG que se actualizará.MAX_SCALE_IN_REPLICAS
: Es la cantidad máxima de VM que se pueden restar del tamaño máximo, que se toma del período anterior especificado. La cantidad de instancias de VM que especifiques podrá retirarse del grupo en una sola acción de escalamiento, por lo que es importante que tu servicio pueda funcionar de forma correcta incluso si pierde todas estas VM de una vez. Puedes especificar una cantidad de VM o un porcentaje. Usa el signo%
para los porcentajes, por ejemplo:50%
.TIME_WINDOW
: Es el margen de tiempo anterior que se tomará en cuenta para determinar el tamaño máximo. El ajuste de escala automático no puede reducir la cantidad de réplicas más allá de la cantidad máxima permitida en el tamaño máximo detectado durante este margen de tiempo anterior. Especifica este valor en segundos dentro de un intervalo de [60, 3600].- Toma el tamaño máximo de los últimos 30 minutos (por ejemplo, 100 VM).
- Toma
max-scaled-in-replicas
(por ejemplo, 10 VM). - Establece el límite inferior del tamaño recomendado en: tamaño máximo menos
max-scaled-in-replicas
(100 - 10 = 90 VMs). - Escalamiento según la capacidad de procesamiento de CPU o balanceo de cargas
- Escalamiento basado en las métricas de Cloud Monitoring.
AUTOSCALER_NAME
: Es el nombre del escalador automático que se creará. Puedes asignarle el nombre del MIG que lo usará, o bien puedes asignarle otro nombre.INSTANCE_GROUP_NAME
: Es el nombre del MIG al que se agregará el escalador automático. Si es un MIG regional, reemplazazones/ZONE
porregions/REGION
.MAX_SCALE_IN_REPLICAS
: Es la cantidad máxima de VM que se pueden restar del objetivo de tamaño máximo recomendado, que se toma del margen de tiempo anterior especificado. La cantidad de instancias de VM que especifiques podrá retirarse del grupo en una sola acción de escalamiento, por lo que es importante que tu servicio pueda funcionar de forma correcta incluso si pierde todas estas VM de una vez. Puedes especificar una cantidad de VM o un porcentaje. UsamaxScaledInReplicas.percentage
para especificar un valor porcentual.TIME_WINDOW
: Es el margen de tiempo anterior del que se toma el tamaño máximo recomendado. El ajuste de escala automático no puede reducir la cantidad de réplicas más allá de la cantidad máxima permitida en el tamaño máximo recomendado que se detectó durante este margen de tiempo anterior. Especifica este valor en segundos dentro de un intervalo de [60, 3600]; por ejemplo:1800
.- Toma el tamaño máximo de los últimos 30 minutos (por ejemplo, 100 VM).
- Toma
max-scaled-in-replicas
(por ejemplo, 10 VM). - Establece el límite inferior del tamaño recomendado en: tamaño máximo menos
max-scaled-in-replicas
(100 - 10 = 90 VMs). En la consola de Google Cloud, ve a la página Grupos de instancias.
Haz clic en el nombre de un MIG con ajuste de escala automático desde la lista para abrir la página de descripción general de ese grupo.
Haz clic en Editar para ver la configuración actual del grupo, incluida la del ajuste de escala automático.
En Ajuste de escala automático, haz clic en Controles de reducción de escala y, luego, desmarca la casilla de verificación Habilitar controles de escalamiento.
Haz clic en Guardar.
AUTOSCALER_NAME
: Es el nombre del escalador automático que se actualizará. Para obtener una lista de los escaladores automáticos existentes y sus MIG objetivo, usa el métodoautoscalers.aggregatedList
.En la consola de Google Cloud, ve a la página Grupos de instancias.
Haz clic en el nombre de un MIG de la lista para abrir la página de descripción general de ese grupo.
Haz clic en Editar para ver la configuración actual del grupo, incluida la del ajuste de escala automático.
En Ajuste de escala automático, en la lista desplegable Modo de ajuste de escala automático selecciona Borrar configuración del ajuste de escala automático para detener el escalador automático y borrar su configuración.
Haz clic en Guardar cuando termines.
- Descubre cómo los escaladores automáticos toman decisiones.
- Obtén información sobre cómo usar varios indicadores de ajuste de escala automático para escalar tu grupo.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Crea un escalador automático
La creación de un escalador automático es algo diferente según la política de ajuste de escala automático que desees usar. Para obtener instrucciones para crear un escalador automático, consulta estas secciones:
Obtén información sobre un escalador automático
Para obtener más información sobre un escalador automático en particular, usa la consola, el
gcloud compute instance-groups managed describe
subcomando o elget
para un recurso de REST zonal o regional del escalador automático.Console
gcloud
Usa el comando
instance-groups managed describe
:gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME
Si se conecta un escalador automático al grupo, el comando muestra detalles sobre este:
... autoscaler: autoscalingPolicy: coolDownPeriodSec: 60 cpuUtilization: utilizationTarget: 0.6 maxNumReplicas: 20 minNumReplicas: 10 mode: ON scaleInControl: timeWindowSec: 300 maxScaledInReplicas: fixed: 3 calculated: 3 ...
REST
Usa el método
instanceGroupManagers.get
. Si es un MIG regional, reemplazazones/ZONE
porregions/REGION
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
Si se conecta un escalador automático al grupo, la solicitud muestra un vínculo al recurso correspondiente.
200 OK { ... "status": { ... "autoscaler": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group" }, }
Para recuperar detalles sobre el recurso de escalador automático, usa el método
autoscalers.get
para un MIG zonal o el métodoregionAutoscalers.get
para un MIG regional.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/example-autoscaler
200 OK { "kind": "compute#autoscaler", "id": "8744945839459481093", "creationTimestamp": "2018-09-28T13:02:50.553-07:00", "name": "example-group", "target": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/instanceGroupManagers/example-group", "autoscalingPolicy": { "minNumReplicas": 10, "maxNumReplicas": 20, "mode": "ON", "scaleInControl": { "timeWindowSec": 60, "maxScaledInReplicas": { "calculated": 3, "percent": 15 } }, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.6 } }, "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c", "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group", "status": "ACTIVE" }
Actualiza un escalador automático
Cuando actualizas un escalador automático, los cambios pueden tardar un tiempo en propagarse y pueden pasar un par de minutos antes de que se refleje la configuración nueva del escalador automático.
Console
gcloud
Usa el comando
update-autoscaling
gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --max-num-replicas MAX_NUM ...
Para obtener instrucciones para crear un escalador automático, consulta Crea un escalador automático.
REST
Para actualizar un recurso de escalador automático, usa el método
autoscalers.patch
para un MIG zonal oregionAutoscalers.patch
para un MIG regional. . Proporciona un cuerpo de solicitud que contenga la configuración nueva.PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler { "autoscalingPolicy": { "maxNumReplicas": 20 } }
200 OK { "kind": "compute#operation", "id": "4244494732310423322", "name": "operation-1556912627871-58800f8216ed7-74ab1720-7d360603", "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f", "operationType": "compute.autoscalers.patch", "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler", "targetId": "340775527929467142", "status": "RUNNING", ... }
Cuando realizas alguna solicitud que modifica datos, se muestra un recurso zoneOperations o regionOperations y puedes consultar la operación para comprobar el estado del cambio.
Usa el ajuste de escala automático predictivo
El ajuste de escala automático predictivo usa datos históricos para escalar de forma horizontal tu grupo antes de la carga prevista. Funciona mejor si tu carga de trabajo cumple con los siguientes criterios:
Para obtener más información, consulta cómo escalar en función de las predicciones.
Desactiva o restringe un escalador automático
Desactiva un escalador automático para evitar de forma temporal que se escale tu MIG o restríngelo para que solo pueda escalarlo de forma horizontal. Esta característica resulta útil cuando se quieren realizar las siguientes acciones:
Si vuelves a habilitar el escalador automático, vuelve automáticamente a su funcionamiento normal.
Usa las instrucciones proporcionadas en esta sección para configurar el modo del escalador automático. Los siguientes modos están disponibles:
Console
gcloud
Para inhabilitar, restringir o volver a habilitar un escalador automático, usa el comando
update-autoscaling
con la marca--mode
.gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --mode MODE
Reemplaza lo siguiente:
REST
Para actualizar el modo de un recurso de escalador automático, usa el método
autoscalers.patch
para un MIG zonal o el métodoregionAutoscalers.patch
para un MIG regional. Proporciona un cuerpo de solicitud que incluya la propiedadautoscalingPolicy.mode
.PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1-f/autoscalers?autoscaler=my-autoscaler { "autoscalingPolicy": { "mode":"MODE" } }
Reemplaza lo siguiente:
Cuando configuras el modo de ajuste de escala automático en
ONLY_SCALE_OUT
, el escalador automático se comporta de la siguiente manera:Cuando configuras el modo de escalador automático en
OFF
, el escalador automático se comporta de la siguiente manera:Controla la tasa de reducción de escalamiento de un escalador automático
Si tus cargas de trabajo tardan mucho en inicializarse, configura los controles de reducción de escalamiento para reducir el riesgo de latencia en la respuesta o interrupciones debido a eventos de reducción de escalamiento abruptos. En específico, si suele ser previsible que haya un aumento repentino de la carga poco después de una disminución, puedes limitar la tasa de reducción de escalamiento. Limitar la tasa de escalamiento evita que el escalador automático reduzca el tamaño del MIG en más instancias de VM de lo que puede tolerar tu carga de trabajo.
Configura los controles de reducción de escalamiento
La configuración de los controles de reducción de escalamiento es opcional. De forma predeterminada, los controles de reducción de escalamiento no están configurados. Aun así, el escalador automático utiliza un mecanismo de estabilización predeterminado incluso si no configuras estos controles. Es decir, mantiene el tamaño recomendado en el nivel necesario para manejar la carga máxima observada durante el período de estabilización.
Console
Para configurar los controles de reducción de escalamiento para un MIG con ajuste de escala automático, haz lo siguiente:
gcloud
Puedes configurar controles de reducción de escalamiento durante la creación o actualización de un escalador automático.
Configura controles de reducción de escalamiento durante la creación de un escalador automático
Para configurar los controles de reducción de escalamiento durante la creación de un escalador automático para un MIG, usa la marca
--scale-in-control
con el comandogcloud compute instance-groups managed set-autoscaling
. Por ejemplo, usa el siguiente comando para configurar el ajuste de escala automático para unexample-group
:gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \ --target-cpu-utilization 0.6 \ --max-num-replicas 50 \ --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW
Configura controles de reducción de escalamiento durante la actualización de un escalador automático
Para actualizar los controles de reducción de escalamiento del escalador automático existente de un MIG, usa la marca
--scale-in-control
con el comandogcloud compute instance-groups managed update-autoscaling
. Por ejemplo, usa el siguiente comando para establecer controles de reducción de escalamiento en una configuración de ajuste de escala automático existente paraexample-group
:gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW
Reemplaza lo siguiente:
Por ejemplo, supongamos que estableciste el período en 1,800 segundos (30 minutos). Cuando se calcula el tamaño recomendado actual para el MIG, el escalador automático usa la siguiente lógica:
REST
Para establecer controles de reducción de escalamiento, debes configurar los campos
maxScaledInReplicas
ytimeWindowSec
dentro de la estructuraautoscalingPolicy.scaleInControl
en un recurso de escalador automático zonal o regional. Estos campos no tienen valores predeterminados, así que deberás proporcionar el valor que te parezca adecuado para cada uno.Puedes configurar controles de reducción de escalamiento durante la creación o actualización de un escalador automático.
Configura controles de reducción de escalamiento durante la creación de un escalador automático
Para un MIG zonal, usa el método
autoscalers.insert
. Para un MIG regional, usa el métodoregionAutoscalers.insert
.POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers { "name": "AUTOSCALER_NAME", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME", "autoscalingPolicy": { "minNumReplicas": 1, "maxNumReplicas": 5, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.8 }, "scaleInControl": { "maxScaledInReplicas": { "fixed": MAX_SCALE_IN_REPLICAS }, "timeWindowSec": TIME_WINDOW } } }
Para obtener más información para crear un escalador automático, consulta los siguientes artículos:
Configura controles de reducción de escalamiento durante la actualización de un escalador automático
Para un MIG zonal, usa el método
autoscalers.patch
. Para un MIG regional, usa el métodoregionAutoscalers.patch
.PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "minNumReplicas": 1, "maxNumReplicas": 5, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.8 }, "scaleInControl": { "maxScaledInReplicas": { "fixed": MAX_SCALE_IN_REPLICAS }, "timeWindowSec": TIME_WINDOW } } }
Reemplaza lo siguiente:
Por ejemplo, supongamos que estableciste el período en 1,800 segundos (30 minutos). Cuando se calcula el tamaño recomendado actual para el MIG, el escalador automático usa la siguiente lógica:
Para obtener más información sobre el funcionamiento de los controles de reducción de escala, consulta la Información sobre las decisiones de los escaladores automáticos.
Obtén la configuración actual de los controles de reducción de escala
Para obtener la configuración actual de los controles de reducción de escala, consulta Obtén información sobre un escalador automático.
Quita los controles de reducción de escala
Puedes quitar los controles de reducción de escalamiento para eliminar las restricciones sobre el tiempo y la magnitud de las operaciones de reducción de escalamiento con Google Cloud CLI o la API de Compute Engine.
Recuerda que, incluso si no hay controles de reducción de escalamiento, el escalador automático utiliza un mecanismo de estabilización predeterminado. En específico, mantiene el tamaño recomendado en el nivel necesario para manejar la carga máxima observada durante el período de estabilización.
Console
Para quitar los controles de reducción de escalamiento para un MIG con ajuste de escala automático, haz lo siguiente:
gcloud
Quita los controles de reducción de escala con la marca
--clear-scale-in-control
con el comandogcloud compute instance-groups managed update-autoscaling
. Por ejemplo, usa el siguiente comando para quitar los controles de reducción de escalamiento de la configuración del ajuste de escala automático deexample-group
:gcloud compute instance-groups managed update-autoscaling example-group \ --clear-scale-in-control
REST
Para quitar los controles de reducción de escalamiento, usa el método
autoscalers.patch
para un MIG zonal o el métodoregionAutoscalers.patch
para un MIG regional y proporciona una configuración vacía para los controles de reducción de escala.PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scaleInControl": null } }
Reemplaza lo siguiente:
Borra un escalador automático
Puedes borrar de forma permanente el recurso de escalador automático y su historial. Si quieres detener de forma temporal el ajuste de escala automático sin deshacerte del recurso de escalador automático y su configuración, puedes inhabilitarlo.
Console
gcloud
Usa el comando
stop-autoscaling
para detener un escalador automático y borrar su configuración.gcloud compute instance-groups managed stop-autoscaling INSTANCE_GROUP_NAME
Cuando detienes un escalador automático, este se borra del MIG. Si deseas reiniciar el escalador automático, debes volver a crearlo con el comando
set-autoscaling
.Si borras un MIG con gcloud CLI, también se borran los escaladores automáticos asociados al MIG.
REST
Para detener un escalador automático y borrar su configuración, usa el método
autoscalers.delete
para un MIG zonal o el métodoregionAutoscalers.delete
para un MIG regional.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/AUTOSCALER_NAME
Comentarios
Queremos conocer tus casos de uso, desafíos y comentarios sobre el ajuste de escala automático. Comparte tus comentarios con nuestro equipo en mig-discuss@google.com.
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-