先进的概念

在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)

  1. 在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。

    VPC仪表板图片

    image of VPC配置向导,步骤1

    创建VPC镜像向导,步骤2

  2. 在AWS Marketplace中部署Citrix ADC AMI中的EC2实例。实例需要是客户授权。使用非基于硝基的实例(例如,m4.xlarge).

    步骤1的映像,选择AMI

    步骤2的映像,选择实例类型

    选择在前面步骤中创建的VPC。禁用自动分配公网IP步骤3的映像,配置实例详细信息

    使用易于识别的名称命名实例。我们在以下步骤中创建了许多实例,有必要识别每个实例以进行进一步配置。

    安全组自动填充。点击下一个通过剩下的步骤,例如启动。

    巫师形象

  3. 创建一个Windows Server 2019或2016 Base bastion主机来访问您的VPX实例。

    这个实例可以是m4.xlarge,必须与Citrix ADC构建在同一个VPC和AZ中,并自动分配公网IP。根卷至少需要45gib,通用SSD (gp2)。

    注意:

    如果环境允许创建弹性ip (Elastic ip),则可以跳过堡垒主机的创建,直接从网络或internet连接VPX实例。我们建议使用堡垒主机用于安全目的和在气隙环境中缺乏EIP可用性。

    步骤1的映像,选择AMI

    将实例命名为可识别的名称(例如,SC2S: WS2016 Bastion Low)。

    步骤5的图像,添加标签

    为简单起见,请创建一个允许的安全组所有流量。您可以稍后锁定此安全组。

    步骤6的映像,配置安全组

    实例准备好后,使用公共IP将RDP发送到机器。然后下载PuTTY和WinSCP,复制用于创建VPX实例的密钥对。这需要使用PuTTYgen将.pem转换为.ppk。在“服务器管理器”中,禁用“Windows防火墙”和“Internet Explorer增强安全”。使用PuTTY验证您是否能够SSH到新部署的Citrix ADC设备。注意nsroot实例的密码。默认情况下,这是AWS InstanceID。记下实例的私有IP,因为在后面的步骤中需要它。在这个阶段,您已经有了一个工作的Citrix ADC设备。

    注意:

    请勿配置此VPX!只需以nsroot验证功能。

  4. 从AWS控制台中关闭Citrix ADC实例。从Citrix ADC实例中分离根EBS卷。

    新的EC2映像

    如果要卸载根卷,请单击根设备/dev/sda1,然后单击卷ID。在Volume选项卡中,选择卷,将其命名为可识别的名称(例如,SC2S:商业根卷),并记录卷ID。点击操作>分离卷>确定。音量状态现在应该是可用

    实例详细信息图像

  5. 部署一个新的Amazon Linux EC2实例(Amazon Linux 2 AMI (HVM), SSD卷类型,64位,ebs支持,ena启用)。此实例应该与之前部署的VPX实例(例如m4.xlarge),并且应该在同一个VPC和子网中,并关闭“自动分配公网IP”设置。将实例命名为可识别的名称(例如SC2S: Linux Low).将安全组设置为允许所有流量。实例启动后,将其关闭。

    添加标签图像

  6. 将从VPX分离的根EBS卷挂载到Linux EC2实例上。

    新的EC2映像

    通过单击选择您创建的Linux实例实例>附加

    附加卷映像

  7. 创建一个容量大于根VPX卷的卷。VPX卷的根卷容量为30gib。创建容量为35gib的卷。将卷类型设置为通用SSD (gp2),并将其命名为可识别的名称(例如,SC2S: Copy Low Vol).将新卷附加到Linux实例。

    创建和附加卷

    创建和附加卷

    创建和附加卷

  8. 打开Linux实例的电源,并使用私钥文件从bastion主机SSH到它。登录ec2-user *

  9. 在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 

    验证设备已挂载,并且有三个设备(例如xvdaxvdf,xvdg).

    lsblk < !——NeedCopy >

    使用以下命令创建分区fdisk,选择n新,p对于主分区,1分区号,以及默认的第一个和最后一个扇区(ENTER, ENTER)。按“ctrl +C”退出。

    sudo fdisk /dev/xvdg >n >p >1 >enter >enter >CTRL+C 
  10. 在块级别将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 >
  11. 有WinSCP的citrixADC.img文件到一个位置,在那里它可以DTO到高的一边。如果需要,堡垒的大小足以将图像文件复制到其中。

创建一个VPX在SC2S -台阶在高侧

  1. 为Low侧创建一个与步骤1中相同CIDR块和子网的VPC,或者使用已有的VPC。本例中,VPC的CIDR为10.0.0.0/16,子网IP空间为10.0.0.0/16。这一点非常重要,因为最终创建的VPX必须与商业市场上的原始IP相同。

    图像占位符

  2. 在新的VPC和子网中,启动一个实例类型为Amazon Linux的实例(Amazon Linux 2 AMI (HVM), SSD Volume Type, EBS-backed, ENA-Enabled, 64位),实例类型与下侧部署的Citrix ADC实例相同(例如:1)m4.xlarge).将实例命名为可识别的名称(例如SC2S: Linux High)。当实例准备好时,关闭它的电源。

    图像占位符

  3. 添加两个容量大于传输文件大小的EBS卷(例如35gib)。这些卷的SSD类型(gp2)必须与在低侧创建的卷相同。
    1. 第一卷是从低的一面拷贝。将卷命名为可识别的名称(例如“SC2S: Copy High volume”)。将此卷附加到SC2S中的新Linux实例/dev/sdf。的符号链接/dev/xvdf在实例上。

    图像占位符

    1. 第二个卷成为新VPX的根卷。将卷命名为可识别的东西(例如“SC2S: Final VPX Vol”)。将此卷附加到SC2S中的新Linux实例替换/ dev / sdg。的符号链接/dev/xvdg在实例上。

    图像占位符

    实例现在连接了三个块设备,包括根设备。启动实例。

    图像占位符

  4. 以与低侧堡垒相同的方式创建一个高侧Windows Server 2019或2016基地堡垒主机。该实例位于新创建的VPC和子网中,用于文件传输的空间至少为45gib。将“自动分配公网IP”设置为“启用”。将实例命名为可识别的名称(例如“SC2S: WS2016 Bastion_High”),并将安全组设置为允许“所有流量”。

  5. 一旦堡垒主机准备好,使用公共IP连接到机器,下载PuTTY和WinSCP,并复制用于创建VPX实例的Keypair。这需要使用PuTTYgen将.pem转换为.ppk。在服务器管理器中,暂时禁用Windows防火墙和Internet Explorer增强安全。

  6. 复制citrixADC。Img文件到新的堡垒主机。

  7. 使用带用户名的AWS私钥,从bastion主机启动到新Linux实例(例如“SC2S: Linux High”)的PuTTY会话ec2-user

  8. 使用lsblk验证实例上是否存在所有设备。

    图像占位符

  9. 验证/dev/xvdf设备没有文件系统,请创建文件系统。

    注意:

    不要在/dev/xvdg设备。

    Sudo MKFS文件-s /dev/xvdf -t XFS /dev/xvdf 

    图像占位符

  10. 为设备创建挂载点,挂载设备,并验证卷挂载点是/复制

    Sudo mount /dev/xvdf /copy LSBLK 

    图像占位符

  11. 使用以下命令创建分区fdisk

    sudo fdisk /dev/xvdf >n >p >1 >enter >enter >CTRL+C 

    图像占位符

  12. 修改/copy目录的权限。

    Sudo chmod 777 /copy 

    图像占位符

  13. 在bastion主机上使用WinSCP连接Linux实例。复制citrixADC。Img文件拷贝到/copy目录下。拷贝完成后,在WinSCP控制台中修改权限,允许所有用户读、写、执行。

  14. 在Linux命令行中,使用如下命令将镜像文件拷贝到/dev/xvdg设备下。

    sudo dd if=/copy/citrixADC。Img of=/dev/xvdg status=progress 

    图像占位符

  15. 完成复制后,运行lsblk命令,检查Citrix ADC的分区是否显示在/dev/xvdg设备上。

    lsblk < !——NeedCopy >

    图像占位符

  16. 下电Linux实例,卸载/dev/xvdg (/dev/sdg)卷(以“SC2S: Final VPX Vol”为例)。

    图像占位符

    图像占位符

  17. 在高端的VPC和子网(Amazon Linux 2 AMI (HVM), SSD卷类型,ebs支持,ena启用,64位)中,部署一个与低端的VPX完全相同的实例类型的新Linux实例。m4.xlarge,安全组设置为允许“所有流量”)。在安装过程中,将IP设置为与VPX相同的低侧,这在本文档的前一节中已经注意到。实例准备好后,关闭实例。

    图像占位符

  18. 卸载新部署的Linux实例的根卷,并附加已卸载的实例(例如“SC2S: Final VPX Vol”)。在连接过程中,指定设备作为根卷(即/dev/xvda).

    图像占位符

  19. 启动实例。使用高地堡垒主机,PuTTY/SSH到实例验证VPX的功能。登录nsroot使用本文前一节中提到的实例ID密码,并执行一个简单的命令。

    Sh version 

    图像占位符

从启动的VPX实例创建AMI

  1. 登录到Citrix ADC实例。以root身份进入shell执行必要的修改。

    壳牌< !——NeedCopy >

    图像占位符

  2. 手动地、递归地从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 '

    图像占位符:rm -rf

    或者运行这个脚本:

    #!/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 >
  3. 修改/flash/nsconfig目录的权限为755。

    Chmod 755 /flash/nsconfig 

    图像占位符

  4. 确认没有剩余的键。如果有,则强制并递归地删除它们。

    查找/ -type f -name " authorized* " rm -rf  

    图像占位符

  5. 检查“/nsconfig/license”目录下是否存在剩余license。如果有,则强制并递归地删除它们。

    注意:

    该文件夹中还会有其他目录和文件(例如SSL和XML),只删除存在的许可文件。

    Ls /nsconfig/license Ls /nsconfig/license/ssl Ls /nsconfig/license/xml 

    图像占位符

  6. 从AWS控制台关闭机器的电源。实例停止后,从实例创建一个AMI。

    图像占位符

    将实例命名为所有人都能识别的名称,因为这是向SC2S的所有管理员公开共享的(例如“Citrix ADC VPX 13.0-47.24”)。

    图像占位符

  7. AMI准备好后,从它部署一个实例来验证功能。

    图像占位符

  8. 设置AMI的权限为公共,以便SC2S的所有管理员都可以使用。

升级到新版本

  • 对于SC2S中现有的Citrix ADC VPX:使用以下网站提供的升级软件升级VPX//m.giftsix.com/downloads把文件传送到高地。遵循升级Citrix ADC独立设备安装。建议使用命令行方式升级。

  • 对于SC2S中的新Citrix ADC vpx:创建一个AMI以公开共享。从现有AMI启动一个实例,按照前面的步骤升级机器,然后执行本文档中“从已启动的VPX实例创建AMI”一节中的步骤。

在SC2S中创建VPX Amazon Machine Image (AMI)