Creación de una imagen de máquina de Amazon (AMI) VPX en SC2S
Colaboradores
Autor: Jill Fetscher, arquitecta
SC2S es una creación de instancias de AWS sin acceso a AWS Marketplace. Todas las imágenes de máquina de Amazon (AMI) deben cargarse manualmente en el entorno mediante la herramienta vmimport
. Debido a la naturaleza del dispositivo Citrix ADC VPX, el archivo de imagen es demasiado grande para usar la herramienta vmimport
. La AMI VPX debe crearse de manera que pueda iniciarse para su uso futuro. Creamos el siguiente método específicamente para SC2S, pero se puede utilizar para casos de uso futuros de esta naturaleza, en los que no exista ningún Marketplace o no haya ninguna oferta de AMI VPX disponible en el Marketplace.
Crear un VPX en SC2S: Pasos en el lado inferior (AWS comercial)
-
Cree una VPC y una subred en UC2S (comercial) mediante el mismo bloque CIDR que la VPC donde el Citrix ADC reside en SC2S. (por ejemplo, cree una VPC de tamaño 10.0.0.0/16, con una única subred pública de tamaño 10.0.0.0/24 mediante el Asistente para VPC).
Esto se puede hacer de dos maneras:
- Crear una VPC de prueba en SC2S con el CIDR básico y la división en subredes
- Copie el CIDR y la división en subredes que se utilizan en SC2S
Nota:
Para C2S, la creación de VPC se realiza a través de un servicio y se asigna automáticamente un espacio IP desde la superred. En este caso, el segundo método es necesario. Para GovCloud, espere a recibir más instrucciones o descargue la última versión de VPX del Marketplace.
-
Implemente una instancia EC2 desde la AMI de Citrix ADC en AWS Marketplace. Se requiere que la instancia cuente con licencia del cliente. Utilice una instancia no basada en nitrógeno (por ejemplo,
m4.xlarge
).Elija la VPC que creó en los pasos anteriores. Desactive la asignación automática de IP pública.
Asigne a la instancia un nombre fácilmente reconocible. Creamos muchas instancias en los siguientes pasos y es necesario identificar cada instancia para una configuración adicional.
El grupo de seguridad se completa automáticamente. Haga clic en Siguiente en el resto de los pasos, por ejemplo, lanzamiento.
-
Cree un host bastión base de Windows Server 2019 o 2016 para llegar a su instancia VPX.
Esta instancia puede ser
m4.xlarge
, y debe estar integrada en la misma VPC y AZ que Citrix ADC, con una IP pública asignada automáticamente. El volumen raíz requiere un mínimo de 45 GiB, SSD de uso general (gp2).Nota:
Si el entorno permite la creación de IP elásticas (EIP), puede omitir la creación del host bastión y puede conectarse a la instancia VPX directamente desde la red o Internet. Recomendamos el uso de un host bastión por motivos de seguridad y la falta de disponibilidad de EIP en entornos con brechas de aire.
Asigne a la instancia un nombre reconocible (por ejemplo, SC2S: WS2016 Bastion Low).
Para simplificar, cree un grupo de seguridad para permitir todo el tráfico. Puede bloquear este grupo de seguridad más adelante.
Una vez que la instancia está lista, RDP en la máquina mediante la IP pública. A continuación, descargue PuTTY y WinSCP y copie el par de claves que se usó para crear la instancia VPX. Esto requiere la conversión del .pem a un .ppk, mediante PuTTYgen. En el Administrador de servidores, inhabilite Firewall de Windows y Seguridad mejorada de Internet Explorer. Con PuTTY, compruebe que puede usar SSH en el dispositivo Citrix ADC recién implementado. Anote la contraseña
nsroot
de la instancia. De forma predeterminada, este es el AWS InstanceID. Anota la IP privada de la instancia, ya que será necesaria en un paso posterior. En este punto, tiene un dispositivo Citrix ADC en funcionamiento.Nota:
¡No configure este dispositivo VPX! Simplemente inicie sesión como
nsroot
para verificar la funcionalidad. -
Apague la instancia de Citrix ADC desde la consola de AWS. Separe el volumen de EBS raíz de la instancia de Citrix ADC.
Para separar el volumen raíz, haga clic en el dispositivo raíz
/dev/sda1
y, a continuación, haga clic en el ID del volumen. En la ficha Volumen, seleccione el volumen, asígnele un nombre reconocible (por ejemplo, SC2S: Commercial Root Vol) y anote el ID del volumen. Haga clic en Acciones > Separar volumen > Aceptar. El estado del volumen ahora debería estar disponible. -
Implemente una nueva instancia EC2 de Amazon Linux (AMI de Amazon Linux 2 (HVM), tipo de volumen SSD, 64 bits, respaldada por EBS, habilitada para ENA). Esta instancia debe ser del mismo tipo de instancia que la instancia VPX implementada anteriormente (por ejemplo,
m4.xlarge
), y debe estar en la misma VPC y subred, con la opción “Asignación automática de IP pública” inhabilitada. Asigne a la instancia un nombre reconocible (por ejemplo, SC2S: Linux Low). Configure el grupo de seguridad para permitir todo el tráfico por ahora. Una vez que se lance la instancia, apáguela. -
Adjunte el volumen de EBS raíz separado de VPX a la instancia de Linux EC2.
Elija la instancia de Linux que creó haciendo clic en Instancia > Adjuntar.
-
Cree un volumen con una capacidad mayor que el volumen VPX raíz. La capacidad del volumen raíz del volumen VPX es de 30 GiB. Cree el volumen con una capacidad de 35 GiB. Establezca el tipo de volumen en SSD de uso general (gp2) y asígnele un nombre reconocible (por ejemplo, SC2S: Copy Low Vol). Adjunte el nuevo volumen a la instancia de Linux.
-
Encienda la instancia de Linux y SSH desde el host de bastión mediante el archivo de clave privada. Inicie sesión como
ec2-user*
. -
Cree una partición en el NUEVO volumen de EBS.
Nota:
En este ejemplo, el volumen raíz VPX SC2S: Commercial Root Vol es
/dev/sdf
, y el volumen recién creado de 35 GiB SC2S: Copy Low Vol es/dev/sdg
. La partición debe crearse solo en SC2S: Copy Low Vol. En la consola de AWS, estos dispositivos de bloques se indican mediante enlaces simbólicos. En la instancia de Linux, a/dev/sdf
y/dev/sdg
se les refiere como/dev/xvdf
y/dev/xvdg
, respectivamente.En la CLI de Linux, verifique que no haya ningún sistema de archivos. La respuesta debe ser solo datos.
sudo file –s /dev/xvdg <!--NeedCopy-->
Cree un sistema de archivos.
sudo mkfs -t xfs /dev/xvdg <!--NeedCopy-->
Cree un punto de montaje y monte el dispositivo.
sudo mkdir /copy <!--NeedCopy-->
sudo mount /dev/svdg /copy <!--NeedCopy-->
Compruebe que el dispositivo se ha montado y que hay tres dispositivos (por ejemplo,
xvda
,xvdf
yxvdg
).lsblk <!--NeedCopy-->
Cree la partición mediante
fdisk
y elijan
para la nueva,p
para la partición principal,1
para el número de partición y los valores predeterminados para el primer y último sector (ENTRAR, ENTRAR). Pulse CRTL+C para salir.sudo fdisk /dev/xvdg >n >p >1 >enter >enter >CTRL+C <!--NeedCopy-->
-
Copie el volumen raíz VPX en el nuevo volumen de EBS en el nivel de bloque (por ejemplo, copie SC2S: Commercial Root Vol a SC2S: Copy Low Vol). El archivo creado aquí,
citrixADC.img
, se puede mover al entorno SC2S.sudo dd if=/dev/xvdf of=/copy/citrixADC.img status=progress <!--NeedCopy-->
Esta copia puede tardar varias horas.
Una vez finalizada la copia del archivo, compruebe que el archivo esté en el directorio /copy y cambie los permisos del archivo para permitir la lectura, la escritura y la ejecución.
ls /copy sudo chmod 777 /copy/citrixADC.img <!--NeedCopy-->
-
WinSCP el archivo
citrixADC.img
a una ubicación donde se pueda hacer un DTO hasta el lado alto. Si es necesario, el bastión es lo suficientemente grande como para copiar allí el archivo de la imagen.
Crear un VPX en SC2S: Pasos en el lado alto
-
Cree una VPC con el mismo bloque de CIDR y subred que en el paso 1 para el lado bajo o utilice la VPC existente. En este ejemplo, el CIDR de la VPC es 10.0.0.0/16 y el espacio IP de subred es 10.0.0.0/16. Esto es extremadamente importante, porque el VPX final que se crea debe ser la misma IP que el original del Marketplace comercial.
-
En la nueva VPC y subred, inicie una instancia de Amazon Linux (AMI de Amazon Linux 2 (HVM), tipo de volumen SSD, respaldado por EBS, habilitado para ENA, 64 bits) del mismo tipo de instancia que la instancia Citrix ADC implementada en el lado inferior (por ejemplo,
m4.xlarge
). Asigne a la instancia un nombre reconocible (por ejemplo, SC2S: Linux High). Cuando la instancia esté lista, apáguela. - Agregue dos volúmenes de EBS con una capacidad superior al tamaño del archivo transferido (por ejemplo, 35 GiB). Estos volúmenes deben ser del mismo tipo de SSD (gp2) que el creado en el lado bajo.
- El primer volumen es para la copia de la parte inferior. Asigne al volumen un nombre reconocible (por ejemplo, “SC2S: Copy High Vol”). Conecte este volumen a la nueva instancia de Linux en SC2S como
/dev/sdf
. Este es el enlace simbólico para/dev/xvdf
en la instancia.
- El segundo volumen se convierte en el volumen raíz del nuevo VPX. Nombra el volumen algo reconocible (por ejemplo, “SC2S: Final VPX Vol”). Conecte este volumen a la nueva instancia de Linux en SC2S como
/dev/sdg
. Este es el enlace simbólico para/dev/xvdg
en la instancia.
La instancia ahora tiene tres dispositivos de bloque conectados, incluido el dispositivo raíz. Encienda la instancia.
- El primer volumen es para la copia de la parte inferior. Asigne al volumen un nombre reconocible (por ejemplo, “SC2S: Copy High Vol”). Conecte este volumen a la nueva instancia de Linux en SC2S como
-
Cree un host de bastión base de Windows Server 2019 o 2016 de la misma manera que el bastión inferior. Esta instancia debe estar en la VPC y la subred recién creadas, y debe tener al menos 45 GiB para las transferencias de archivos. Establezca “Asignación automática de IP pública” en habilitado. Asigne un nombre a la instancia algo reconocible (por ejemplo, “SC2S: WS2016 Bastion_High”) y configure el grupo de seguridad para permitir “Todo el tráfico” por ahora.
-
Una vez que el host de bastión esté listo, RDP en el equipo mediante la IP pública, y descargue PuTTY y WinSCP, y copie sobre el par de claves que se utilizó para crear la instancia VPX. Esto requiere la conversión del .pem a un .ppk, mediante PuTTYgen. En el Administrador de servidores, inhabilite Firewall de Windows e Internet Explorer Enhanced Security por ahora.
-
Copie el archivo citrixADC.img en el nuevo host bastión.
-
Inicie una sesión PuTTY en la nueva instancia de Linux (por ejemplo, “SC2S: Linux High”) desde el host bastión, mediante la clave privada de AWS con el nombre de usuario
ec2-user
. -
Utilice
lsblk
para comprobar que todos los dispositivos están presentes en la instancia. -
Compruebe que el dispositivo
/dev/xvdf
no tiene ningún sistema de archivos y, a continuación, cree uno.Nota:
NO cree un sistema de archivos en el dispositivo
/dev/xvdg
.sudo file –s /dev/xvdf sudo mkfs –t xfs /dev/xvdf <!--NeedCopy-->
-
Cree un punto de montaje para el dispositivo, monte el dispositivo y compruebe que el punto de montaje del volumen es
/copy
.sudo mkdir /copy sudo mount /dev/xvdf /copy lsblk <!--NeedCopy-->
-
Cree una partición mediante
fdisk
.sudo fdisk /dev/xvdf >n >p >1 >enter >enter >CTRL+C <!--NeedCopy-->
-
Cambie los permisos del directorio /copy.
sudo chmod 777 /copy <!--NeedCopy-->
-
Mediante WinSCP en el host bastión, conéctese a la instancia de Linux. Copie el archivo citrixADC.img en el directorio /copy. Una vez copiado el archivo, cambie los permisos para permitir la lectura, la escritura y la ejecución para todos desde la consola de WinSCP.
-
En la CLI de Linux, copie el archivo de imagen en el dispositivo /dev/xvdg mediante el siguiente comando:
sudo dd if=/copy/citrixADC.img of=/dev/xvdg status=progress <!--NeedCopy-->
-
Una vez completada la copia, ejecute el comando
lsblk
para comprobar que las particiones del Citrix ADC se muestran en el dispositivo /dev/xvdg.lsblk <!--NeedCopy-->
-
Apague la instancia de Linux y desconecte el volumen /dev/xvdg (/dev/sdg) (por ejemplo, “SC2S: Final VPX Vol”).
-
Implementar una nueva instancia Linux del mismo tipo de instancia EXACT que VPX en el lado bajo, en la misma VPC y subred que se creó en el lado alto (AMI de Amazon Linux 2 (HVM), tipo de volumen SSD, respaldado por EBS, habilitado para ENA, 64 bits,
m4.xlarge
, grupo de seguridad configurado para permitir “Todo el tráfico”). Durante la configuración, establezca la IP en la MISMA que VPX en el lado inferior, como se señaló en la sección anterior de este documento. Cuando la instancia esté lista, apáguela. -
Separe el volumen raíz de la instancia Linux recientemente implementada y adjunte la instancia separada (por ejemplo, “SC2S: Final VPX Vol”). Durante el archivo adjunto, especifique el dispositivo como volumen raíz (es decir,
/dev/xvda
). -
Encienda la instancia. Mediante el host bastión Highside, PuTTY/SSH a la instancia para verificar la funcionalidad de la VPX. Inicie sesión como
nsroot
con la contraseña de ID de instancia anotada en la sección anterior de este documento y realice un comando simple.sh version <!--NeedCopy-->
Creación de una AMI a partir de la instancia VPX lanzada
-
Inicie sesión en la instancia de Citrix ADC. Entra en el shell para realizar las modificaciones necesarias como root.
shell <!--NeedCopy-->
-
Elimine de forma forzada y recursiva los siguientes directorios y archivos del software ADC manualmente. Para eliminar los archivos y directorios manualmente, agregue rm —rf delante de cada uno. ‘/nsconfig/ns.conf’
‘/nsconfig/ssh/’
‘/nsconfig/ssl/’
‘/nsconfig/aws_bootstrap’
‘/nsconfig/rainman.conf’
‘/var/nslog’
‘/var/log/messages’
‘/var/log/.log’
‘/var/core/’
‘/nsconfig/.AWS/’
‘/var/db’
‘/etc/resolv.conf’
‘/flash/BUILD’
‘/mpsconfig/pgxl/.ssh/id_rsa.pub’
‘/var/pubkey/nsroot/.ssh/authorized_keys’
‘/var/pubkey/root/.ssh/authorized_keys’o ejecute este script:
#!/bin/sh -x rm -rf /nsconfig/ns.conf* rm -rf /nsconfig/ssh/* rm -rf /nsconfig/ssl/* rm -rf /nsconfig/aws_bootstrap rm -rf /nsconfig/rainman.conf rm -rf /var/nslog rm -rf /var/log/messages* rm -rf /var/log/\*.log rm -rf /var/core/\* rm -rf /nsconfig/.AWS/ rm -rf /var/db rm -rf /etc/resolv.conf rm -rf /flash/BUILD rm -rf /mpsconfig/pgxl/.ssh/id_rsa.pub rm -rf /var/pubkey/nsroot/.ssh/authorized_keys rm -rf /var/pubkey/root/.ssh/authorized_keys <!--NeedCopy-->
-
Cambie los permisos del directorio /flash/nsconfig a 755.
chmod 755 /flash/nsconfig <!--NeedCopy-->
-
Verifique que no queden claves residuales. Si los hay, quítelos con fuerza y recursivamente.
find / -type f -name “authorized*” rm -rf <filename> <!--NeedCopy-->
-
Compruebe que no existan licencias residuales en /nsconfig/license. Si los hay, quítelos con fuerza y recursivamente.
Nota:
Habrá otros directorios y archivos en esta carpeta (por ejemplo, SSL y XML), solo elimine los archivos de licencia si están presentes.
ls /nsconfig/license ls /nsconfig/license/ssl ls /nsconfig/license/xml <!--NeedCopy-->
-
Apague la máquina desde la consola de AWS. Una vez que la instancia se haya detenido, cree una AMI a partir de la instancia.
Asigne a la instancia algo reconocible para TODOS, ya que se comparte públicamente a todos los administradores de SC2S (por ejemplo, “Citrix ADC VPX 13.0—47.24”)
-
Una vez que la AMI esté lista, implemente una instancia para verificar su funcionalidad.
-
Establezca los permisos de la AMI en
Public
, de modo que esté disponible para todos los administradores de SC2S.
Para actualizar a una nueva versión
-
Para VPX de Citrix ADC existentes en SC2S: actualice el VPX con el software de actualización disponible en https://citrix.com/downloads, haga el DTO del archivo a la parte superior. Siga las instrucciones de Actualizar un dispositivo independiente de Citrix ADC para instalarlo. El método de actualización recomendado es usar la línea de comandos.
-
Para los nuevos dispositivos Citrix ADC VPX en SC2S: Cree una AMI para compartirla públicamente. Inicie una instancia desde la AMI existente, actualice la máquina como en la sección anterior y realice los pasos de la sección “Creación de una AMI desde la instancia VPX iniciada” de este documento.