Migración de una AMI de Amazon Linux 2 a una AMI de Amazon Linux 2023 optimizada para Amazon ECS
Después de Amazon Linux
Amazon Linux 2023 ofrece un enfoque de seguridad desde el diseño con políticas de seguridad previamente configuradas, SELinux en modo permisivo, modo exclusivo de IMDSv2 habilitado de manera predeterminada, tiempos de arranque optimizados y administración de paquetes mejorada para aumentar la seguridad y el rendimiento.
Existe un alto grado de compatibilidad entre las AMI optimizadas para Amazon ECS de Amazon Linux 2 y Amazon Linux 2023, y la mayoría de los clientes verán cambios mínimos o nulos en las cargas de trabajo entre los dos sistemas operativos.
Para más información, consulte Comparing Amazon Linux 2 and Amazon Linux 2023 en la Guía del usuario de Amazon Linux 2023 y las Preguntas frecuentes sobre Amazon Linux 2023
Consideraciones sobre compatibilidad
Administración de paquetes y actualizaciones del sistema operativo
A diferencia de las versiones anteriores de Amazon Linux, las AMI de Amazon Linux 2023 optimizadas para Amazon ECS están bloqueadas en una versión específica del repositorio de Amazon Linux. Esto evita que los usuarios actualicen los paquetes de manera inadvertida, lo que podría provocar cambios no deseados o perjudiciales. Para más información, consulte Managing repositories and OS updates in Amazon Linux 2023 en la Guía del usuario de Amazon Linux 2023.
Versiones del kernel de Linux
Las AMI de Amazon Linux 2 se basan en los kerneles de Linux 4.14 y 5.10, mientras que Amazon Linux 2023 utiliza los kerneles 6.1 y 6.12 de Linux. Para más información, consulte Comparing Amazon Linux 2 and Amazon Linux 2023 kernels en la Guía del usuario de Amazon Linux 2023.
Cambios en la disponibilidad de los paquetes
Los siguientes son cambios notables en los paquetes de Amazon Linux 2023:
-
Algunos paquetes binarios de origen disponibles en Amazon Linux 2 ya no lo están en Amazon Linux 2023. Para más información, consulte Packages removed from Amazon Linux 2023 en las Notas de la versión de Amazon Linux 2023.
-
Cambios en la forma en que Amazon Linux admite las distintas versiones de paquetes. El sistema
amazon-linux-extras
que se utiliza en Amazon Linux 2 no existe en Amazon Linux 2023. Todos los paquetes simplemente están disponibles en el repositorio “principal”. -
Los paquetes adicionales para Enterprise Linux (EPEL) no son compatibles con Amazon Linux 2023. Para más información, consulte EPEL compatibility in Amazon Linux 2023 en la Guía del usuario de Amazon Linux 2023.
-
Las aplicaciones de 32 bits no son compatibles con Amazon Linux 2023. Para más información, consulte precated features from Amazon Linux 2 en la Guía del usuario de Amazon Linux 2023.
Cambios en los grupos de control (cgroups)
Un grupo de control (cgroup) es una característica del código kernel de Linux que permite organizar jerárquicamente los procesos y distribuir los recursos del sistema entre ellos. Los grupos de control se utilizan ampliamente para implementar un tiempo de ejecución de contenedores, y mediante systemd
.
El agente de Amazon ECS, Docker y containerd son compatibles con cgroupv1 y cgroupv2. El agente de Amazon ECS y el tiempo de ejecución del contenedor administran cgroups, por lo que los clientes de Amazon ECS no tienen que hacer ningún cambio en esta actualización de cgroup subyacente.
Para más información sobre cgroupv2, consulte Control groups v2 in Amazon Linux 2023 en la Guía del usuario de Amazon Linux 2023.
Cambios en el servicio de metadatos de instancias (IMDS)
De manera predeterminada, es necesaria la versión 2 del servicio de metadatos de instancias (IMDSv2) para Amazon Linux 2023. IMDSv2 tiene varios beneficios que ayudan a mejorar la postura de seguridad. Utiliza un método de autenticación orientado a la sesión que requiere la creación de un token secreto en una solicitud sencilla de HTTP PUT para iniciar la sesión. El tiempo de validez de un token de sesión puede oscilar entre 1 segundo y 6 horas.
Para más información sobre cómo hacer la transición de IMDSv1 a IMDSv2, consulte Transición al uso del servicio de metadatos de instancias, versión 2 en la Guía del usuario de Amazon EC2.
Si desea utilizar IMDSv1, anule de manera manual la configuración mediante las propiedades de inicio de la opción de metadatos de la instancia.
Cambios en el intercambio de memoria
No se admite el intercambio de memoria por contenedor en Amazon Linux 2023 ni en cgroups v2. Para obtener más información, consulte Administración del espacio de memoria de intercambio de contenedores en Amazon ECS.
Cambios en la validación de FIPS
Amazon Linux 2 cuenta con la certificación FIPS 140-2 y Amazon Linux 2023 con la certificación FIPS 140-3.
Para habilitar el modo FIPS en Amazon Linux 2023, instale los paquetes necesarios en la instancia de Amazon EC2 y siga las instrucciones de configuración que se indican en Enable FIPS Mode on Amazon Linux 2023 en la Guía de usuario de Amazon Linux 2023.
Compatibilidad de instancias aceleradas
Las AMI de Amazon Linux 2023 optimizadas para Amazon ECS admiten los tipos de instancias aceleradas por GPU. Para obtener más información, consulte AMI de Linux optimizadas para Amazon ECS.
Creación de AMI personalizadas
Si bien le recomendamos cambiarse a las AMI optimizadas para Amazon ECS publicadas y compatibles oficialmente para Amazon Linux 2023, puede seguir creando AMI personalizadas optimizadas para Amazon ECS de Amazon Linux 2 mediante los scripts de compilación de código abierto que se utilizan para crear las variantes de Linux de la AMI optimizada para Amazon ECS. Para obtener más información, consulte Script de compilación de la AMI de Linux optimizada para Amazon ECS.
Estrategias de migración
Recomendamos crear e implementar un plan de migración que incluya pruebas exhaustivas de las aplicaciones. En las siguientes secciones se describen las distintas estrategias de migración en función de la forma en que administre la infraestructura de Amazon ECS.
Migración con proveedores de capacidad de Amazon ECS
-
Cree un nuevo proveedor de capacidad con una plantilla de lanzamiento nueva. Debe hacer referencia a un grupo de escalado automático con una plantilla de lanzamiento similar a la actual, pero en lugar de la AMI optimizada para Amazon ECS de Amazon Linux 2, debe especificar una de las variantes de Amazon Linux 2023. Agregue este nuevo proveedor de capacidad al clúster de Amazon ECS existente.
-
Actualice la estrategia de proveedor de capacidad predeterminado del clúster para incluir el proveedor de capacidad existente de Amazon Linux 2 y el nuevo proveedor de capacidad de Amazon Linux 2023. Comience con una ponderación más alta en el proveedor Amazon Linux 2 y una ponderación más baja en el proveedor Amazon Linux 2023 (por ejemplo, Amazon Linux 2: ponderación, 80; Amazon Linux 2023: ponderación, 20). Esto hace que Amazon ECS comience a aprovisionar instancias de Amazon Linux 2023 a medida que se programan nuevas tareas. Compruebe que las instancias se registren correctamente y que las tareas se puedan ejecutar correctamente en las nuevas instancias.
-
Ajuste gradualmente las ponderaciones de los proveedores de capacidad en la estrategia predeterminada del clúster, aumentando la ponderación del proveedor de Amazon Linux 2023 y disminuyendo la ponderación del proveedor de Amazon Linux 2 con el tiempo (por ejemplo, 60/40, después 40/60 y, por último, 20/80). También puede actualizar las estrategias individuales de los proveedores de capacidad de servicios para priorizar las instancias de Amazon Linux 2023. Supervise la ubicación de las tareas para asegurarse de que se ejecutan correctamente en las instancias de Amazon Linux 2023.
-
De manera opcional, vacíe las instancias de contenedor de Amazon Linux 2 para acelerar la migración de tareas. Si tiene suficiente capacidad de reemplazo de Amazon Linux 2023, puede vaciar manualmente las instancias de contenedor de Amazon Linux 2 a través de la consola de Amazon ECS o la AWS CLI para acelerar la transición de las tareas de Amazon Linux 2 hacia Amazon Linux 2023. Una vez completada la migración, elimine el proveedor de capacidad de Amazon Linux 2 del clúster y elimine el grupo de escalado automático asociado.
Migración con un grupo de Amazon EC2 Auto Scaling
-
Cree un nuevo grupo de Amazon EC2 Auto Scaling con una plantilla de lanzamiento nueva. Debe ser similar a la plantilla de lanzamiento actual, pero en lugar de la AMI optimizada para Amazon ECS de Amazon Linux 2, debe especificar una de las variantes de Amazon Linux 2023. Este nuevo grupo de escalado automático puede lanzar instancias al clúster actual.
-
Escale verticalmente el grupo de escalado automático para que las instancias de Amazon Linux 2023 se registren en el clúster. Compruebe que las instancias se registren correctamente y que las tareas se puedan ejecutar correctamente en las nuevas instancias.
-
Una vez que se haya comprobado que las tareas funcionan en Amazon Linux 2023, escale verticalmente el grupo de escalado automático de Amazon Linux 2023 y, a la vez, reduzca gradualmente el grupo de escalado automático de Amazon Linux 2, hasta que haya sustituido por completo todas las instancias de Amazon Linux 2.
-
Si tiene suficiente capacidad de reemplazo de Amazon Linux 2023, puede que desee vaciar explícitamente las instancias de contenedor para acelerar la transición de las tareas de Amazon Linux 2 hacia Amazon Linux 2023. Para obtener más información, consulte Drenaje de instancias de contenedor de Amazon ECS.
Migración con instancias administradas manualmente
-
Lance manualmente (o ajuste los scripts que lanzan) las instancias de Amazon EC2 mediante la AMI de Amazon Linux 2023 optimizada para Amazon ECS en lugar de Amazon Linux 2. Asegúrese de que estas instancias utilizan los mismos grupos de seguridad, subredes, roles de IAM y configuración de clúster que las instancias de Amazon Linux 2 existentes. Las instancias deben registrarse automáticamente en el clúster de Amazon ECS existente en el momento del lanzamiento.
-
Compruebe que las nuevas instancias de Amazon Linux 2023 se registren correctamente en el clúster de Amazon ECS y que se encuentren en el estado
ACTIVE
. Compruebe que las tareas se puedan programar y ejecutar correctamente en estas nuevas instancias, ya sea que espere a que se asignen las tareas de forma natural o que las detenga o las inicie manualmente para activar la reprogramación. -
Sustituya gradualmente las instancias de Amazon Linux 2; para ello, lance las instancias de Amazon Linux 2023 adicionales según sea necesario y, a continuación, vacíe y finalice manualmente las instancias de Amazon Linux 2 una por una. Puede vaciar las instancias a través de la consola de Amazon ECS; para ello, establezca la instancia en el estado
DRAINING
, lo que dejará de asignarle nuevas tareas y permitirá que las tareas existentes finalicen o se reprogramen en otro lugar.