Blog de Amazon Web Services (AWS)

Fin del soporte de Windows Server 2008 R2 y SQL Server 2008 R2: Actualice sus servidores con facilidad

Muchas organizaciones de TI han ejecutado el sistema operativo Microsoft Windows Server 2008 R2 y los
sistemas de base de datos de Microsoft SQL Server 2008 R2 durante más de una década. Las fechas de fin de
soporte (EOS) se acercan rápidamente (julio 2019 para SQL Server y enero 2020 para Windows Server). Por lo
tanto, es fundamental que estos sistemas se actualicen a una versión compatible para evitar riesgos de
seguridad y cumplimiento. Para iniciar la actualización, hemos emparejado los documentos de AWS Systems
Manager que pueden ayudarle. Estos pueden ayudar con la actualización de Windows Server 2008 R2 y SQL
Server 2008 R2 con Service Pack 3.

Esta publicación de blog proporciona instrucciones sobre el uso de AWS Systems Manager para automatizar
la actualización de las instancias de fin de soporte de Windows Server 2008 R2 y SQL Server 2008 R2 en AWS.
La guía le ayuda a trasladarlos a versiones compatibles más recientes mediante un enfoque de bajo riesgo.

Además, Microsoft ofrece soporte técnico, incluidas las actualizaciones de seguridad, durante la duración de
la compatibilidad extendida con SQL Server 2008 R2.

Los siguientes servicios y características de AWS están implicados en esta actualización:

  • AWS Systems Manager: Una poderosa interfaz unificada de AWS que puede utilizar para administrar
    de forma centralizada sus recursos de AWS. El núcleo del uso de AWS Systems Manager es el uso del
    agente de AWS SSM y de los documentos de AWS Systems Manager.
  • Agente de AWS Systems Manager (agente de SSM): Software de Amazon que se ejecuta en las
    instancias Amazon EC2. El agente de SSM procesa las solicitudes del servicio de Systems Manager en
    la nube y configura el equipo como se especifica en las solicitudes. El agente de SSM envía la
    información de estado y ejecución al servicio de Systems Manager mediante la mensajería de EC2.
  • Documentos de AWS Systems Manager: Este blog utiliza dos documentos de automatización de AWS
    Systems Manager. Para obtener más información sobre los documentos de AWS System Manager,
    consulte la publicación Escribir sus propios documentos de AWS Systems Manager en el blog de
    herramientas de administración de AWS.

Estos documentos de automatización proporcionan dos rutas de actualización. Uno le ayuda a actualizar
Windows Server 2008 R2 a Windows Server 2012 R2. El otro le ayuda a actualizar SQL Server 2008 R2 en
Windows Server 2012 R2 a SQL Server 2016.

Para obtener más información sobre la actualización de Windows Server 2008 R2 a Windows Server 2012 R2,
consulte la página SSM AWSEC2-CloneInstanceAndUpgradeWindows en la documentación de System
Manager.

Para obtener más información sobre la actualización de SQL Server 2008 R2 en Windows Server 2012 R2 a
SQL Server 2016, consulte la página SSM AWSEC2-CloneInstanceAndUpgradeSQLServer en la documentación de System Manager.

Opciones de actualización

Profundicemos en estos dos documentos de AWS System Manager Automation:

El siguiente diagrama muestra las acciones realizadas por el script SSM AWSEC2-CloneInstanceAndUpgradeWindows.

Este script crea una Amazon Machine Image (AMI) desde una instancia de Windows Server 2008 R2 en su
cuenta y, a continuación, actualiza la AMI a Windows Server 2012 R2. La operación de actualización es un
proceso de varios pasos que puede tardar dos horas en completarse. La automatización crea una AMI a partir
de la instancia y, a continuación, inicia la AMI recién creada en la VPC y la subred que proporcione. El flujo de
trabajo de automatización realiza una actualización en contexto de Windows Server 2008 R2 a Windows
Server 2012 R2. El flujo de trabajo también actualiza o instala los controladores de AWS requeridos por la
instancia actualizada. Después de la actualización, el flujo de trabajo crea una nueva AMI y, a continuación,
finaliza la instancia actualizada.

AWSEC2-CloneInstanceAndUpgradeSQLServer

Este script crea una AMI a partir de una instancia de Windows de Amazon EC2 que ejecuta SQL Server 2008
R2 SP3 en su cuenta y, a continuación, actualiza la AMI a SQL Server 2016 SP2. La actualización es un proceso
de varios pasos que puede tardar dos horas en completarse. La automatización crea la AMI desde la instancia
y, a continuación, inicia la nueva AMI en la subred que proporcione. A continuación, la automatización realiza
una actualización in-place de SQL Server 2008 R2 a SQL Server 2016. Después de la actualización, la
automatización crea una nueva AMI antes de terminar la instancia actualizada.

Puede probar la funcionalidad de la aplicación iniciando la nueva AMI en su VPC. Después de finalizar las
pruebas y antes de realizar otra actualización, programe el tiempo de inactividad de la aplicación antes de
cambiar completamente a la instancia actualizada.

El resultado final es una AMI, que es la AMI de instancia actualizada.

Dos AMI participan en este proceso:

  • First AMI – Esta es la AMI de la instancia en ejecución actual (que no se actualiza). Usamos esta AMI para iniciar otra instancia para ejecutar el proceso de actualización en el lugar. Al final del proceso, eliminamos esta AMI de su cuenta, a menos que haya optado específicamente por mantener la instancia original. Esta configuración es manejada por el parámetro KeepPreUpgradeImageBackUp (el valor predeterminado es False lo que significa que excluimos la AMI).
  • Segunda AMI – este es el resultado final de todo el proceso de automatización. La segunda AMI es el
    resultado del proceso de automatización e incluye SQL Server 2016 en lugar del motor original de
    SQL Server 2008 R2. Puede probar la funcionalidad de la aplicación iniciando la nueva AMI en su VPC.
    Después de finalizar las pruebas y antes de realizar otra actualización, programe el tiempo de
    inactividad de la aplicación antes de cambiar completamente a la instancia actualizada.

1.  Rol de IAM necesario

Antes de iniciar el proceso de automatización, necesita un rol de IAM con las políticas corretas para permitir que AWS Systems Manager realice la automatización en las instancias de Amazon EC2 y AMI de su cuenta. En este ejemplo, el rol Create tiene el mismo nombre que la política de AMI adjunta, AmazonEC2RoleforSSM .

Para obtener instrucciones sobre cómo crear un rol de IAM, consulte Creación de un rol para delegar permisos a un servicio de AWS en la documentación de IAM.

2. Otros requisitos previos

Antes de iniciar el proceso de actualización, confirme que cumple los requisitos previos para AWS Systems Manager. Puede encontrarlos en Creación de un rol para delegar permisos en un servicio de AWS en la documentación de Systems Manager.

3. Opciones de ejecución de automatización de AWS Systems Manager

Hay varias formas de ejecutar la automatización; a continuación, se muestran algunas de las opciones.

Simple execution

Utilice este enfoque cuando desee actualizar una única instancia y no desee recorrer cada paso de automatización y auditar los resultados. Este post da los pasos a través de esta opción en mayor detalle a continuación.

Rate control

Utilice esta opción cuando desee aplicar la actualización a varias instancias. Puede hacerlo utilizando los siguientes ajustes.

Parameter (también establecido en Multi-Account y Region)

Esta configuración define cómo se ramifican las ramas de automatización.

Targets (También establecido en Multi-Account y Región)

Parameter Values

Para los valores de parámetro, utilice los valores definidos en los parámetros del documento de automatización.

Resource Group

En AWS, un recurso es una entidad con la que puede trabajar. Los ejemplos incluyen una instancia Amazon
EC2, una pila de AWS CloudFormation o un bucket de Amazon S3. Si trabaja con varios recursos, es posible
que resulte útil administrarlos como un grupo en lugar de pasar de un servicio de AWS a otro para cada tarea.
En algunos casos, puede administrar un gran número de recursos relacionados, como instancias EC2 que
componen una capa de aplicación. En estos casos, es probable que deba realizar acciones masivas en estos
recursos al mismo tiempo.

Tags

Etiquetas le permiten categorizar sus recursos de AWS de diferentes maneras, por ejemplo, por propósito,
propietario o entorno. Esto es útil cuando tiene muchos recursos del mismo tipo: puede identificar
rápidamente un recurso específico basándose en las etiquetas que le asignó. Por ejemplo, puede definir un
conjunto de etiquetas para las instancias Amazon EC2 de su cuenta que le ayuden a realizar un seguimiento
de los entornos y centros de coste de cada instancia.

Rate control (también establecido en varias cuentas y región)

Establecer los parámetros de control de frecuencia define la cantidad de su flota para aplicar la
automatización, ya sea por el recuento de destino o por el porcentaje de la flota.

Multi-account  and region

Accounts and organizational units (OUs)

Aquí, puede especificar varias cuentas en las que desea ejecutar la automatización.

AWS Regions

Aquí, puede especificar varias regiones de AWS en las que desea ejecutar la automatización.

Manual execution

Esta opción es similar a la Simple execution, pero le permite recorrer cada paso de automatización y auditar los resultados.

Actualizar Windows 2008 R2 a 2012 R2

Esta sección se centra en el uso de la secuencia de comandos SSM AWSEC2-CloneInstanceAndUpgradeWindows.

Para que este proceso funcione, es necesario satisfacer una serie de requisitos previos. Para obtener una lista de estos, consulte AWSEC2-CloneInstanceAndUpgradeWindows en el administrador de documentos de sistemas.

Para los propósitos de este ejemplo, tengo una instancia de Window 2008 R2 que reside en mi cuenta de AWS.
La siguiente imagen muestra mi instancia con un SQL Server 2008 R2 SP3 instalado también, y una base de
datos de ejemplo de AdventureWorks. Al completar esta automatización, AWS Systems Manager actualiza el
sistema operativo al servidor 2012 R2. SQL Server 2008 R2 permanecerá como está.

Ahora, ¡Vamos a empezar el proceso de actualización!

4.  Abra AWS Systems Manager en la consola de administración de AWS

Para los propósitos de esta entrada de blog, he utilizado la interfaz dedicada de AWS Systems Manager.

En el panel de navegación, elija Automation.

Elija Execute Automation para ser el proceso de automatización.

Filtro para el documento de automatización SSM AWSEC2-CloneInstanceAndUpgradeWindows desde el filtro de búsqueda.

El campo Description del documento proporciona una visión general del documento de automatización.

5.  Implementación paso a paso de la ejecución simple

InstanceID

Este es el identificador que se proporciona para que la instancia aplique la automatización.

InstanceProfile

Este es el rol de IAM que se utiliza para realizar la automatización de AWS Systems Manager frente a las AMI de Amazon EC2 y AWS. Para obtener más información, consulte Tarea 2: crear un perfil de instancia para Systems Manager en la documentación de Systems Manager.

SubnetId

Esta es la subred para el proceso de actualización y donde reside la instancia EC2 de origen. Compruebe que
la subred tiene conectividad saliente a los servicios de AWS, incluido Amazon S3, y también a Microsoft (para
descargar parches).

KeepPreUpgradedBackUp

(Opcional) Si este parámetro se establece en True, la automatización conserva la imagen creada a partir de la
instancia. El valor predeterminado es False.

RebootInstanceBeforeTakingImage

(Opcional) El valor predeterminado es False (sin reinicio). Si este parámetro se establece en True, AWS
Systems Manager reinicia la instancia antes de crear una AMI para la actualización.

Introduzca los siguientes parámetros para ejecutar la automatización.

Enlace de ejecución compartible:

Una vez que comienza la automatización, puede supervisar su progreso.

Finalización de la automatización

Una vez completada la automatización, la salida que se puede ver es el ID de la AMI (getUpgradeImageDetails.
ImageId: AMI-01f63 * * * * * * *). Puede iniciar la AMI para ver que Windows está actualizado.

No es necesario que la automatización ejecute todos los pasos. Los pasos son condicionales en función del
comportamiento de la automatización y la instancia. Por lo tanto, AWS Systems Manager puede omitir algunos
pasos que no son necesarios.

También, algunos pasos pueden tiempo fuera. AWS Systems Manager intenta actualizar e instalar todos los
parches más recientes. Sin embargo, a veces los parches se basan en una configuración de tiempo de espera
definible para el paso dado. En ese caso, la automatización de AWS Systems Manager continúa con el siguiente
paso para garantizar que el sistema operativo interno se actualice a 2012 R2.

 

Outputs

En el caso de esta automatización, recibirá como salidas el nombre y el ImageID para la AMI de AWS recién
creada. Desde aquí puede lanzar una instancia Amazon EC2 y revisar su actualización como se muestra a
continuación. Para obtener información sobre cómo crear una instancia Amazon EC2 a partir de una AMI de
AWS, consulte el artículo de Knowledge Center ¿Cómo puedo lanzar una instancia EC2 desde una imagen de máquina de Amazon (AMI) personalizada?

Actualizar SQL Server 2008 R2 a SQL Server 2016

Esta sección se centra en el uso de la secuencia de comandos SSM AWSEC2-CloneInstanceAndUpgradeSQLServer.

El siguiente diagrama muestra las acciones realizadas por el script SSM AWSEC2-CloneInstanceAndUpgradeSQLServer.

Para que este proceso funcione, es necesario satisfacer una serie de requisitos previos. Para obtener una lista de estos, consulte SSM AWSEC2-CloneInstanceAndUpgradeSQLServer en la documentación de Systems Manager.

Después de cumplir estos requisitos previos, siga los pasos siguientes para actualizar el motor de base de
datos de SQL Server 2008 R2 a SQL Server 2016. En este ejemplo, hay un servidor de origen de SQL Server
2008 R2 denominado SQLServer2008r2-Source. Está ejecutando SQL Server 2008 R2 como el motor de base
de datos y Windows 2012 R2 como el sistema operativo. Este servidor tiene su motor de base de datos
actualizado mediante el documento de automatización en AWS Systems Manager.

Si todavía no lo ha hecho, descargue el archivo .ISO de SQL Server 2016 y móntelo en el servidor de origen.
Después de montar este archivo, copie todos los archivos componentes y colóquelo en cualquier volumen de
su elección. Una vez completada, tome una instantánea de Amazon EBS del volumen y copie el ID de Snapshot
en un área de transferencia para su uso posterior. Para revisar los pasos implicados para crear una instantánea
de EBS, consulte Creación de una instantánea de Amazon EBS en la documentación de EBS.

Este ejemplo específico tiene un rol denominado SSM-EC2-Profile-role que tiene la Directiva
AmazonEc2RoleSSM adjunta al rol. A su vez, ese rol se adjunta a la instancia. Esto permite que el servicio de
Systems Manager se comunique con la instancia EC2 y ejecute comandos en él una vez que se haya agregado
en el servicio de AWS Systems Manager.

Después de que el perfil de instancia se adjunta a la instancia EC2, confirme que puede verlo en instancias
administradas para el servicio de AWS Systems Manager. Si no ve ninguna instancia administrada, espere unos
minutos y se mostrará. De lo contrario, vuelva a confirmar que se han cumplido los requisitos previos de AWS
Systems Manager.

Como puede ver a continuación, la instancia se ha mostrado ahora como una instancia administrada (lo que significa que puede ejecutar comandos en su contra).

Una vez confirmada la lista de Managed Instance, vaya a la pestaña Automation de AWS Systems Manager y elija Execute Automation:

Para buscar el documento SSM AWSEC2-CloneInstanceAndUpgradeSQLServer, vaya a la barra de búsqueda, elija prefijo de nombre de documento, elija Equal y, a continuación, pegue en el nombre del documento (AWSEC2-CloneInstanceAndUpgradeSQLServer). Es importante tener en cuenta que este nombre distingue entre mayúsculas y minúsculas, así que asegúrese de que lo tiene correcto.

Después de encontrar el documento, elíjalo y, a continuación, elija Next.

Necesita los siguientes parámetros para que este proceso de actualización se realice correctamente:

  • InstanceId

Type: String

Description: (Obligatorio) La instancia que ejecuta Windows Server 2012 R2 (o posterior) o SQL Server 2008 R2 (o posterior).

  • IamInstanceProfile

Type: String.

Description: (Requerida) El perfil de instancia IAM

  • SnapshotId

Type: String.

Description: (Requerida) Snapshot ID para el medio de instalación 2016 de SQL Server.

  • SubnetId

Type: String

Description: (Requerida) Proporcione una subred para el proceso de actualización. Compruebe que la subred tiene conectividad saliente a los servicios de AWS, incluido Amazon S3, y a Microsoft (para descargar parches).

  • KeepPreUpgradeImageBackUp

Type: String

Description: (Opcional) Si este parámetro se establece en True, la automatización no elimina la AMI creada a partir de la instancia antes de la actualización. Si se establece en True, debe eliminar la AMI. De forma predeterminada, se elimina la AMI.

  • RebootInstanceBeforeTakingImage

Type: String

Description: (Opcional) Si este parámetro se establece en True, la automatización reinicia la instancia antes de crear una AMI previa a la actualización. De forma predeterminada, la automatización no se reinicia antes de la actualización.

Una vez que haya establecido los parámetros anteriores, rellene la sección siguiente y elija Execute.

Una vez que se inicia el proceso de ejecución, supervise el progreso del documento a través de cada paso desplazándose hacia abajo y mirando las páginas de progreso.

Después de ver el Execution Status, lea Success, elija la lista Outputs para ver la información de la AMI. Aquí puede ver el ID de la AMI. Ahora puede usarlo para iniciar la instancia de SQL Server 2016 para la VPC de su elección.

Navegue de nuevo a la consola de EC2 y elija la pestaña AMIs. Aquí, verá la nueva AMI, que puede lanzar posteriormente para comprobar que SQL Server 2016 se ha instalado correctamente.

Para iniciar la nueva AMI, apriétela y elija Launch.

Elija el tipo de instancia que desee para la AMI, elija la VPC y la subred a las que desea implementar la máquina
y elija el almacenamiento que desee. Dado que está lanzando esta nueva instancia EC2 desde una AMI, los
volúmenes presentes en la AMI se presentan como una opción para incluir dentro de la nueva instancia EC2.
Puede quitar cualquiera de esos volúmenes para la nueva instancia o agregarlo.

Después de seleccionar lo que desea para el almacenamiento, agregue una etiqueta, agregue el grupo de
seguridad o los grupos a la instancia y, finalmente, lance la instancia.

El nombre de la etiqueta para el servidor recién lanzado es SQLServer2016. Elija eso y realice una conexión
con él para que pueda comprobar que SQL Server 2016 es ahora el nuevo motor de base de datos de la
instancia.

Después de iniciar SQL Server Management Studio, conéctese a la instancia predeterminada (o instancia con
nombre) para el servidor especificado. Aquí, puede comprobar que el motor se actualiza efectivamente
ejecutando la siguiente consulta en la ventana de consulta.

Hay dos maneras en las que puede confirmar que el motor está actualizado. Uno es el número de compilación
específico dentro del explorador de objetos (número de compilación 13.0.5026). El otro está recibiendo una
salida de la consulta anterior leyendo «Microsoft SQL Server 2016…»

Ahora ha trabajado correctamente a través del documento de automatización SSM AWSEC2-
CloneInstanceAndUpgradeSQLServer en AWS Systems Manager. Espero que este fue un proceso informativo,
y que le ha ayudado en su proceso de actualización.

Conclusión

En esta entrada de blog, usamos dos documentos de AWS Systems Manager, SSM AWSEC2-
CloneInstanceAndUpgradeWindows y SSM AWSEC2-CloneInstanceAndUpgradeSQLServer, para ayudarlo a
automatizar el proceso de actualización de su flota de Windows Server 2008 R2 y SQL Server 2008 instancias
de R2 en sus entornos de AWS. Cuando se completan los pasos de automatización, se crea una AMI de AWS.
Este enfoque le proporciona flexibilidad sobre cómo puede avanzar con los servidores actualizados.

Damos la bienvenida a sus comentarios o preguntas en los comentarios.

 


Acerca de los autores

Stefan Minhas es Consultor Senior en Amazon Web Services. Es un experto en materia de Microsoft en la práctica de entrega de aplicaciones para las Américas, y proporciona orientación y asistencia técnica en el desarrollo y crecimiento de habilidades especializadas en la comunidad de servicios profesionales más amplia.

 

 

 

Bini Berhe es arquitecto de soluciones Senior en Amazon Web Services. Trabaja con clientes de AWS para proporcionar orientación y asistencia técnica para ejecutar sus cargas de trabajo de Microsoft en AWS.