在SC2S中创建VPX Amazon Machine Image (AMI)
贡献者
作者:Jill Fetscher,建筑师
SC2S是一个不能访问AWS Marketplace的气隙AWS实例。必须将所有Amazon Machine Images (AMI)手动上传到环境vmimport
工具。由于Citrix ADC VPX设备的性质,映像文件太大,无法使用vmimport
工具。必须创建VPX AMI,以便它可以引导以供将来使用。我们专门为SC2S创建了以下方法,但它也可以用于这种性质的未来用例,其中不存在Marketplace,或者Marketplace中没有可用的VPX AMI产品。
在SC2S中创建VPX:低阶(商业AWS)
在UC2S(商用)中创建VPC和子网,使用与Citrix ADC所在SC2S VPC相同的CIDR块。(例如,使用VPC向导创建大小为10.0.0.0/16的VPC,单个公网子网大小为10.0.0.0/24。)
这可以通过以下两种方式实现:
- 在SC2S上创建测试VPC,配置基本CIDR和子网
- 复制SC2S中使用的CIDR和子网
注意:
C2S通过服务创建VPC,从超级网络中自动分配IP空间。在这种情况下,第二种方法是必要的。至于GovCloud,请等待进一步指示,或从市场下载最新版本的VPX。
在AWS Marketplace中部署Citrix ADC AMI中的EC2实例。实例需要是客户授权。使用非基于硝基的实例(例如,
m4.xlarge
).选择在前面步骤中创建的VPC。禁用自动分配公网IP。
使用易于识别的名称命名实例。我们在以下步骤中创建了许多实例,有必要识别每个实例以进行进一步配置。
安全组自动填充。点击下一个通过剩下的步骤,例如启动。
创建一个Windows Server 2019或2016 Base bastion主机来访问您的VPX实例。
这个实例可以是
m4.xlarge
,必须与Citrix ADC构建在同一个VPC和AZ中,并自动分配公网IP。根卷至少需要45gib,通用SSD (gp2)。注意:
如果环境允许创建弹性ip (Elastic ip),则可以跳过堡垒主机的创建,直接从网络或internet连接VPX实例。我们建议使用堡垒主机用于安全目的和在气隙环境中缺乏EIP可用性。
将实例命名为可识别的名称(例如,SC2S: WS2016 Bastion Low)。
为简单起见,请创建一个允许的安全组所有流量。您可以稍后锁定此安全组。
实例准备好后,使用公共IP将RDP发送到机器。然后下载PuTTY和WinSCP,复制用于创建VPX实例的密钥对。这需要使用PuTTYgen将.pem转换为.ppk。在“服务器管理器”中,禁用“Windows防火墙”和“Internet Explorer增强安全”。使用PuTTY验证您是否能够SSH到新部署的Citrix ADC设备。注意
nsroot
实例的密码。默认情况下,这是AWS InstanceID。记下实例的私有IP,因为在后面的步骤中需要它。在这个阶段,您已经有了一个工作的Citrix ADC设备。注意:
请勿配置此VPX!只需以
nsroot
验证功能。从AWS控制台中关闭Citrix ADC实例。从Citrix ADC实例中分离根EBS卷。
如果要卸载根卷,请单击根设备
/dev/sda1
,然后单击卷ID。在Volume选项卡中,选择卷,将其命名为可识别的名称(例如,SC2S:商业根卷),并记录卷ID。点击操作>分离卷>确定。音量状态现在应该是可用。部署一个新的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卷的根卷容量为30gib。创建容量为35gib的卷。将卷类型设置为通用SSD (gp2),并将其命名为可识别的名称(例如,SC2S: Copy Low Vol).将新卷附加到Linux实例。
打开Linux实例的电源,并使用私钥文件从bastion主机SSH到它。登录
ec2-user *
。在NEW EBS卷上创建一个分区。
注意:
本例中为VPX根卷SC2S:商业根卷是
/dev/sdf
以及新创建的35gib卷SC2S: Copy Low Vol是替换/ dev / sdg
。要在上面创建的分区SC2S: Copy Low Vol只有。在AWS控制台中,这些块设备用符号链接表示。在Linux实例中,/dev/sdf
和替换/ dev / sdg
被称为/dev/xvdf
和/dev/xvdg
,分别。在Linux命令行中检查是否存在文件系统。回应应该是数据只有。
Sudo文件-s /dev/xvdg
创建文件系统。
MKFS -t XFS /dev/xvdg
创建一个挂载点并挂载设备。
mkdir /copy
mount /dev/svdg /copy
验证设备已挂载,并且有三个设备(例如
xvda
,xvdf
,xvdg
).lsblk < !——NeedCopy >
使用以下命令创建分区
fdisk
,选择n
新,p
对于主分区,1
分区号,以及默认的第一个和最后一个扇区(ENTER, ENTER)。按“ctrl +C”退出。sudo fdisk /dev/xvdg >n >p >1 >enter >enter >CTRL+C
在块级别将VPX根卷复制到新的EBS卷(例如,Copy)SC2S:商业根卷来SC2S: Copy Low Vol).这里创建的文件,
citrixADC.img
,然后可以转移到SC2S环境中。sudo dd if=/dev/xvdf of=/copy/citrixADC。Img状态=进度
这一拷贝可能需要几个小时。
文件复制完成后,检查文件是否在/copy目录下,并修改文件的权限,允许读、写和执行。
/copy/citrixADC. ls /copy sudo chmod 777img < !——NeedCopy >
有WinSCP的
citrixADC.img
文件到一个位置,在那里它可以DTO到高的一边。如果需要,堡垒的大小足以将图像文件复制到其中。
创建一个VPX在SC2S -台阶在高侧
为Low侧创建一个与步骤1中相同CIDR块和子网的VPC,或者使用已有的VPC。本例中,VPC的CIDR为10.0.0.0/16,子网IP空间为10.0.0.0/16。这一点非常重要,因为最终创建的VPX必须与商业市场上的原始IP相同。
在新的VPC和子网中,启动一个实例类型为Amazon Linux的实例(Amazon Linux 2 AMI (HVM), SSD Volume Type, EBS-backed, ENA-Enabled, 64位),实例类型与下侧部署的Citrix ADC实例相同(例如:1)
m4.xlarge
).将实例命名为可识别的名称(例如SC2S: Linux High)。当实例准备好时,关闭它的电源。- 添加两个容量大于传输文件大小的EBS卷(例如35gib)。这些卷的SSD类型(gp2)必须与在低侧创建的卷相同。
- 第一卷是从低的一面拷贝。将卷命名为可识别的名称(例如“SC2S: Copy High volume”)。将此卷附加到SC2S中的新Linux实例
/dev/sdf
。的符号链接/dev/xvdf
在实例上。
- 第二个卷成为新VPX的根卷。将卷命名为可识别的东西(例如“SC2S: Final VPX Vol”)。将此卷附加到SC2S中的新Linux实例
替换/ dev / sdg
。的符号链接/dev/xvdg
在实例上。
实例现在连接了三个块设备,包括根设备。启动实例。
- 第一卷是从低的一面拷贝。将卷命名为可识别的名称(例如“SC2S: Copy High volume”)。将此卷附加到SC2S中的新Linux实例
以与低侧堡垒相同的方式创建一个高侧Windows Server 2019或2016基地堡垒主机。该实例位于新创建的VPC和子网中,用于文件传输的空间至少为45gib。将“自动分配公网IP”设置为“启用”。将实例命名为可识别的名称(例如“SC2S: WS2016 Bastion_High”),并将安全组设置为允许“所有流量”。
一旦堡垒主机准备好,使用公共IP连接到机器,下载PuTTY和WinSCP,并复制用于创建VPX实例的Keypair。这需要使用PuTTYgen将.pem转换为.ppk。在服务器管理器中,暂时禁用Windows防火墙和Internet Explorer增强安全。
复制citrixADC。Img文件到新的堡垒主机。
使用带用户名的AWS私钥,从bastion主机启动到新Linux实例(例如“SC2S: Linux High”)的PuTTY会话
ec2-user
。使用
lsblk
验证实例上是否存在所有设备。验证
/dev/xvdf
设备没有文件系统,请创建文件系统。注意:
不要在
/dev/xvdg
设备。Sudo MKFS文件-s /dev/xvdf -t XFS /dev/xvdf
为设备创建挂载点,挂载设备,并验证卷挂载点是
/复制
。Sudo mount /dev/xvdf /copy LSBLK
使用以下命令创建分区
fdisk
。sudo fdisk /dev/xvdf >n >p >1 >enter >enter >CTRL+C
修改/copy目录的权限。
Sudo chmod 777 /copy
在bastion主机上使用WinSCP连接Linux实例。复制citrixADC。Img文件拷贝到/copy目录下。拷贝完成后,在WinSCP控制台中修改权限,允许所有用户读、写、执行。
在Linux命令行中,使用如下命令将镜像文件拷贝到/dev/xvdg设备下。
sudo dd if=/copy/citrixADC。Img of=/dev/xvdg status=progress
完成复制后,运行
lsblk
命令,检查Citrix ADC的分区是否显示在/dev/xvdg设备上。lsblk < !——NeedCopy >
下电Linux实例,卸载/dev/xvdg (/dev/sdg)卷(以“SC2S: Final VPX Vol”为例)。
在高端的VPC和子网(Amazon Linux 2 AMI (HVM), SSD卷类型,ebs支持,ena启用,64位)中,部署一个与低端的VPX完全相同的实例类型的新Linux实例。
m4.xlarge
,安全组设置为允许“所有流量”)。在安装过程中,将IP设置为与VPX相同的低侧,这在本文档的前一节中已经注意到。实例准备好后,关闭实例。卸载新部署的Linux实例的根卷,并附加已卸载的实例(例如“SC2S: Final VPX Vol”)。在连接过程中,指定设备作为根卷(即
/dev/xvda
).启动实例。使用高地堡垒主机,PuTTY/SSH到实例验证VPX的功能。登录
nsroot
使用本文前一节中提到的实例ID密码,并执行一个简单的命令。Sh version
从启动的VPX实例创建AMI
登录到Citrix ADC实例。以root身份进入shell执行必要的修改。
壳牌< !——NeedCopy >
手动地、递归地从ADC软件中删除以下目录和文件。要手动删除文件和目录,请在每个文件和目录前添加rm -rf。' / nsconfig / ns.conf”
' / nsconfig / ssh /”
' / nsconfig / ssl /”
“/ nsconfig / aws_bootstrap”
“/ nsconfig / rainman.conf”
' / var / nslog '
' / var / log /消息”
' / var / log /. log”
' / var /核心/”
' / nsconfig /。AWS / '
“/ var / db”
“/ etc / resolv.conf”
/ flash构建的
“/ mpsconfig / pgxl / . ssh / id_rsa . pub”
' / var / pubkey / nsroot / . ssh / authorized_keys '
' / var / pubkey / root / . ssh / authorized_keys '或者运行这个脚本:
#!/bin/sh -x rm -rf /nsconfig/ nsconfig .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/ *.logAWS/ rm -rf /var/db rm -rf /etc/resolv.conf rm -rf /flash/BUILD rm -rf /mpsconfig/pgxl/.ssh/id_rsa. confPub rm -rf /var/pubkey/nsroot/。Ssh /authorized_keys rm -rf /var/pubkey/root/。ssh / authorized_keys < !——NeedCopy >
修改/flash/nsconfig目录的权限为755。
Chmod 755 /flash/nsconfig
确认没有剩余的键。如果有,则强制并递归地删除它们。
查找/ -type f -name " authorized* " rm -rf
检查“/nsconfig/license”目录下是否存在剩余license。如果有,则强制并递归地删除它们。
注意:
该文件夹中还会有其他目录和文件(例如SSL和XML),只删除存在的许可文件。
Ls /nsconfig/license Ls /nsconfig/license/ssl Ls /nsconfig/license/xml
从AWS控制台关闭机器的电源。实例停止后,从实例创建一个AMI。
将实例命名为所有人都能识别的名称,因为这是向SC2S的所有管理员公开共享的(例如“Citrix ADC VPX 13.0-47.24”)。
AMI准备好后,从它部署一个实例来验证功能。
设置AMI的权限为
公共
,以便SC2S的所有管理员都可以使用。
升级到新版本
对于SC2S中现有的Citrix ADC VPX:使用以下网站提供的升级软件升级VPX//m.giftsix.com/downloads把文件传送到高地。遵循升级Citrix ADC独立设备安装。建议使用命令行方式升级。
对于SC2S中的新Citrix ADC vpx:创建一个AMI以公开共享。从现有AMI启动一个实例,按照前面的步骤升级机器,然后执行本文档中“从已启动的VPX实例创建AMI”一节中的步骤。