Concepts avancés

Création d’une image machine Amazon VPX (AMI) dans SC2S

Contributeurs

Auteur : Jill Fetscher, architecte

SC2S est une instanciation AWS « air-gap » sans accès à AWS Marketplace. Toutes les images machine Amazon (AMI) doivent être téléchargées manuellement dans l’environnement à l’aide de l’outil vmimport. En raison de la nature de l’appliance Citrix ADC VPX, le fichier image est trop volumineux pour utiliser l’outil vmimport. L’AMI VPX doit être créée de manière à pouvoir être démarrée pour une utilisation future. Nous avons créé la méthode suivante spécifiquement pour SC2S, mais elle peut être utilisée pour de futurs cas d’utilisation de cette nature, lorsqu’aucun Marketplace n’existe ou qu’aucune offre d’AMI VPX n’est disponible sur le Marketplace.

Créer un VPX dans SC2S : Des pas vers le bas (AWS commercial)

  1. Créez un VPC et un sous-réseau dans UC2S (commercial) en utilisant le même bloc d’adresse CIDR que le VPC où réside le Citrix ADC dans SC2S. (Par exemple, créez un VPC de taille 10.0.0.0/16, avec un sous-réseau public unique de taille 10.0.0.0/24 à l’aide de l’assistant VPC.)

    Cela peut se faire de deux manières :

    • Créez un VPC de test dans SC2S avec le CIDR de base et le sous-réseau
    • Copiez le CIDR et le sous-réseau utilisés dans SC2S

    Remarque :

    Pour C2S, la création d’un VPC se fait via un service et un espace IP est automatiquement alloué à partir du superréseau. Dans ce cas, la deuxième méthode est nécessaire. Pour GovCloud, attendez des instructions supplémentaires ou téléchargez la dernière version de VPX depuis la Marketplace.

    image du tableau de bord du VPC

    image de l'assistant de configuration de VPC, étape 1

    image de l'assistant VPC, étape 2

  2. Déployez une instance EC2 à partir de l’AMI Citrix ADC dans AWS Marketplace. L’instance doit être sous licence client. Utilisez une instance non basée sur Nitro (par exemple, m4.xlarge).

    image de l'étape 1, choisissez AMI

    image de l'étape 2, choisissez le type d'instance

    Choisissez le VPC que vous avez créé lors des étapes précédentes. Désactivez l’ attribution automatique de l’IP publique. image de l'étape 3, configuration des détails de l'instance

    Nommez l’instance avec un nom facilement reconnaissable. Nous créons de nombreuses instances au cours des étapes suivantes et il est nécessaire d’identifier chaque instance pour une configuration ultérieure.

    Le groupe de sécurité est automatiquement renseigné. Cliquez sur Next (Suivant) tout au long des autres étapes pour lancer l’instance.

    image de l'assistant

  3. Créez un hôte bastion de base Windows Server 2019 ou 2016 pour atteindre votre instance VPX.

    Cette instance peut être un m4.xlarge, et doit être créée dans le même VPC et la même AZ que Citrix ADC, avec une adresse IP publique attribuée automatiquement. Le volume racine nécessite un minimum de 45 Gio, SSD à usage général (gp2).

    Remarque :

    Si l’environnement autorise la création d’adresses IP élastiques (EIP), vous pouvez ignorer la création de l’hôte bastion et l’instance VPX peut être connectée directement depuis le réseau ou Internet. Nous recommandons l’utilisation d’un hôte bastion pour des raisons de sécurité et le manque de disponibilité EIP dans les environnements isolés.

    image de l'étape 1, choisissez AMI

    Donnez à l’instance un nom reconnaissable (par exemple, SC2S : WS2016 Bastion Low).

    image de l'étape 5, ajout de balises

    Pour simplifier, créez un groupe de sécurité pour autoriser Tout le trafic. Vous pourrez verrouiller ce groupe de sécurité ultérieurement.

    image de l'étape 6, configuration du groupe de sécurité

    Une fois que l’instance est prête, RDP entre dans la machine à l’aide de l’adresse IP publique. Téléchargez ensuite PuTTY et WinSCP, puis copiez la paire de clés qui a été utilisée pour créer l’instance VPX. Cela nécessite la conversion du fichier .pem en .ppk, à l’aide de PuTTYgen. Dans le Gestionnaire de serveur, désactivez le pare-feu Windows et la sécurité renforcée d’Internet Explorer. À l’aide de PuTTY, vérifiez que vous êtes capable de SSH dans l’appliance Citrix ADC récemment déployée. Notez le nsroot mot de passe de l’instance. Par défaut, il s’agit de l’AWS InstanceID. Notez l’adresse IP privée de l’instance, car elle sera nécessaire dans une étape ultérieure. À ce stade, vous disposez d’une appliance Citrix ADC fonctionnelle.

    Remarque :

    Ne configurez pas ce VPX ! Il vous suffit de vous connecter nsroot pour vérifier la fonctionnalité.

  4. Mettez l’instance Citrix ADC hors tension depuis la console AWS. Détachez le volume EBS racine de l’instance Citrix ADC.

    nouvelle image EC2

    Pour détacher le volume racine, cliquez sur le périphérique racine /dev/sda1, puis sur l’ID du volume. Dans l’onglet Volume, sélectionnez le volume, donnez-lui un nom reconnaissable (par exemple, SC2S : Commercial Root Vol) et notez l’ID du volume. Cliquez sur Actions > Détacher le volume > OK. L’état du volume devrait désormais être Disponible.

    image détaillée de l'instance

  5. Déployez une nouvelle instance Amazon Linux EC2 (AMI Amazon Linux 2 (HVM), type de volume SSD, 64 bits, soutenue par EBS, compatible ENA). Cette instance doit être du même type d’instance que l’instance VPX précédemment déployée (par exemple m4.xlarge), et doit se trouver dans le même VPC et le même sous-réseau, avec le paramètre « Auto-assign Public IP » désactivé. Donnez à l’instance un nom reconnaissable (par exemple SC2S : Linux Low). Définissez le groupe de sécurité pour autoriser tout le trafic pour le moment. Une fois l’instance lancée, mettez-la hors tension.

    ajouter des balises image

  6. Attachez le volume EBS racine détaché du VPX à l’instance Linux EC2.

    nouvelle image EC2

    Choisissez l’instance Linux que vous avez créée en cliquant sur Instance > Attach.

    joindre une image de volume

  7. Créez un volume avec une capacité supérieure à celle du volume VPX racine. La capacité du volume racine du volume VPX est de 30 Gio. Créez le volume d’une capacité de 35 Gio. Définissez le type de volume sur SSD à usage général (gp2) et nommez-le quelque chose de reconnaissable (par exemple, SC2S : Copy Low Vol). Attachez le nouveau volume à l’instance Linux.

    créer et joindre des volumes

    créer et joindre des volumes

    créer et joindre des volumes

  8. Mettez sous tension l’instance Linux et connectez-vous via SSH depuis l’hôte bastion à l’aide du fichier de clé privée. Connectez-vous en tant que ec2-user*.

  9. Créez une partition sur le nouveau volume EBS.

    Remarque :

    Dans cet exemple, le volume racine VPX SC2S : Commercial Root Vol est /dev/sdf et le volume 35 Gio SC2S : Copy Low Vol nouvellement créé est /dev/sdg. La partition doit être créée sur SC2S : Copy Low Vol uniquement. Dans la console AWS, ces périphériques en mode bloc sont signalés par des liens symboliques. Dans l’instance Linux, /dev/sdf et /dev/sdg sont respectivement appelés /dev/xvdf et /dev/xvdg.

    Dans l’interface de ligne de commande Linux, vérifiez qu’il n’existe aucun système de fichiers. La réponse ne doit être que des données .

    sudo file –s /dev/xvdg
    <!--NeedCopy-->
    

    Créez un système de fichiers.

    sudo mkfs -t xfs /dev/xvdg
    <!--NeedCopy-->
    

    Créez un point de montage et montez le périphérique.

    sudo mkdir /copy
    <!--NeedCopy-->
    
    sudo mount  /dev/svdg /copy
    <!--NeedCopy-->
    

    Vérifiez que le périphérique a été monté et qu’il existe trois périphériques (par exemple xvdaxvdf, et xvdg).

    lsblk
    <!--NeedCopy-->
    

    Créez la partition en utilisant fdisk, en choisissant n pour nouveau, p pour la partition principale, 1 pour le numéro de partition et les valeurs par défaut pour le premier et le dernier secteur (ENTRÉE, ENTRÉE). Appuyez sur CTRL+C pour quitter.

    sudo fdisk /dev/xvdg
    >n
    >p
    >1
    >enter
    >enter
    >CTRL+C
    <!--NeedCopy-->
    
  10. Copiez le volume racine VPX sur le nouveau volume EBS au niveau du bloc (par exemple, copiez SC2S : Commercial Root Vol vers SC2S : Copy Low Vol). Le fichier créé ici, citrixADC.img, peut ensuite être déplacé vers l’environnement SC2S.

    sudo dd if=/dev/xvdf of=/copy/citrixADC.img status=progress
    <!--NeedCopy-->
    

    Cette copie peut prendre plusieurs heures.

    Une fois la copie du fichier terminée, vérifiez que le fichier se trouve dans le répertoire /copy et modifiez les autorisations sur le fichier pour autoriser la lecture, l’écriture et l’exécution.

    ls /copy
    sudo chmod 777 /copy/citrixADC.img
    <!--NeedCopy-->
    
  11. WinSCP le fichier citrixADC.img à un emplacement où il peut être ajouté par point jusqu’à la partie supérieure. Au besoin, le bastion est suffisamment grand pour y copier le fichier image.

Créer un VPX dans SC2S - Steps on High Side

  1. Créez un VPC avec le même bloc d’adresse CIDR et le même sous-réseau qu’à l’étape 1 pour le côté inférieur, ou utilisez le VPC existant. Dans cet exemple, l’adresse CIDR du VPC est 10.0.0.0/16 et l’espace IP du sous-réseau est 10.0.0.0/16. Ceci est extrêmement important, car le VPX final créé doit être la même IP que l’original provenant du Marketplace commercial.

    espace réservé à l'image

  2. Dans le nouveau VPC et le nouveau sous-réseau, lancez une instance d’Amazon Linux (AMI Amazon Linux 2 (HVM), type de volume SSD, soutenu par EBS, compatible ENA, 64 bits) du même type d’instance que l’instance Citrix ADC déployée sur le côté inférieur (par exemple m4.xlarge). Donnez à l’instance un nom reconnaissable (par exemple SC2S : Linux High). Lorsque l’instance est prête, mettez-la hors tension.

    espace réservé à l'image

  3. Ajoutez deux volumes EBS d’une capacité supérieure à la taille du fichier transféré (par exemple 35 Gio). Ces volumes doivent être du même type de SSD (gp2) que celui créé sur le côté inférieur.
    1. Le premier volume est destiné à la copie par le bas. Donnez au volume un nom reconnaissable (par exemple « SC2S : Copy High Vol »). Attachez ce volume à la nouvelle instance Linux dans SC2S en tant que /dev/sdf. Il s’agit du lien symbolique pour l’instance /dev/xvdf.

    espace réservé à l'image

    1. Le deuxième volume devient le volume racine du nouveau VPX. Nommez le volume quelque chose de reconnaissable (par exemple « SC2S : Final VPX Vol »). Attachez ce volume à la nouvelle instance Linux dans SC2S en tant que /dev/sdg. Il s’agit du lien symbolique pour l’instance /dev/xvdg.

    espace réservé à l'image

    Trois périphériques en mode bloc sont désormais connectés à l’instance, y compris le périphérique racine. Mettez l’instance sous tension.

    espace réservé à l'image

  4. Créez un hôte bastion de base Windows Server 2019 ou 2016 de la même manière que le bastion inférieur. Cette instance doit se trouver dans le VPC et le sous-réseau nouvellement créés, et doit mesurer au moins 45 Gio pour les transferts de fichiers. Définissez « Assigner automatiquement l’adresse IP publique » sur Activé. Nommez l’instance quelque chose de reconnaissable (par exemple « SC2S : WS2016 Bastion_High ») et définissez le groupe de sécurité pour autoriser « Tout le trafic » pour le moment.

  5. Une fois que l’hôte bastion est prêt, RDP entre dans la machine à l’aide de l’adresse IP publique, télécharge PuTTY et WinSCP, puis copie la paire de clés qui a été utilisée pour créer l’instance VPX. Cela nécessite la conversion du fichier .pem en .ppk, à l’aide de PuTTYgen. Dans le Gestionnaire de serveur, désactivez le pare-feu Windows et la sécurité renforcée d’Internet Explorer pour l’instant.

  6. Copiez le fichier CitrixADC.img sur le nouvel hôte Bastion.

  7. Démarrez une session PuTTY vers la nouvelle instance Linux (par exemple « SC2S : Linux High ») depuis l’hôte bastion, en utilisant la clé privée AWS avec le nom d’utilisateur ec2-user.

  8. Utilisez lsblk pour vérifier que tous les périphériques sont présents sur l’instance.

    espace réservé à l'image

  9. Vérifiez que le périphérique /dev/xvdf ne possède pas de système de fichiers, puis créez-en un.

    Remarque :

    NE créez PAS de système de fichiers sur l’appareil /dev/xvdg.

    sudo file –s /dev/xvdf
    sudo mkfs –t xfs /dev/xvdf
    <!--NeedCopy-->
    

    espace réservé à l'image

  10. Créez un point de montage pour le périphérique, montez le périphérique et vérifiez que le point de montage du volume est /copy.

    sudo mkdir /copy
    sudo mount /dev/xvdf /copy
    lsblk
    <!--NeedCopy-->
    

    espace réservé à l'image

  11. Créez une partition à l’aide de fdisk.

    sudo fdisk /dev/xvdf
     >n
     >p
     >1
     >enter
     >enter
     >CTRL+C
    <!--NeedCopy-->
    

    espace réservé à l'image

  12. Modifiez les autorisations sur le répertoire /copy.

    sudo chmod 777 /copy
    <!--NeedCopy-->
    

    espace réservé à l'image

  13. À l’aide de WinSCP sur l’hôte Bastion, connectez-vous à l’instance Linux. Copiez le fichier CitrixADC.img dans le répertoire /copy. Une fois le fichier copié, modifiez les autorisations pour autoriser la lecture, l’écriture et l’exécution pour tous à partir de la console WinSCP.

  14. Dans l’interface de ligne de commande Linux, copiez le fichier image sur le périphérique /dev/xvdg à l’aide de la commande suivante :

    sudo dd if=/copy/citrixADC.img of=/dev/xvdg status=progress
    <!--NeedCopy-->
    

    espace réservé à l'image

  15. Une fois la copie terminée, exécutez la commande lsblk pour vérifier que les partitions du Citrix ADC s’affichent sur le périphérique /dev/xvdg.

    lsblk
    <!--NeedCopy-->
    

    espace réservé à l'image

  16. Mettez l’instance Linux hors tension et détachez le volume /dev/xvdg (/dev/sdg) (par exemple « SC2S : Final VPX Vol »).

    espace réservé à l'image

    espace réservé à l'image

  17. Déployez une nouvelle instance Linux du même type d’instance EXACT que le VPX du côté inférieur, dans le même VPC et le même sous-réseau que ceux créés sur le côté supérieur (AMI Amazon Linux 2 (HVM), type de volume SSD, soutenu par EBS, compatible ENA, 64 bits m4.xlarge, groupe de sécurité défini pour autoriser « Tout le trafic »). Pendant la configuration, définissez l’adresse IP sur le même que le VPX sur le côté inférieur, comme indiqué dans la section précédente de ce document. Une fois que l’instance est prête, mets-la hors tension.

    espace réservé à l'image

  18. Détachez le volume racine de l’instance Linux nouvellement déployée et attachez l’instance détachée (par exemple « SC2S : Final VPX Vol »). Lors de la connexion, spécifiez le périphérique en tant que volume racine (c’est-à-dire /dev/xvda).

    espace réservé à l'image

  19. Mettez l’instance sous tension. À l’aide de l’hôte bastion highside, Putty/SSH vers l’instance pour vérifier la fonctionnalité du VPX. Connectez-vous en tant que nsroot avec le mot de passe de l’ID d’instance indiqué dans la section précédente de ce document et exécutez une commande simple.

    sh version
    <!--NeedCopy-->
    

    espace réservé à l'image

Création d’une AMI à partir de l’instance VPX lancée

  1. Connectez-vous à l’instance Citrix ADC. Allez dans le shell pour effectuer les modifications nécessaires en tant que root.

    shell
    <!--NeedCopy-->
    

    espace réservé à l'image

  2. Supprimez manuellement de manière forcée et récursive les répertoires et fichiers suivants du logiciel ADC. Pour supprimer les fichiers et les répertoires manuellement, ajoutez rm —rf devant chacun d’eux. ‘/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’

    espace réservé à l'image : rm -rf

    ou exécutez ce 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-->
    
  3. Modifiez les autorisations sur le répertoire /flash/nsconfig sur 755.

    chmod 755 /flash/nsconfig
    <!--NeedCopy-->
    

    espace réservé à l'image

  4. Vérifiez qu’il ne reste aucune clé résiduelle. Si c’est le cas, supprimez-les de manière forcée et récursive.

    find / -type f -name “authorized*”
    rm -rf <filename>
    <!--NeedCopy-->
    

    espace réservé à l'image

  5. Vérifiez qu’aucune licence résiduelle n’existe dans /nsconfig/license. Si c’est le cas, supprimez-les de manière forcée et récursive.

    Remarque :

    Il y aura d’autres répertoires et fichiers dans ce dossier (par exemple SSL et XML), supprimez uniquement les fichiers de licence s’ils sont présents.

    ls /nsconfig/license
    ls /nsconfig/license/ssl
    ls /nsconfig/license/xml
    <!--NeedCopy-->
    

    espace réservé à l'image

  6. Mettez la machine hors tension depuis la console AWS. Une fois l’instance arrêtée, créez une AMI à partir de l’instance.

    espace réservé à l'image

    Nommez l’instance quelque chose de reconnaissable par TOUS, car elle est partagée publiquement avec tous les administrateurs de SC2S (par exemple « Citrix ADC VPX 13.0—47.24 »)

    espace réservé à l'image

  7. Une fois que l’AMI est prête, déployez une instance à partir de celle-ci pour vérifier la fonctionnalité.

    espace réservé à l'image

  8. Définissez les autorisations sur l’AMI sur Public, afin qu’elle soit disponible pour tous les administrateurs de SC2S.

Pour effectuer une mise à niveau vers une nouvelle version

  • Pour les VPN Citrix ADC existants dans SC2S : Mettez à niveau le VPX à l’aide du logiciel de mise à niveau disponible sur https://citrix.com/downloads, DTO le fichier haut de gamme. Suivez les instructions de la section Mettre à niveau une appliance autonome Citrix ADC pour l’ installer. La méthode de mise à niveau recommandée consiste à utiliser la ligne de commande.

  • Pour les nouveaux VPN Citrix ADC dans SC2S : créez une AMI à partager publiquement. Lancez une instance à partir de l’AMI existante, mettez à niveau la machine comme indiqué dans la section précédente et suivez les étapes de la section « Création d’une AMI à partir de l’instance VPX lancée » de ce document.

Création d’une image machine Amazon VPX (AMI) dans SC2S