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.
Reemplace los volúmenes raíz durante la actualización de la instancia
Contenido
Funcionamiento
La sustitución del volumen raíz actualiza las instancias sustituyendo únicamente el volumen raíz de EBS y, al mismo tiempo, mantiene la instancia en ejecución. Esto elimina la necesidad de lanzar nuevas instancias y evita posibles restricciones de capacidad. Este proceso preserva todos los demás recursos de la instancia, incluidos:
-
Interfaces de red y direcciones IP
-
Volúmenes de EBS que no son raíz
-
Volúmenes y datos del almacén de instancias
-
Grupos de seguridad y funciones de IAM
Durante la sustitución del volumen raíz, la aplicación sigue ejecutándose en la instancia existente. El volumen raíz original se separa, se crea un nuevo volumen raíz a partir de la AMI especificada y, a continuación, se adjunta a la misma instancia. Los volúmenes raíz originales se eliminan automáticamente después de reemplazarlos correctamente.
Cuando utilizas la estrategia de reemplazar el volumen raíz, las instancias pasan por los siguientes estados del ciclo de vida:
-
ReplacingRootVolume- Comienza el reemplazo del volumen raíz -
ReplacingRootVolume:Wait- Espera a que finalice el ciclo de vida del enlace (si está configurado) -
ReplacingRootVolume:Proceed- Procede con el reemplazo -
RootVolumeReplaced- El reemplazo se completó correctamente
Una vez completada la sustitución del volumen raíz, Auto Scaling realiza comprobaciones de estado en las instancias actualizadas. Si se produce un error al reemplazar el volumen raíz de una instancia, Auto Scaling marca esa instancia para su finalización y la reemplaza por una nueva instancia.
Requisitos
-
Su grupo de Auto Scaling debe usar una política de instancias mixtas
-
Todas las anulaciones de la política de instancias mixtas deben especificar una
ImageId -
AMIs debe contener solo un volumen raíz
-
Todas las instancias deben coincidir con la configuración de la plantilla de lanzamiento del grupo
-
Debe iniciar la actualización de la instancia con la configuración deseada que tenga una política de instancias mixtas que contenga
ImageIdanulaciones.
Inicia una actualización de instancias con Replace Root Volume
Para iniciar una actualización de instancias con Replace Root Volume (AWS CLI)
Usa el siguiente start-instance-refresh
aws autoscaling start-instance-refresh --cli-input-json file://config.json
Contenido de config.json:
ejemplo
{ "AutoScalingGroupName":"my-asg", "Strategy" :"ReplaceRootVolume", "DesiredConfiguration":{ "MixedInstancesPolicy":{ "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateId":"my-launch-template", "Version":"1"}, "Overrides": [ { "InstanceType":"c5.large", "ImageId":"ami-1234example"}, { "InstanceType":"m5.large", "ImageId":"ami-2345example"} ] } } }, "Preferences": { "InstanceWarmup":60, "MinHealthyPercentage":90, "AutoRollback":true, "ScaleInProtectedInstances":Ignore, "StandbyInstances":Ignore} }
Si no se proporcionan preferencias, se usan los valores predeterminados. Para obtener más información, consulte Comprensión de los valores predeterminados de una actualización de instancias.
Ejemplo de código de salida:
{
"InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
Limitaciones
-
No puede iniciar una actualización de instancias con Replace Root Volume si el grupo Auto Scaling de EC2 o la configuración de actualización de instancias deseada utilizan la versión de plantilla de lanzamiento
$Defaulto$Latestla versión de actualización de instancias. -
No puede iniciar una actualización de instancias con Replace Root Volume en un grupo Amazon EC2 Auto Scaling si contiene instancias cuyo tipo de instancia no esté presente en la política de instancias mixtas.
-
Durante una actualización de instancias con Replace Root Volume, solo puede adjuntar instancias con los tipos que estén presentes en la política de instancias mixtas de la configuración deseada.
-
No puede iniciar una actualización de instancias con Replace Root Volume en un grupo de Auto Scaling Group de EC2 que tenga una piscina caliente.
-
No puede añadir un pool caliente a un grupo de Amazon EC2 Auto Scaling que tenga una actualización de instancias activa con Replace Root Volume.
Utilice enlaces de ciclo de vida para reemplazar el volumen raíz
Las instancias que se someten a un reemplazo de volumen raíz siguen sus propias transiciones de ciclo de vida, lo que le permite invocar acciones (por ejemplo, una función Lambda) and/or antes y después del reemplazo. Para obtener más información sobre los estados del ciclo de vida durante el reemplazo del volumen raíz, consulte. Transiciones de estado del ciclo de vida de las instancias que se están reemplazando por volúmenes
Para obtener más información acerca de cómo agregar un enlace de ciclo de vida, consulte Incorporación de los enlaces de ciclo de vida en su grupo de escalado automático. Para obtener más información sobre cómo completar una acción de ciclo de vida, consulte Cómo completar una acción del ciclo de vida en un grupo de escalado automático.
Antes de reemplazar el volumen raíz, un enlace durante el ciclo de vida puede resultar útil en los siguientes escenarios:
-
Debes cerrar la aplicación correctamente antes de reemplazar el volumen raíz y reiniciar la instancia.
-
Desea mover los datos del volumen raíz a otra ubicación antes de reemplazar el volumen.
Tras reemplazar el volumen raíz, un enlace durante el ciclo de vida puede resultar útil en los siguientes escenarios:
-
Desea comprobar que la instancia está totalmente lista con la nueva AMI antes de que comience a recibir tráfico.
-
Desea iniciar los datos de la aplicación que existían anteriormente en el volumen raíz.
Cuando agregue enlaces de ciclo de vida, tenga en cuenta lo siguiente:
-
Cuando se configura un enlace de ciclo de vida para la acción
autoscaling:EC2_INSTANCE_TERMINATINGdel ciclo de vida, una instancia a punto de ser sustituida por un volumen raíz se detiene para realizar una acción personalizada cuando alcanza elReplacingRootVolume:Waitestado. -
Cuando se configura un enlace de ciclo de vida para la acción
autoscaling:EC2_INSTANCE_LAUNCHINGdel ciclo de vida, una instancia a la que se le acaba de reemplazar su volumen raíz se detiene para realizar una acción personalizada cuando alcanza elPending:Waitestado.
Cuando las instancias alcanzan un estado de espera, Amazon EC2 Auto Scaling envía una notificación. Las notificaciones de enlace del ciclo de vida de Auto Scaling contienen un Action campo con un valor ReplaceRootVolume que indica que la instancia se está sustituyendo por el volumen raíz.
En la EventBridge sección de esta guía encontrará ejemplos de estas notificaciones. Para obtener más información, consulte La actualización de instancias reemplaza los eventos del ciclo de vida del volumen raíz.