Creación de una imagen de máquina de Amazon (AMI) VPX en SC2S
Colaboradores
Autor: Jill Fetscher, Arquitecto
SC2S es una instancia de AWS aislada (air-gapped) sin acceso a un AWS Marketplace. Todas las imágenes de máquina de Amazon (AMI) deben cargarse manualmente en el entorno utilizando 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 forma que sea arrancable para uso futuro. Hemos creado el siguiente método específicamente para SC2S, pero puede utilizarse para futuros casos de uso de esta naturaleza, donde no exista un Marketplace, o no haya una oferta de AMI VPX disponible en el Marketplace.
Crear una VPX en SC2S: Pasos en el entorno comercial (AWS comercial)
-
Cree una VPC y una subred en UC2S (comercial) utilizando el mismo bloque CIDR que la VPC donde reside el Citrix ADC 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 utilizando el Asistente de VPC.)
Esto se puede hacer de dos maneras:
- Cree una VPC de prueba en SC2S con el CIDR y el subredes básicos
- Copie el CIDR y el 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 de la superred. En este caso, el segundo método es necesario. Para GovCloud, espere más instrucciones, o descargue la última versión de VPX desde el Marketplace.



-
Implemente una instancia EC2 desde la AMI de Citrix ADC en AWS Marketplace. La instancia debe tener licencia de cliente. Utilice una instancia no basada en Nitro (por ejemplo,
m4.xlarge).

Elija la VPC que creó en los pasos anteriores. Deshabilite Asignar IP pública automáticamente.

Asigne a la instancia un nombre fácilmente reconocible. Crearemos muchas instancias en los siguientes pasos y es necesario identificar cada instancia para su posterior configuración.
El grupo de seguridad se rellena automáticamente. Haga clic en Siguiente para el resto de los pasos para el lanzamiento de la instancia.

-
Cree un host bastión base de Windows Server 2019 o 2016 para acceder a su instancia VPX.
Esta instancia puede ser un
m4.xlarge, y debe construirse en la misma VPC y AZ que el Citrix ADC, con una IP pública asignada automáticamente. El volumen raíz requiere un mínimo de 45 GiB, SSD de propósito 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 la instancia VPX se puede conectar 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 aislados.

Asigne a la instancia un nombre reconocible (por ejemplo, SC2S: WS2016 Bastion Low).

Para simplificar, cree un grupo de seguridad que permita Todo el tráfico. Puede restringir este grupo de seguridad más adelante.

Una vez que la instancia esté lista, acceda a la máquina mediante RDP utilizando la IP pública. Luego, descargue PuTTY y WinSCP, y copie el par de claves que se utilizó para crear la instancia VPX. Esto requiere la conversión del archivo .pem a .ppk, utilizando PuTTYgen. En el Administrador del servidor, deshabilite el Firewall de Windows y la Seguridad mejorada de Internet Explorer. Con PuTTY, verifique que puede acceder por SSH al nuevo dispositivo Citrix ADC implementado. Anote la contraseña
nsrootde la instancia. Por defecto, esta es la InstanceID de AWS. Anote la IP privada de la instancia, ya que será necesaria en un paso posterior. En esta etapa, ya tiene un dispositivo Citrix ADC en funcionamiento.Nota:
¡No configure este VPX! Simplemente inicie sesión como
nsrootpara verificar la funcionalidad. -
Apague la instancia de Citrix ADC desde la consola de AWS. Desvincule el volumen raíz de EBS de la instancia de Citrix ADC.

Para desvincular el volumen raíz, haga clic en el dispositivo raíz
/dev/sda1y, a continuación, haga clic en el ID del volumen. En la pestaña 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 > Desvincular volumen > Aceptar. El estado del volumen ahora debería ser Disponible.
-
Implemente una nueva instancia de Amazon Linux EC2 (Amazon Linux 2 AMI (HVM), tipo de volumen SSD, 64 bits, con respaldo 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 configuración “Asignar IP pública automáticamente” deshabilitada. 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 la instancia se inicie, apáguela.
-
Adjunte el volumen raíz de EBS desvinculado del 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 superior a la del volumen raíz de VPX. La capacidad del volumen raíz de 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 conéctese a ella por SSH desde el host bastión usando el archivo de clave privada. Inicie sesión como
ec2-user*. -
Cree una partición en el NUEVO volumen EBS.
Nota:
En este ejemplo, el volumen raíz de VPX SC2S: Commercial Root Vol es
/dev/sdfy el volumen de 35 GiB recién creado 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 bloque se denotan mediante enlaces simbólicos. En la instancia de Linux,/dev/sdfy/dev/sdgse denominan/dev/xvdfy/dev/xvdg, respectivamente.En la CLI de Linux, verifique que no haya ningún sistema de archivos. La respuesta debe ser solo data.
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-->Verifique que el dispositivo se haya montado, y que haya tres dispositivos (por ejemplo,
xvda,xvdfyxvdg).lsblk <!--NeedCopy-->Cree la partición usando
fdisk, eligiendonpara nuevo,ppara partición primaria,1para el número de partición, y los valores predeterminados para el primer y último sector (INTRO, INTRO). Presione CTRL+C para salir.sudo fdisk /dev/xvdg >n >p >1 >enter >enter >CTRL+C <!--NeedCopy--> -
Copie el volumen raíz de VPX al nuevo volumen EBS a nivel de bloque (por ejemplo, copie SC2S: Commercial Root Vol a SC2S: Copy Low Vol). El archivo creado aquí,
citrixADC.img, se puede mover luego al entorno SC2S.sudo dd if=/dev/xvdf of=/copy/citrixADC.img status=progress <!--NeedCopy-->Esta copia puede tardar varias horas.
Una vez completada la copia del archivo, verifique que el archivo esté en el directorio /copy, y cambie los permisos del archivo para permitir lectura, escritura y ejecución.
ls /copy sudo chmod 777 /copy/citrixADC.img <!--NeedCopy--> -
Use WinSCP para transferir el archivo
citrixADC.imga una ubicación donde pueda ser DTO’ed a la parte superior. Si es necesario, el bastión es lo suficientemente grande como para copiar el archivo de imagen.
Crear un VPX en SC2S - Pasos en el lado de alta seguridad
-
Cree una VPC con el mismo bloque CIDR y subred que en el paso 1 para el lado de baja seguridad, o utilice la VPC existente. En este ejemplo, el CIDR de la VPC es 10.0.0.0/16 y el espacio IP de la subred es 10.0.0.0/16. Esto es extremadamente importante, porque el VPX final que se crea debe tener la misma IP que el original del Marketplace comercial.

-
En la nueva VPC y subred, inicie una instancia de Amazon Linux (Amazon Linux 2 AMI (HVM), tipo de volumen SSD, con respaldo EBS, ENA-Enabled, 64 bits) del MISMO tipo de instancia que la instancia de Citrix ADC implementada en el lado de baja seguridad (por ejemplo,
m4.xlarge). Asigne un nombre reconocible a la instancia (por ejemplo, SC2S: Linux High). Cuando la instancia esté lista, apáguela.
- Agregue dos volúmenes EBS con una capacidad superior al tamaño del archivo transferido (por ejemplo, 35 GiB). Estos volúmenes deben ser del mismo tipo SSD (gp2) que el creado en el lado de baja seguridad.
- El primer volumen es para la copia del lado de baja seguridad. Asigne un nombre reconocible al volumen (por ejemplo, “SC2S: Copy High Vol”). Adjunte este volumen a la nueva instancia de Linux en SC2S como
/dev/sdf. Este es el enlace simbólico para/dev/xvdfen la instancia.

- El segundo volumen se convierte en el volumen raíz para el nuevo VPX. Asigne un nombre reconocible al volumen (por ejemplo, “SC2S: Final VPX Vol”). Adjunte este volumen a la nueva instancia de Linux en SC2S como
/dev/sdg. Este es el enlace simbólico para/dev/xvdgen la instancia.

La instancia ahora tiene tres dispositivos de bloque adjuntos, incluido el dispositivo raíz. Encienda la instancia.

- El primer volumen es para la copia del lado de baja seguridad. Asigne un nombre reconocible al volumen (por ejemplo, “SC2S: Copy High Vol”). Adjunte este volumen a la nueva instancia de Linux en SC2S como
-
Cree un host bastión base de Windows Server 2019 o 2016 de alta seguridad de la misma manera que el bastión de baja seguridad. Esta instancia debe estar en la VPC y subred recién creadas, y debe tener al menos 45 GiB para transferencias de archivos. Establezca “Asignar IP pública automáticamente” en habilitado. Asigne un nombre reconocible a la instancia (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 bastión esté listo, acceda a la máquina mediante RDP utilizando la IP pública, descargue PuTTY y WinSCP, y copie el par de claves que se utilizó para crear la instancia VPX. Esto requiere la conversión del archivo .pem a .ppk, utilizando PuTTYgen. En el Administrador del servidor, deshabilite el Firewall de Windows y la Seguridad mejorada de Internet Explorer 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, utilizando la clave privada de AWS con el nombre de usuario
ec2-user. -
Utilice
lsblkpara verificar que todos los dispositivos estén presentes en la instancia.
-
Verifique que el dispositivo
/dev/xvdfno tenga un 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 verifique que el punto de montaje del volumen sea
/copy.sudo mkdir /copy sudo mount /dev/xvdf /copy lsblk <!--NeedCopy-->
-
Cree una partición utilizando
fdisk.sudo fdisk /dev/xvdf >n >p >1 >enter >enter >CTRL+C <!--NeedCopy-->
-
Cambie los permisos del directorio /copy.
sudo chmod 777 /copy <!--NeedCopy-->
-
Utilizando WinSCP en el host bastión, conéctese a la instancia de Linux. Copie el archivo citrixADC.img al directorio /copy. Una vez copiado el archivo, cambie los permisos para permitir la lectura, escritura y ejecución para todos desde la consola de WinSCP.
-
En la CLI de Linux, copie el archivo de imagen al dispositivo /dev/xvdg utilizando el siguiente comando:
sudo dd if=/copy/citrixADC.img of=/dev/xvdg status=progress <!--NeedCopy-->
-
Una vez completada la copia, ejecute el comando
lsblkpara verificar que las particiones de Citrix ADC se muestran en el dispositivo /dev/xvdg.lsblk <!--NeedCopy-->
-
Apague la instancia de Linux y desvincule el volumen /dev/xvdg (/dev/sdg) (por ejemplo, «SC2S: Final VPX Vol»).


-
Implemente una nueva instancia de Linux del MISMO tipo de instancia EXACTO que el VPX en el lado bajo, en la misma VPC y subred que se creó en el lado alto (Amazon Linux 2 AMI (HVM), tipo de volumen SSD, con respaldo 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 IGUAL que la del VPX en el lado bajo, que se indicó en la sección anterior de este documento. Una vez que la instancia esté lista, apáguela.
-
Desvincule el volumen raíz de la instancia de Linux recién implementada y vincule el volumen desvinculado (por ejemplo, «SC2S: Final VPX Vol»). Durante la vinculación, especifique el dispositivo como el volumen raíz (es decir,
/dev/xvda).
-
Encienda la instancia. Usando el host bastión del lado alto, conéctese por PuTTY/SSH a la instancia para verificar la funcionalidad del VPX. Inicie sesión como
nsrootcon la contraseña de ID de instancia indicada en la sección anterior de este documento, y ejecute 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. Acceda a la 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, añada 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 las hay, elimínelas de forma forzada y recursiva.
find / -type f -name “authorized*” rm -rf <filename> <!--NeedCopy-->
-
Verifique que no existan licencias residuales en /nsconfig/license. Si las hay, elimínelas de forma forzada y recursiva.
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 un nombre reconocible para TODOS, ya que se comparte públicamente con todos los administradores de SC2S (por ejemplo, “Citrix ADC VPX 13.0–47.24”)

-
Una vez que la AMI esté lista, implemente una instancia a partir de ella para verificar la funcionalidad.

-
Establezca los permisos de la AMI en
Public, para que esté disponible para todos los administradores de SC2S.
Para actualizar a una nueva versión
-
Para los Citrix ADC VPX existentes en SC2S: Actualice el VPX utilizando el software de actualización disponible en https://citrix.com/downloads, transfiera el archivo al lado de alta seguridad. Siga las instrucciones de Actualizar un dispositivo Citrix ADC independiente para la instalación. El método de actualización recomendado es usar la línea de comandos.
-
Para los nuevos Citrix ADC VPX en SC2S: Cree una AMI para compartir públicamente. Inicie una instancia desde la AMI existente, actualice la máquina como se indica en la sección anterior y realice los pasos de la sección “Creación de una AMI a partir de la instancia VPX iniciada” en este documento.