SC2S で VPX Amazon マシンイメージ (AMI) を作成する
貢献者
Author: Jill Fetscher, Architect
SC2S は、AWS Marketplace にアクセスできないエアギャップされた AWS インスタンスです。すべての Amazon マシンイメージ (AMI) は、vmimport ツールを使用して環境に手動でアップロードする必要があります。Citrix ADC VPX アプライアンスの性質上、イメージファイルが大きすぎて vmimport ツールを使用できません。VPX AMI は、将来使用できるように起動可能に作成する必要があります。この方法は SC2S 専用に作成しましたが、Marketplace が存在しない、または Marketplace で VPX AMI が提供されていない、といった将来の同様のユースケースにも使用できます。
SC2S で VPX を作成する: 低サイド (商用 AWS) の手順
-
SC2S で Citrix ADC が存在する VPC と同じ CIDR ブロックを使用して、UC2S (商用) に VPC とサブネットを作成します。(例: VPC ウィザードを使用して、サイズ 10.0.0.0/16 の VPC を作成し、サイズ 10.0.0.0/24 の単一のパブリックサブネットを作成します。)
これには2つの方法があります。
- 基本的な CIDR とサブネット設定で SC2S にテスト VPC を作成する
- SC2S で使用されている CIDR とサブネット設定をコピーする
注:
C2S の場合、VPC の作成はサービスを通じて行われ、スーパーネットから IP スペースが自動的に割り当てられます。この場合、2番目の方法が必要です。GovCloud の場合は、さらなる指示を待つか、Marketplace から VPX の最新バージョンをダウンロードしてください。



-
AWS Marketplace の Citrix ADC AMI から EC2 インスタンスをデプロイします。インスタンスは Customer Licensed である必要があります。Nitro ベースではないインスタンスを使用してください (例:
m4.xlarge)。「ステップ1、AMIの選択」の画像(/ja-jp/advanced-concepts/media/vpx-ami-section-1-step-2-1.png)
「ステップ2、インスタンスタイプの選択」の画像(/ja-jp/advanced-concepts/media/vpx-ami-section-1-step-2-2.png)
以前の手順で作成したVPCを選択します。「パブリックIPの自動割り当て」を無効にします。 「ステップ3、インスタンス詳細の設定」の画像(/ja-jp/advanced-concepts/media/vpx-ami-section-1-step-2-3.png)
インスタンスには、簡単に認識できる名前を付けます。以降の手順で多くのインスタンスを作成するため、その後の設定のために各インスタンスを識別する必要があります。
セキュリティグループは自動的に入力されます。インスタンス起動の残りの手順は「次へ」をクリックして進めます。
「ウィザード」の画像(/ja-jp/advanced-concepts/media/vpx-ami-section-1-step-2-4.png)
-
VPXインスタンスに到達するために、Windows Server 2019または2016ベースの踏み台ホストを作成します。
このインスタンスは
m4.xlargeであり、Citrix ADCと同じVPCおよびAZに、自動割り当てされたパブリックIPで構築する必要があります。ルートボリュームには、最低45 GiBの汎用SSD (gp2) が必要です。注:
環境でElastic IP (EIP) の作成が許可されている場合、踏み台ホストの作成をスキップでき、VPXインスタンスはネットワークまたはインターネットから直接接続できます。セキュリティ上の目的と、エアギャップ環境でのEIPの利用可能性の欠如のため、踏み台ホストの使用をお勧めします。
「ステップ1、AMIの選択」の画像(/ja-jp/advanced-concepts/media/vpx-ami-section-1-step-3-1.png)
インスタンスに認識しやすい名前を付けます (例: SC2S: WS2016 Bastion Low)。
「ステップ5、タグの追加」の画像(/ja-jp/advanced-concepts/media/vpx-ami-section-1-step-3-2.png)
簡素化のため、「すべてのトラフィック」を許可するセキュリティグループを作成します。このセキュリティグループは後でロックダウンできます。
「ステップ6、セキュリティグループの設定」の画像(/ja-jp/advanced-concepts/media/vpx-ami-section-1-step-3-3.png)
インスタンスの準備ができたら、パブリックIPを使用してマシンにRDP接続します。次に、PuTTYとWinSCPをダウンロードし、VPXインスタンスの作成に使用したキーペアをコピーします。これには、PuTTYgenを使用して.pemファイルを.ppkファイルに変換する必要があります。サーバーマネージャーで、WindowsファイアウォールとInternet Explorer拡張セキュリティを無効にします。PuTTYを使用して、新しくデプロイされたCitrix ADCアプライアンスにSSH接続できることを確認します。インスタンスの
nsrootパスワードをメモします。デフォルトでは、これはAWS InstanceIDです。後で必要になるため、インスタンスのプライベートIPをメモしておきます。この段階で、動作するCitrix ADCアプライアンスが用意できました。注記:
このVPXを設定しないでください!機能を確認するために、
nsrootとしてログインするだけです。 -
AWSコンソールからCitrix ADCインスタンスをシャットダウンします。Citrix ADCインスタンスからルートEBSボリュームをデタッチします。

ルートボリュームをデタッチするには、ルートデバイス
/dev/sda1をクリックし、次にボリュームIDをクリックします。[ボリューム]タブでボリュームを選択し、認識しやすい名前(例: SC2S: Commercial Root Vol)を付け、ボリュームIDをメモします。[アクション] > [ボリュームのデタッチ] > [OK] をクリックします。ボリュームの状態がAvailableになっているはずです。
-
新しいAmazon Linux EC2インスタンス(Amazon Linux 2 AMI (HVM)、SSDボリュームタイプ、64ビット、EBSバックアップ、ENA有効)をデプロイします。このインスタンスは、以前にデプロイしたVPXインスタンスと同じインスタンスタイプ(例:
m4.xlarge)である必要があり、同じVPCとサブネット内にあり、「パブリックIPの自動割り当て」設定は無効にする必要があります。インスタンスに認識しやすい名前(例: SC2S: Linux Low)を付けます。セキュリティグループは、当面すべてのトラフィックを許可するように設定します。インスタンスが起動したら、シャットダウンします。
-
VPXからデタッチしたルートEBSボリュームをLinux EC2インスタンスにアタッチします。

[インスタンス] > [アタッチ] をクリックして、作成したLinuxインスタンスを選択します。

-
ルートVPXボリュームよりも容量の大きいボリュームを作成します。VPXボリュームのルートボリューム容量は30 GiBです。容量35 GiBのボリュームを作成します。ボリュームタイプを汎用SSD (gp2) に設定し、認識しやすい名前(例: SC2S: Copy Low Vol)を付けます。新しいボリュームをLinuxインスタンスにアタッチします。



-
Linuxインスタンスの電源をオンにし、プライベートキーファイルを使用して踏み台ホストからSSH接続します。
ec2-user*としてログインします。 -
新しいEBSボリュームにパーティションを作成します。
注:
この例では、VPXルートボリューム SC2S: Commercial Root Vol は
/dev/sdfであり、新しく作成された35 GiBボリューム SC2S: Copy Low Vol は/dev/sdgです。パーティションは SC2S: Copy Low Vol のみに作成されます。AWSコンソールでは、これらのブロックデバイスはシンボリックリンクで示されます。Linuxインスタンスでは、/dev/sdfと/dev/sdgはそれぞれ/dev/xvdfと/dev/xvdgと呼ばれます。Linux CLIで、ファイルシステムがないことを確認します。応答は data のみである必要があります。
sudo file –s /dev/xvdg <!--NeedCopy-->ファイルシステムを作成します。
sudo mkfs -t xfs /dev/xvdg <!--NeedCopy-->マウントポイントを作成し、デバイスをマウントします。
sudo mkdir /copy <!--NeedCopy-->sudo mount /dev/svdg /copy <!--NeedCopy-->デバイスがマウントされていること、および3つのデバイス(例:
xvda、xvdf、xvdg)があることを確認します。lsblk <!--NeedCopy-->fdiskを使用してパーティションを作成します。新規にはnを、プライマリパーティションにはpを、パーティション番号には1を選択し、最初と最後のセクタにはデフォルト値(ENTER、ENTER)を使用します。終了するにはCRTL+Cを押します。sudo fdisk /dev/xvdg >n >p >1 >enter >enter >CTRL+C <!--NeedCopy--> -
VPXルートボリュームをブロックレベルで新しいEBSボリュームにコピーします(例: SC2S: Commercial Root Vol を SC2S: Copy Low Vol にコピー)。ここで作成されたファイル
citrixADC.imgは、その後SC2S環境に移動できます。sudo dd if=/dev/xvdf of=/copy/citrixADC.img status=progress <!--NeedCopy-->このコピーには数時間かかる場合があります。
ファイルのコピーが完了したら、ファイルが/copyディレクトリにあることを確認し、ファイルのアクセス許可を読み取り、書き込み、実行を許可するように変更します。
ls /copy sudo chmod 777 /copy/citrixADC.img <!--NeedCopy--> -
citrixADC.imgファイルを、上位側にDTOできる場所にWinSCPで転送します。必要であれば、踏み台はイメージファイルをコピーするのに十分な大きさです。
SC2SでVPXを作成 - ハイサイドでの手順
-
ローサイドのステップ1と同じCIDRブロックとサブネットを持つVPCを作成するか、既存のVPCを使用します。この例では、VPCのCIDRは10.0.0.0/16で、サブネットIPスペースは10.0.0.0/16です。これは非常に重要です。なぜなら、最終的に作成されるVPXは、商用マーケットプレイスのオリジナルと同じIPでなければならないからです。

-
新しいVPCとサブネットで、ローサイドにデプロイされたCitrix ADCインスタンスと同じインスタンスタイプ(例:
m4.xlarge)のAmazon Linuxインスタンス(Amazon Linux 2 AMI (HVM)、SSDボリュームタイプ、EBSバックアップ、ENA有効、64ビット)を起動します。インスタンスには認識しやすい名前(例: SC2S: Linux High)を付けます。インスタンスの準備ができたら、シャットダウンします。
- 転送されるファイルサイズよりも大きい容量(例: 35 GiB)のEBSボリュームを2つ追加します。これらのボリュームは、ローサイドで作成されたものと同じSSDタイプ(gp2)である必要があります。
- 最初のボリュームはローサイドからのコピー用です。ボリュームには認識しやすい名前(例: 「SC2S: Copy High Vol」)を付けます。このボリュームをSC2Sの新しいLinuxインスタンスに
/dev/sdfとしてアタッチします。これはインスタンス上の/dev/xvdfのシンボリックリンクです。

- 2番目のボリュームは新しいVPXのルートボリュームになります。ボリュームには認識しやすい名前(例: 「SC2S: Final VPX Vol」)を付けます。このボリュームをSC2Sの新しいLinuxインスタンスに
/dev/sdgとしてアタッチします。これはインスタンス上の/dev/xvdgのシンボリックリンクです。

インスタンスには、ルートデバイスを含め、3つのブロックデバイスがアタッチされています。インスタンスの電源をオンにします。

- 最初のボリュームはローサイドからのコピー用です。ボリュームには認識しやすい名前(例: 「SC2S: Copy High Vol」)を付けます。このボリュームをSC2Sの新しいLinuxインスタンスに
-
ローサイドの踏み台ホストと同様の方法で、ハイサイドのWindows Server 2019または2016ベースの踏み台ホストを作成します。このインスタンスは新しく作成されたVPCとサブネット内に配置し、ファイル転送用に少なくとも45 GiBの容量が必要です。「Auto-assign Public IP」を有効に設定します。インスタンスには認識しやすい名前(例: 「SC2S: WS2016 Bastion_High」)を付け、セキュリティグループは当面「すべてのトラフィック」を許可するように設定します。
-
踏み台ホストの準備ができたら、パブリックIPを使用してマシンにRDP接続し、PuTTYとWinSCPをダウンロードし、VPXインスタンスの作成に使用したキーペアをコピーします。これには、PuTTYgenを使用して.pemファイルを.ppkファイルに変換する必要があります。サーバーマネージャーで、当面WindowsファイアウォールとInternet Explorer拡張セキュリティを無効にします。
-
citrixADC.imgファイルを新しい踏み台ホストにコピーします。
-
バスティオンホストから、AWSプライベートキーとユーザー名
ec2-userを使用して、新しいLinuxインスタンス(例: 「SC2S: Linux High」)へのPuTTYセッションを開始します。 -
lsblkを使用して、インスタンス上にすべてのデバイスが存在することを確認します。
-
/dev/xvdfデバイスにファイルシステムがないことを確認し、その後作成します。注:
/dev/xvdgデバイスにファイルシステムを作成しないでください。sudo file –s /dev/xvdf sudo mkfs –t xfs /dev/xvdf <!--NeedCopy-->
-
デバイスのマウントポイントを作成し、デバイスをマウントし、ボリュームのマウントポイントが
/copyであることを確認します。sudo mkdir /copy sudo mount /dev/xvdf /copy lsblk <!--NeedCopy-->
-
fdiskを使用してパーティションを作成します。sudo fdisk /dev/xvdf >n >p >1 >enter >enter >CTRL+C <!--NeedCopy-->
-
/copy ディレクトリの権限を変更します。
sudo chmod 777 /copy <!--NeedCopy-->
-
バスティオンホスト上のWinSCPを使用してLinuxインスタンスに接続します。citrixADC.imgファイルを/copyディレクトリにコピーします。ファイルがコピーされたら、WinSCPコンソールから、すべてのユーザーに対して読み取り、書き込み、実行を許可するように権限を変更します。
-
Linux CLIで、次のコマンドを使用してイメージファイルを/dev/xvdgデバイスにコピーします。
sudo dd if=/copy/citrixADC.img of=/dev/xvdg status=progress <!--NeedCopy-->
-
コピーが完了したら、
lsblkコマンドを実行して、Citrix ADC のパーティションが /dev/xvdg デバイスに表示されていることを確認します。lsblk <!--NeedCopy-->
-
Linux インスタンスの電源をオフにし、/dev/xvdg (/dev/sdg) ボリューム (例: 「SC2S: Final VPX Vol」) をデタッチします。


-
ローサイドの VPX とまったく同じインスタンスタイプで、ハイサイドで作成されたのと同じ VPC およびサブネットに新しい Linux インスタンスをデプロイします (Amazon Linux 2 AMI (HVM)、SSD ボリュームタイプ、EBS バック、ENA 有効、64 ビット、
m4.xlarge、「すべてのトラフィック」を許可するように設定されたセキュリティグループ)。セットアップ中に、このドキュメントの前のセクションで記載されているローサイドの VPX と同じ IP を設定します。インスタンスの準備ができたら、インスタンスの電源をオフにします。
-
新しくデプロイされた Linux インスタンスのルートボリュームをデタッチし、デタッチされたインスタンス (例: 「SC2S: Final VPX Vol」) をアタッチします。アタッチ中に、デバイスをルートボリュームとして指定します (つまり、
/dev/xvda)。
-
インスタンスの電源をオンにします。ハイサイドの踏み台ホストを使用して、PuTTY/SSH でインスタンスに接続し、VPX の機能を確認します。このドキュメントの前のセクションで記載されているインスタンス ID パスワードを使用して
nsrootとしてログインし、簡単なコマンドを実行します。sh version <!--NeedCopy-->
起動した VPX インスタンスから AMI を作成する
-
Citrix ADC インスタンスにログインします。シェルに入り、root として必要な変更を実行します。
shell <!--NeedCopy-->
-
Forcefully and recursively remove the following directories and files from the ADC software manually. To remove the files and directories manually, add rm –rf in front of each. ‘/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’

またはこのスクリプトを実行します。
#!/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--> -
/flash/nsconfig ディレクトリのパーミッションを 755 に変更します。
chmod 755 /flash/nsconfig <!--NeedCopy-->
-
残留キーが残っていないことを確認します。もし残っている場合は、強制的に再帰的に削除します。
find / -type f -name “authorized*” rm -rf <filename> <!--NeedCopy-->
-
/nsconfig/license に残留ライセンスが存在しないことを確認します。もし存在する場合は、強制的に再帰的に削除します。
注:
このフォルダーには他のディレクトリやファイル(例:SSLやXML)が存在します。ライセンスファイルが存在する場合のみ削除してください。
ls /nsconfig/license ls /nsconfig/license/ssl ls /nsconfig/license/xml <!--NeedCopy-->
-
AWSコンソールからマシンをシャットダウンします。インスタンスが停止したら、そのインスタンスからAMIを作成します。

インスタンスに、すべての人にとって認識しやすい名前を付けます。これはSC2Sのすべての管理者に公開されるためです(例:「Citrix ADC VPX 13.0–47.24」)。

-
AMIの準備ができたら、そこからインスタンスを展開して機能を検証します。

-
AMIの権限を
Publicに設定し、SC2Sのすべての管理者が利用できるようにします。
新しいリリースへのアップグレード
-
SC2Sに既存のCitrix ADC VPXがある場合:https://citrix.com/downloadsで入手可能なアップグレードソフトウェアを使用してVPXをアップグレードし、ファイルをハイサイドにDTOします。インストールするには、Citrix ADCスタンドアロンアプライアンスのアップグレードのガイダンスに従ってください。推奨されるアップグレード方法は、コマンドラインを使用することです。
-
SC2Sに新しいCitrix ADC VPXがある場合:公開共有するAMIを作成します。既存のAMIからインスタンスを起動し、前述のセクションと同様にマシンをアップグレードし、このドキュメントの「起動したVPXインスタンスからAMIを作成する」セクションの手順を実行します。