Erstellen eines VPX Amazon Machine Image (AMI) in SC2S
Mitwirkende
Autor: Jill Fetscher, Architekt
SC2S ist eine luftdichte AWS-Instanziierung ohne Zugriff auf einen AWS Marketplace. Alle Amazon Machine Images (AMI) müssen manuell mit dem vmimport Tool in die Umgebung hochgeladen werden. Aufgrund der Beschaffenheit der Citrix ADC VPX Appliance ist die Image-Datei zu groß, um das vmimport Tool zu verwenden. Das VPX AMI muss so erstellt werden, dass es für die zukünftige Verwendung bootfähig ist. Wir haben die folgende Methode speziell für SC2S entwickelt, aber sie kann auch für zukünftige Anwendungsfälle dieser Art verwendet werden, bei denen kein Marketplace existiert oder kein VPX AMI-Angebot im Marketplace verfügbar ist.
Erstellen eines VPX in SC2S: Schritte auf der niedrigen Seite (kommerzielles AWS)
-
Erstellen Sie eine VPC und ein Subnetz in UC2S (kommerziell) unter Verwendung desselben CIDR-Blocks wie die VPC, in der sich der Citrix ADC in SC2S befindet. (Zum Beispiel erstellen Sie eine VPC der Größe 10.0.0.0/16 mit einem einzelnen öffentlichen Subnetz der Größe 10.0.0.0/24 mithilfe des VPC-Assistenten.)
Dies kann auf zwei Arten erfolgen:
- Erstellen Sie eine Test-VPC in SC2S mit dem grundlegenden CIDR und Subnetting
- Kopieren Sie das in SC2S verwendete CIDR und Subnetting
Hinweis:
Für C2S erfolgt die VPC-Erstellung über einen Dienst und es wird automatisch ein IP-Bereich aus dem Supernetz zugewiesen. In diesem Fall ist die zweite Methode erforderlich. Für GovCloud warten Sie auf weitere Anweisungen oder laden Sie die neueste Version von VPX vom Marketplace herunter.



-
Stellen Sie eine EC2-Instanz aus dem Citrix ADC AMI im AWS Marketplace bereit. Die Instanz muss kundenlizenziert sein. Verwenden Sie eine nicht-nitro-basierte Instanz (zum Beispiel
m4.xlarge).Abbildung von Schritt 1, AMI auswählen(/de-de/advanced-concepts/media/vpx-ami-section-1-step-2-1.png)
Abbildung von Schritt 2, Instanztyp auswählen(/de-de/advanced-concepts/media/vpx-ami-section-1-step-2-2.png)
Wählen Sie die VPC aus, die Sie in den vorherigen Schritten erstellt haben. Deaktivieren Sie Öffentliche IP automatisch zuweisen. Abbildung von Schritt 3, Instanzdetails konfigurieren(/de-de/advanced-concepts/media/vpx-ami-section-1-step-2-3.png)
Benennen Sie die Instanz mit einem leicht erkennbaren Namen. Wir erstellen in den folgenden Schritten viele Instanzen, und es ist notwendig, jede Instanz für die weitere Konfiguration zu identifizieren.
Die Sicherheitsgruppe wird automatisch ausgefüllt. Klicken Sie auf Weiter durch die restlichen Schritte für den Instanzstart.
Abbildung des Assistenten(/de-de/advanced-concepts/media/vpx-ami-section-1-step-2-4.png)
-
Erstellen Sie einen Windows Server 2019 oder 2016 Base Bastion-Host, um Ihre VPX-Instanz zu erreichen.
Diese Instanz kann ein
m4.xlargesein und muss in derselben VPC und AZ wie der Citrix ADC erstellt werden, mit einer automatisch zugewiesenen öffentlichen IP. Das Root-Volume erfordert mindestens 45 GiB, General Purpose SSD (gp2).Hinweis:
Wenn die Umgebung die Erstellung von Elastic IPs (EIP) zulässt, können Sie die Erstellung des Bastion-Hosts überspringen, und die VPX-Instanz kann direkt über das Netzwerk oder das Internet verbunden werden. Wir empfehlen die Verwendung eines Bastion-Hosts aus Sicherheitsgründen und aufgrund der mangelnden EIP-Verfügbarkeit in Air-Gapped-Umgebungen.
Abbildung von Schritt 1, AMI auswählen(/de-de/advanced-concepts/media/vpx-ami-section-1-step-3-1.png)
Benennen Sie die Instanz mit einem erkennbaren Namen (zum Beispiel SC2S: WS2016 Bastion Low).
Abbildung von Schritt 5, Tags hinzufügen(/de-de/advanced-concepts/media/vpx-ami-section-1-step-3-2.png)
Erstellen Sie der Einfachheit halber eine Sicherheitsgruppe, die Gesamten Datenverkehr zulässt. Sie können diese Sicherheitsgruppe später einschränken.
Abbildung von Schritt 6, Sicherheitsgruppe konfigurieren(/de-de/advanced-concepts/media/vpx-ami-section-1-step-3-3.png)
Sobald die Instanz bereit ist, stellen Sie eine RDP-Verbindung zur Maschine über die öffentliche IP-Adresse her. Laden Sie dann PuTTY und WinSCP herunter und kopieren Sie das Schlüsselpaar, das zur Erstellung der VPX-Instanz verwendet wurde. Dies erfordert die Konvertierung der .pem-Datei in eine .ppk-Datei mit PuTTYgen. Deaktivieren Sie im Server-Manager die Windows-Firewall und die erweiterte Sicherheit des Internet Explorers. Überprüfen Sie mit PuTTY, ob Sie sich per SSH bei der neu bereitgestellten Citrix ADC Appliance anmelden können. Notieren Sie das
nsroot-Passwort für die Instanz. Standardmäßig ist dies die AWS InstanceID. Notieren Sie die private IP-Adresse der Instanz, da diese in einem späteren Schritt benötigt wird. Zu diesem Zeitpunkt verfügen Sie über eine funktionierende Citrix ADC Appliance.Hinweis:
Konfigurieren Sie diese VPX nicht! Melden Sie sich einfach als
nsrootan, um die Funktionalität zu überprüfen. -
Schalten Sie die Citrix ADC-Instanz über die AWS-Konsole aus. Trennen Sie das Root-EBS-Volume von der Citrix ADC-Instanz.

Um das Root-Volume zu trennen, klicken Sie auf das Root-Gerät
/dev/sda1und dann auf die Volume-ID. Wählen Sie auf der Registerkarte „Volume“ das Volume aus, benennen Sie es erkennbar (z. B. SC2S: Commercial Root Vol) und notieren Sie die Volume-ID. Klicken Sie auf Aktionen > Volume trennen > OK. Der Volume-Status sollte nun Verfügbar sein.
-
Stellen Sie eine neue Amazon Linux EC2-Instanz bereit (Amazon Linux 2 AMI (HVM), SSD-Volume-Typ, 64-Bit, EBS-backed, ENA-enabled). Diese Instanz sollte denselben Instanztyp wie die zuvor bereitgestellte VPX-Instanz haben (z. B.
m4.xlarge) und sich im selben VPC und Subnetz befinden, wobei die Einstellung „Öffentliche IP automatisch zuweisen“ deaktiviert ist. Benennen Sie die Instanz erkennbar (z. B. SC2S: Linux Low). Legen Sie die Sicherheitsgruppe vorerst so fest, dass sie den gesamten Datenverkehr zulässt. Sobald die Instanz gestartet ist, schalten Sie sie aus.
-
Hängen Sie das getrennte Root-EBS-Volume von der VPX an die Linux EC2-Instanz an.

Wählen Sie die von Ihnen erstellte Linux-Instanz aus, indem Sie auf Instanz > Anfügen klicken.

-
Erstellen Sie ein Volume mit einer höheren Kapazität als das Root-VPX-Volume. Die Root-Volume-Kapazität des VPX-Volumes beträgt 30 GiB. Erstellen Sie das Volume mit einer Kapazität von 35 GiB. Legen Sie den Volume-Typ auf General Purpose SSD (gp2) fest und benennen Sie es erkennbar (z. B. SC2S: Copy Low Vol). Hängen Sie das neue Volume an die Linux-Instanz an.



-
Schalten Sie die Linux-Instanz ein und stellen Sie über den Bastion-Host mithilfe der privaten Schlüsseldatei eine SSH-Verbindung her. Melden Sie sich als
ec2-user*an. -
Erstellen Sie eine Partition auf dem NEUEN EBS-Volume.
Hinweis:
In diesem Beispiel ist das VPX-Root-Volume SC2S: Commercial Root Vol
/dev/sdfund das neu erstellte 35-GiB-Volume SC2S: Copy Low Vol ist/dev/sdg. Die Partition soll nur auf SC2S: Copy Low Vol erstellt werden. In der AWS-Konsole werden diese Blockgeräte durch symbolische Links bezeichnet. In der Linux-Instanz werden/dev/sdfund/dev/sdgals/dev/xvdfbzw./dev/xvdgbezeichnet.Überprüfen Sie in der Linux-CLI, dass kein Dateisystem vorhanden ist. Die Antwort sollte nur data sein.
sudo file –s /dev/xvdg <!--NeedCopy-->Erstellen Sie ein Dateisystem.
sudo mkfs -t xfs /dev/xvdg <!--NeedCopy-->Erstellen Sie einen Mount-Punkt und mounten Sie das Gerät.
sudo mkdir /copy <!--NeedCopy-->sudo mount /dev/svdg /copy <!--NeedCopy-->Vergewissern Sie sich, dass das Gerät gemountet wurde und dass drei Geräte vorhanden sind (zum Beispiel
xvda,xvdfundxvdg).lsblk <!--NeedCopy-->Erstellen Sie die Partition mit
fdisk, wählen Sienfür neu,pfür primäre Partition,1für die Partitionsnummer und die Standardwerte für den ersten und letzten Sektor (ENTER, ENTER). Drücken Sie STRG+C zum Beenden.sudo fdisk /dev/xvdg >n >p >1 >enter >enter >CTRL+C <!--NeedCopy--> -
Kopieren Sie das VPX-Root-Volume auf Blockebene auf das neue EBS-Volume (zum Beispiel kopieren Sie SC2S: Commercial Root Vol nach SC2S: Copy Low Vol). Die hier erstellte Datei,
citrixADC.img, kann dann in die SC2S-Umgebung verschoben werden.sudo dd if=/dev/xvdf of=/copy/citrixADC.img status=progress <!--NeedCopy-->Dieser Kopiervorgang kann mehrere Stunden dauern.
Sobald der Kopiervorgang der Datei abgeschlossen ist, vergewissern Sie sich, dass sich die Datei im Verzeichnis /copy befindet, und ändern Sie die Berechtigungen der Datei, um Lese-, Schreib- und Ausführungszugriff zu ermöglichen.
ls /copy sudo chmod 777 /copy/citrixADC.img <!--NeedCopy--> -
Übertragen Sie die Datei
citrixADC.imgmit WinSCP an einen Speicherort, von dem aus sie auf die High-Side DTO’ed werden kann. Falls erforderlich, ist der Bastion groß genug, um die Image-Datei dorthin zu kopieren.
Erstellen Sie eine VPX in SC2S – Schritte auf der Hochseite
-
Erstellen Sie eine VPC mit demselben CIDR-Block und Subnetz wie in Schritt 1 für die Niedrigseite, oder verwenden Sie die vorhandene VPC. In diesem Beispiel ist der CIDR der VPC 10.0.0.0/16 und der Subnetz-IP-Bereich ist 10.0.0.0/16. Dies ist äußerst wichtig, da die endgültige VPX, die erstellt wird, dieselbe IP haben muss wie das Original vom kommerziellen Marketplace.

-
Starten Sie in der neuen VPC und dem neuen Subnetz eine Instanz von Amazon Linux (Amazon Linux 2 AMI (HVM), SSD Volume Type, EBS-backed, ENA-Enabled, 64-bit) vom GLEICHEN Instanztyp wie die auf der Niedrigseite bereitgestellte Citrix ADC Instanz (zum Beispiel
m4.xlarge). Geben Sie der Instanz einen erkennbaren Namen (zum Beispiel SC2S: Linux High). Wenn die Instanz bereit ist, schalten Sie sie aus.
- Fügen Sie zwei EBS-Volumes mit einer höheren Kapazität als die übertragene Dateigröße hinzu (zum Beispiel 35 GiB). Diese Volumes müssen vom gleichen SSD-Typ (gp2) sein wie das auf der Niedrigseite erstellte.
- Das erste Volume ist für die Kopie von der Niedrigseite. Geben Sie dem Volume einen erkennbaren Namen (zum Beispiel „SC2S: Copy High Vol“). Hängen Sie dieses Volume an die neue Linux-Instanz in SC2S als
/dev/sdfan. Dies ist der symbolische Link für/dev/xvdfauf der Instanz.

- Das zweite Volume wird zum Root-Volume für die neue VPX. Geben Sie dem Volume einen erkennbaren Namen (zum Beispiel „SC2S: Final VPX Vol“). Hängen Sie dieses Volume an die neue Linux-Instanz in SC2S als
/dev/sdgan. Dies ist der symbolische Link für/dev/xvdgauf der Instanz.

Die Instanz hat nun drei Blockgeräte angeschlossen, einschließlich des Root-Geräts. Schalten Sie die Instanz ein.

- Das erste Volume ist für die Kopie von der Niedrigseite. Geben Sie dem Volume einen erkennbaren Namen (zum Beispiel „SC2S: Copy High Vol“). Hängen Sie dieses Volume an die neue Linux-Instanz in SC2S als
-
Erstellen Sie einen Windows Server 2019 oder 2016 Basis-Bastion-Host auf der Hochseite auf die gleiche Weise wie den Bastion-Host auf der Niedrigseite. Diese Instanz sollte sich in der neu erstellten VPC und dem Subnetz befinden und mindestens 45 GiB für Dateiübertragungen haben. Stellen Sie „Auto-assign Public IP“ auf aktiviert ein. Geben Sie der Instanz einen erkennbaren Namen (zum Beispiel „SC2S: WS2016 Bastion_High“) und stellen Sie die Security Group vorerst auf „All Traffic“ ein.
-
Sobald der Bastion-Host bereit ist, stellen Sie eine RDP-Verbindung zur Maschine über die Public IP her, laden Sie PuTTY und WinSCP herunter und kopieren Sie das Keypair, das zur Erstellung der VPX-Instanz verwendet wurde. Dies erfordert die Konvertierung der .pem-Datei in eine .ppk-Datei mit PuTTYgen. Deaktivieren Sie im Server Manager vorerst die Windows-Firewall und die Internet Explorer Enhanced Security.
-
Kopieren Sie die Datei citrixADC.img auf den neuen Bastion-Host.
-
Starten Sie eine PuTTY-Sitzung zur neuen Linux-Instanz (z. B. „SC2S: Linux High“) vom Bastion-Host aus, indem Sie den AWS-Privatschlüssel mit dem Benutzernamen
ec2-userverwenden. -
Verwenden Sie
lsblk, um zu überprüfen, ob alle Geräte auf der Instanz vorhanden sind.
-
Vergewissern Sie sich, dass das
/dev/xvdf-Gerät kein Dateisystem hat, und erstellen Sie dann eines.Hinweis:
Erstellen Sie KEIN Dateisystem auf dem
/dev/xvdg-Gerät.sudo file –s /dev/xvdf sudo mkfs –t xfs /dev/xvdf <!--NeedCopy-->
-
Erstellen Sie einen Mountpoint für das Gerät, mounten Sie das Gerät und vergewissern Sie sich, dass der Volume-Mountpoint
/copyist.sudo mkdir /copy sudo mount /dev/xvdf /copy lsblk <!--NeedCopy-->
-
Erstellen Sie eine Partition mit
fdisk.sudo fdisk /dev/xvdf >n >p >1 >enter >enter >CTRL+C <!--NeedCopy-->
-
Ändern Sie die Berechtigungen für das Verzeichnis /copy.
sudo chmod 777 /copy <!--NeedCopy-->
-
Verbinden Sie sich über WinSCP auf dem Bastion-Host mit der Linux-Instanz. Kopieren Sie die Datei citrixADC.img in das Verzeichnis /copy. Nachdem die Datei kopiert wurde, ändern Sie die Berechtigungen in der WinSCP-Konsole, um Lese-, Schreib- und Ausführungszugriff für alle zu ermöglichen.
-
Kopieren Sie in der Linux-CLI die Image-Datei mit dem folgenden Befehl auf das Gerät /dev/xvdg:
sudo dd if=/copy/citrixADC.img of=/dev/xvdg status=progress <!--NeedCopy-->
-
Sobald der Kopiervorgang abgeschlossen ist, führen Sie den Befehl
lsblkaus, um zu überprüfen, ob die Partitionen des Citrix ADC auf dem Gerät /dev/xvdg angezeigt werden.lsblk <!--NeedCopy-->
-
Schalten Sie die Linux-Instanz aus und trennen Sie das Volume /dev/xvdg (/dev/sdg) (zum Beispiel „SC2S: Final VPX Vol“).


-
Stellen Sie eine neue Linux-Instanz vom GENAU gleichen Instanztyp wie die VPX auf der Low-Side bereit, in derselben VPC und demselben Subnetz, die auf der High-Side erstellt wurden (Amazon Linux 2 AMI (HVM), SSD-Volume-Typ, EBS-backed, ENA-enabled, 64-Bit,
m4.xlarge, Sicherheitsgruppe so eingestellt, dass „All Traffic“ zugelassen wird). Stellen Sie während der Einrichtung die IP-Adresse auf die GLEICHE wie die VPX auf der Low-Side ein, die im vorherigen Abschnitt dieses Dokuments vermerkt wurde. Sobald die Instanz bereit ist, schalten Sie die Instanz aus.
-
Trennen Sie das Root-Volume der neu bereitgestellten Linux-Instanz und hängen Sie die getrennte Instanz an (zum Beispiel „SC2S: Final VPX Vol“). Geben Sie während des Anhängens das Gerät als Root-Volume an (d. h.
/dev/xvda).
-
Schalten Sie die Instanz ein. Verwenden Sie den High-Side-Bastion-Host, um sich per PuTTY/SSH mit der Instanz zu verbinden und die Funktionalität der VPX zu überprüfen. Melden Sie sich als
nsrootmit dem Instanz-ID-Passwort an, das im vorherigen Abschnitt dieses Dokuments vermerkt wurde, und führen Sie einen einfachen Befehl aus.sh version <!--NeedCopy-->
Erstellen eines AMI aus der gestarteten VPX-Instanz
-
Melden Sie sich bei der Citrix ADC-Instanz an. Wechseln Sie in die Shell, um die notwendigen Änderungen als Root durchzuführen.
shell <!--NeedCopy-->
-
Entfernen Sie die folgenden Verzeichnisse und Dateien zwangsweise und rekursiv manuell aus der ADC-Software. Um die Dateien und Verzeichnisse manuell zu entfernen, fügen Sie rm –rf vor jedem Eintrag hinzu. ‘/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’

oder führen Sie dieses Skript aus:
#!/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--> -
Ändern Sie die Berechtigungen für das Verzeichnis /flash/nsconfig auf 755.
chmod 755 /flash/nsconfig <!--NeedCopy-->
-
Stellen Sie sicher, dass keine Restschlüssel vorhanden sind. Falls doch, entfernen Sie diese zwangsweise und rekursiv.
find / -type f -name “authorized*” rm -rf <filename> <!--NeedCopy-->
-
Stellen Sie sicher, dass keine Restlizenzen in /nsconfig/license vorhanden sind. Falls doch, entfernen Sie diese zwangsweise und rekursiv.
Hinweis:
In diesem Ordner befinden sich weitere Verzeichnisse und Dateien (z. B. SSL und XML). Entfernen Sie Lizenzdateien nur, wenn sie vorhanden sind.
ls /nsconfig/license ls /nsconfig/license/ssl ls /nsconfig/license/xml <!--NeedCopy-->
-
Schalten Sie die Maschine über die AWS-Konsole aus. Sobald die Instanz gestoppt wurde, erstellen Sie ein AMI aus der Instanz.

Benennen Sie die Instanz so, dass sie für ALLE erkennbar ist, da sie öffentlich mit allen Administratoren von SC2S geteilt wird (zum Beispiel „Citrix ADC VPX 13.0–47.24“).

-
Sobald das AMI bereit ist, stellen Sie eine Instanz davon bereit, um die Funktionalität zu überprüfen.

-
Legen Sie die Berechtigungen für das AMI auf
Publicfest, damit es allen Administratoren von SC2S zur Verfügung steht.
So aktualisieren Sie auf eine neue Version
-
Für bestehende Citrix ADC VPXs in SC2S: Aktualisieren Sie die VPX mit der Upgrade-Software, die unter https://citrix.com/downloads verfügbar ist, und übertragen Sie die Datei auf die Highside. Befolgen Sie zur Installation die Anleitung unter Upgrade a Citrix ADC standalone appliance. Die empfohlene Upgrade-Methode ist die Verwendung der Befehlszeile.
-
Für neue Citrix ADC VPXs in SC2S: Erstellen Sie ein AMI zur öffentlichen Freigabe. Starten Sie eine Instanz vom bestehenden AMI, aktualisieren Sie die Maschine wie im vorhergehenden Abschnitt beschrieben und führen Sie die Schritte aus dem Abschnitt „Erstellen eines AMI aus der gestarteten VPX-Instanz“ in diesem Dokument aus.