Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Escalado para clústeres de Memcached
ElastiCache for Memcached ofrece un servicio de almacenamiento en caché en memoria totalmente gestionado que implementa, opera y escala verticalmente Memcached en la nube. AWS
Escalado vertical bajo demanda
Gracias al escalado vertical, ElastiCache Memcached ofrece un sistema de almacenamiento en caché de memoria distribuida de alto rendimiento que se utiliza ampliamente para acelerar las aplicaciones dinámicas al aliviar la carga de las bases de datos. Almacena datos y objetos en la RAM, lo que reduce la necesidad de leer datos de fuentes de datos externas.
ElastiCache Para el escalado vertical, puede utilizar clústeres de diseño propio de Memcached. Puede aplicar el escalado vertical tanto a los clústeres existentes como a los nuevos. Esto puede proporcionar flexibilidad en la asignación de recursos, lo que permite a los usuarios adaptarse de manera eficiente a las cargas de trabajo cambiantes sin alterar la arquitectura del clúster. Esta capacidad de escalado mejora el rendimiento al aumentar la capacidad de caché durante los períodos de alta demanda y reducirla para optimizar los costos durante los períodos de baja demanda. Esto simplifica las operaciones, elimina la necesidad de crear nuevos clústeres para satisfacer las cambiantes necesidades de recursos y permite responder rápidamente a las fluctuaciones del tráfico. En general, el escalado vertical de las cachés de diseño propio de Memcached puede ayudar a aumentar la rentabilidad, mejorar la utilización de los recursos e incluso permitir a los usuarios cambiar el tipo de instancia de Memcached. Todo ello facilita a los usuarios alinear su infraestructura de almacenamiento en caché con las necesidades reales de las aplicaciones.
nota
Las modificaciones de diseño propio de la caché y del tipo de nodo solo están disponibles para las versiones 1.5 o posteriores del motor Memcached.
La detección automática debe estar habilitada para poder utilizar el escalado vertical.
Configurar el escalado vertical bajo demanda para los clústeres de ElastiCache Memcached
Puede configurar el escalado vertical bajo demanda para Memcached conscale-config
, que contiene dos parámetros:
ScaleIntervalMinutes: Tiempo (en minutos) entre el escalado de los lotes durante el proceso de actualización de Memcached
ScalePercentage: Porcentaje de nodos que se escalarán simultáneamente durante el proceso de actualización de Memcached
Convertir un tipo de nodo de Memcached existente en una caché que pueda escalarse verticalmente mediante la CLI
Para convertir una caché de diseño propio de Memcached existente en una caché que pueda escalarse verticalmente, puede utilizarla mediante elasticache modify-cache-cluster
la CLI.
aws elasticache modify-cache-cluster \ --cache-cluster-id <your-cluster-id> \ --cache-node-type <new-node-type> \ --scale-config <scale-config> \ --apply-immediately
Configuración del escalado vertical con la CLI
Para configurar el escalado vertical de su caché de diseño propio de Memcached mediante la CLI, utilice elasticache modify-cache-cluster
with scale-config
y sus parámetros y. ScalePercentage
ScaleIntervalMinutes
scale-interval-minutes: Define el tiempo (en minutos) entre el escalado de los lotes. Este ajuste puede oscilar entre 2 y 30 minutos. Si no se especifica ningún valor, se aplica el valor predeterminado de 5 minutos.
porcentaje de escala: especifica el porcentaje de nodos que se escalarán simultáneamente en cada lote. Esta configuración puede oscilar entre 10 y 100. La configuración se redondea al alza al dividir, por lo que, por ejemplo, si el resultado es 49,5, se aplica una configuración de 50. Si no se especifica ningún valor, se aplica el valor predeterminado de 20.
Estas opciones de configuración le permitirán ajustar el proceso de escalado de acuerdo con sus necesidades específicas, equilibrando entre minimizar las interrupciones del clúster y optimizar la velocidad de escalado. El parámetro scale-config solo se aplicará a los tipos de motores de Memcached y se omitirá en el caso de otros motores de caché, lo que garantizará la compatibilidad con versiones anteriores del uso de las API en otros clústeres.
Llamada a la API
aws elasticache modify-cache-cluster \ --cache-cluster-id <your-cluster-id> \ --cache-node-type <new-node-type> \ --scale-config '{ "ScalePercentage": 30, "ScaleIntervalMinutes": 2 }' --apply-immediately
Resultado:
Devuelve el ID del clúster de caché y el cambio pendiente.
{ "CacheCluster": { "CacheNodeType": "old_insance_type", ... ... "PendingModifiedValues": { "CacheNodeType": "new_instance_type" }, } }
Enumere su configuración de escalado vertical de la caché de Memcached
Puede recuperar las opciones de escalado de sus cachés de Memcached y ver cuáles son sus opciones actuales de escalado vertical.
Llamada a la API
aws elasticache list-allowed-node-type-modifications --cache-cluster-id <your-cluster-id>
Resultado:
{ "ScaleUpModifications": [ "cache.x.xxxx", "cache.x.xxxx" ], "ScaleDownModifications": [ "cache.x.xxxx", "cache.x.xxxx", "cache.x.xxxx" ] }
Escalado vertical para Memcached con AWS Management Console
Para convertir una caché de diseño propio de Memcached existente en una caché que pueda escalarse verticalmente a través de ella, siga estos pasos. https://console.aws.amazon.com/elasticache/
Inicie sesión en AWS Management Console y abra la consola en ElastiCache . https://console.aws.amazon.com/elasticache/
Seleccione la memoria caché de Memcached que desee convertir.
Seleccione la pestaña Modificar.
Ve a la sección de configuración de caché y selecciona el tipo de nodo deseado.
Seleccione Vista previa de los cambios y revise los cambios.
Seleccione Modify.
Escalado horizontal automatizado para Memcached
ElastiCache ahora se integra con el servicio AWS Application Auto Scaling (AAS) para incluir el escalado horizontal automatizado para los clústeres de Memcached. Puede definir políticas de escalado a través del servicio AWS Application Auto Scaling y ajustar automáticamente la cantidad de nodos en los clústeres de Memcached según sea necesario, en función de métricas o planificaciones predefinidas.
nota
El escalado horizontal automatizado no está disponible actualmente en las regiones de Beijing y Ningxia.
Estos son los métodos disponibles para escalar automáticamente de forma horizontal las cachés de diseño propio.
Escalado programado: el escalado basado en un cronograma le permite establecer su propio cronograma de escalado para cambios de carga predecibles. Por ejemplo, cada semana el tráfico de su aplicación web empieza a aumentar los miércoles, sigue siendo alto el jueves y comienza a disminuir el viernes. Puede configurar Auto Scaling para aumentar la capacidad el miércoles y reducirla el viernes.
Seguimiento de objetivos: con las políticas de escalado del seguimiento de objetivos, usted elige una métrica de escalado y establece un valor objetivo. Application Auto Scaling crea y administra las CloudWatch alarmas que activan la política de escalado y calcula el ajuste de escalado en función de la métrica y el valor objetivo. La política de escalado amplía o reduce la capacidad en función de las necesidades para mantener la métrica en el valor objetivo especificado o en un valor próximo.
Cómo configurar el escalado horizontal para una caché de diseño propio ElastiCache para Memcached mediante la CLI
Para el escalado horizontal con ElastiCache Memcached, puede tener una política de seguimiento de objetivos, una política programada o ambas.
Registre un recurso como objetivo escalable
Llame a la
RegisterScalableTarget
API en AWS Application Auto Scaling para registrar el objetivo de la dimensión escalableelasticache:cache-cluster:Nodes
.API: ApplicationAutoScaling. RegisterScalableTarget
Input:
{ "ScalableDimension": "elasticache:cache-cluster:Nodes", "ResourceId": "cache-cluster/test-cluster-1", "ServiceNamespace": "elasticache", "MinCapacity": 20, "MaxCapacity": 50 }
Cree una política de escalado de seguimiento de Target
A continuación, puede crear una política de escalado de seguimiento de Target para el recurso llamando a la API put Scaling Policy.
Métrica predefinida
A continuación se presenta una política que se adapta a la dimensión del nodo de caché mediante la métrica predefinida
ElastiCacheCPUUtilization
, establecida en 50 para el clúster de caché test-cluster-1. Al eliminar nodos para escalarlos, se eliminarán los últimos n nodos.API:. ApplicationAutoScaling PutScalingPolicy
Input:
{ "PolicyName": "cpu50-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 50, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCacheCPUUtilization" }, "ScaleOutCooldown": 600, "ScaleInCooldown": 600 }, "ServiceNamespace": "elasticache", "ScalableDimension": "elasticache:cache-cluster:Nodes", "ResourceId": "cache-cluster/test-cluster-1" }
Salida:
{ "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/elasticache/cache-cluster/test-cluster-1:policyName/cpu50-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ] }
Métrica personalizada
También puedes establecer una política de escalado en función de la dimensión mediante un porcentaje personalizado que se base en la métrica de Cloudwatch.
Input:
{ "PolicyName": "cpu50-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "CustomizedMetricSpecification": { "Dimensions": [ { "Name": "MyMetricDimension", "Value": "DimensionValue" } ], "MetricName": "MyCustomMetric", "Namespace": "MyNamespace", "Statistic": "Average", "Unit": "Percent" }, "TargetValue": 40, "ScaleOutCooldown": 600, "ScaleInCooldown": 600 }, "ServiceNamespace": "elasticache", "ScalableDimension": "elasticache:cache-cluster:Nodes", "ResourceId": "cache-cluster/test-cluster-1" }
Acciones programadas
Cuando necesites ampliar la escala para un evento concreto y, después, ampliarla, puedes crear dos acciones programadas llamando a la
PutScheduledAction
API.Política 1: escalamiento
El
at
comando in--schedule
programa la acción para que se ejecute una vez en una fecha y hora especificadas en el futuro. El campo de programación también admite rate (minuto, hora, día, etc.) y cron (para la expresión cron).En la fecha y la hora se especifica, Auto Scaling de aplicaciones actualiza los valores
MinCapacity
yMaxCapacity
. Application Auto Scaling se amplía MinCapacity hasta situar los nodos de caché en 70.API: ApplicationAutoScaling. PutScheduledAction
Input:
{ "ResourceId": "elasticache:ache-cluster:test-cluster-1", "ScalableDimension": "elasticache:cache-cluster:Nodes", "ScalableTargetAction": { "MaxCapacity": 100, "MinCapacity": 70 }, "Schedule": "at(2020-05-20T17:05:00)", "ScheduledActionName": "ScalingOutScheduledAction", "ServiceNamespace": "elasticache", }
Política 2: Ampliación
En la fecha y la hora especificadas, Application Auto Scaling actualiza el
MinCapacity
yMaxCapacity
de la tabla y escalaMaxCapacity
para devolver los nodos de la caché a 60.API: ApplicationAutoScaling. PutScheduledAction
Input:
{ "ResourceId": "elasticache:cache-cluster:test-cluster-1", "ScalableDimension": "elasticache:cache-cluster:Nodes", "ScalableTargetAction": { "MaxCapacity": 60, "MinCapacity": 40 }, "Schedule": "at(2020-05-21T17:05:00)", "ScheduledActionName": "ScalingInScheduledAction", "ServiceNamespace": "elasticache", }
Ver las actividades de escalado
Puede ver las actividades de escalado mediante la
DescribeScalingActivities
API.API: ApplicationAutoScaling. DescribeScalingActivities
Salida:
{ "ScalingActivities": [ { "ScalableDimension": "elasticache:elasticache:DesiredCount", "Description": "Setting desired count to 30.", "ResourceId": "elasticache/cache-cluster/test-cluster-1", "ActivityId": "4d759079-a31f-4d0c-8468-504c56e2eecf", "StartTime": 1462574194.658, "elasticacheNamespace": "elasticache", "EndTime": 1462574276.686, "Cause": "monitor alarm TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca in state ALARM triggered policy cpu50-target-tracking-scaling-policy", "StatusMessage": "Failed to set desired count to 30", "StatusCode": "Failed" }, { "ScalableDimension": "elasticache:elasticache:DesiredCount", "Description": "Setting desired count to 25.", "ResourceId": "elasticache/cache-cluster/test-cluster-1", "ActivityId": "90aff0eb-dd6a-443c-889b-b809e78061c1", "StartTime": 1462574254.223, "elasticacheNamespace": "elasticache", "EndTime": 1462574333.492, "Cause": "monitor alarm TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca in state ALARM triggered policy cpu50-target-tracking-scaling-policy", "StatusMessage": "Successfully set desired count to 25. Change successfully fulfilled by elasticache.", "StatusCode": "Successful" } ] }
Editar/eliminar la política de escalado
Puede editar o eliminar las políticas volviendo a llamar a la
PutScalingPolicy
API o llamando a o ActionDeleteScalingPolicy
.DeleteScheduled
Anule el registro de los objetivos escalables
Puede anular el registro del objetivo escalable a través de la
DeregisterScalableTarget
API. Al anular el registro de un objetivo escalable, se eliminan las políticas de escalado y las acciones programadas asociadas a él.API:. ApplicationAutoScaling DeregisterScalableTarget
Input:
{ "ResourceId": "elasticache/cache-cluster/test-cluster-1", "ServiceNamespace": "elasticache", "ScalableDimension": "elasticache:cache-cluster:Nodes" }
Ampliar la limpieza de políticas
Múltiples políticas de escalado
Puede crear varias políticas de escalado. A continuación, se muestran los principales comentarios sobre el comportamiento del seguimiento de objetivos con escalado automático.
Puede tener varias políticas de escalado de seguimiento de destino para un destino escalable, siempre que cada una de ellas utilice una métrica diferente.
El objetivo de Auto Scaling de aplicaciones siempre es dar prioridad a la disponibilidad, por lo que su comportamiento varía en rol de si las políticas de seguimiento de destino están listas para el escalado horizontal o reducción horizontal. Realizará un escalado ascendente del destino escalable si cualquiera de las políticas de seguimiento de destino está lista para el escalado ascendente, pero solo realizará el escalado descendente si todas las políticas de seguimiento de destino (que tienen la parte de escalado descendente habilitada) están listas para el escalado descendente.
Si varias políticas indican al destino escalable que escale horizontalmente o reduzca horizontalmente al mismo tiempo, Auto Scaling de aplicaciones se escala en función de la política que proporciona la mayor capacidad para escalar horizontalmente y reducir horizontalmente Esto brinda una mayor flexibilidad para abordar diferentes situaciones y garantizar que siempre haya capacidad suficiente para procesar las cargas de trabajo de la aplicación.
nota
AWS Application Auto Scaling no aplica políticas de escalado de colas. Application Auto Scaling esperará a que se complete el primer escalado, luego se enfriará y, a continuación, repetirá el algoritmo anterior.
Escale automáticamente y de forma horizontal una caché de Memcached mediante el AWS Management Console
Para convertir una caché de diseño propio de Memcached existente en una caché que pueda ampliarse horizontalmente a través de ella, siga estos pasos. https://console.aws.amazon.com/elasticache/
Inicie sesión en AWS Management Console y abra la consola en ElastiCache . https://console.aws.amazon.com/elasticache/
Seleccione la memoria caché de Memcached que desee convertir.
Vaya a la pestaña Ajuste de escala automático.
Seleccione la política de escalado que desee aplicar, seleccionando Agregar escalado dinámico o Agregar escalado programado.
Rellene los detalles de la política seleccionada según sea necesario.
Haga clic en Crear.