高级概念

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

贡献者

作者: Jill Fetscher,架构师

SC2S 是一个空隙的 AWS 实例化,无法访问 AWS Marketplace。所有 Amazon Machine Images (AMI) 必须使用 vmimport 工具手动上载到环境中。由于 Citrix ADC VPX 装置的性质,映像文件太大,无法使用 vmimport 工具。必须创建 VPX AMI,以便它可以引导以备将来使用。我们专门为 SC2S 创建了以下方法,但它可用于未来这种性质的使用案例,其中不存在商城或商城中没有 VPX AMI 产品。

在 SC2S 中创建 VPX:低端步骤(商用 AWS)

  1. 使用与 Citrix ADC 驻留在 SC2S 中的 VPC 相同的 CIDR 块在 UC2S(商业)中创建 VPC 和子网。(例如,使用 VPC 向导创建大小为 10.0.0.0/16 的 VPC,单个公有子网大小为 10.0.0.0/24。)

    这可以通过以下两种方式之一来完成:

    • 使用基本 CIDR 和子网划分在 SC2S 中创建测试 VPC
    • 复制 SC2S 中使用的 CIDR 和子网划分

    注意:

    对于 C2S,VPC 的创建是通过服务完成的,并自动从超网分配 IP 空间。在这种情况下,第二种方法是必要的。对于GovCloud,请等待进一步的说明,或从市场下载最新版本的VPX。

    VPC 控制板的图像

    VPC 配置向导的映像,步骤 1

    VPC 向导的映像,步骤 2

  2. 在 AWS Marketplace 中从 Citrix ADC AMI 部署 EC2 实例。实例需要获得客户许可。使用非硝基实例(例如,m4.xlarge)。

    步骤 1 的图像,选择 AMI

    步骤 2 的图片,选择实例类型

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

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

    安全组将自动填充。单击下一步,完成实例启动的其余步骤。

    巫师的镜像

  3. 创建一个 Windows Server 2019 或 2016 基础堡垒主机以访问您的 VPX 实例。

    此实例可以是 m4.xlarge,并且必须在与 Citrix ADC 相同的 VPC 和可用区中构建,并具有自动分配的公有 IP。根卷至少需要 45 GiB 的通用固态硬盘 (gp2)。

    注意:

    如果环境允许创建弹性 IP (EIP),您可以跳过创建堡垒主机,并且可以直接从网络或Internet连接 VPX 实例。出于安全考虑,我们建议使用堡垒主机,并且在空隙环境中缺乏 EIP 可用性。

    步骤 1 的图像,选择 AMI

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

    第 5 步的图片,添加标签

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

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

    实例准备就绪后,使用公有 IP RDP 进入计算机。然后下载 PuTTY 和 WinSCP,然后复制用于创建 VPX 实例的密钥对。这需要使用 PuTTYgen 将 .pem 转换为 .ppk。在服务器管理器中,禁用 Windows 防火墙和Internet资源管理器增强安全性。使用 PuTTY 验证您是否能够通过 SSH 连接到新部署的 Citrix ADC 设备。记下实例的 nsroot 密码。默认情况下,这是 AWS 实例 ID。记下实例的私有 IP,因为在后面的步骤中需要它。在此阶段,您有一台工作正常的 Citrix ADC 设备。

    注意:

    请勿配置此 VPX!只需以 nsroot 身份登录即可验证功能。

  4. 从 AWS 控制台关闭 Citrix ADC 实例的电源。将根 EBS 卷与 Citrix ADC 实例分离。

    新 EC2 映像

    要分离根卷,请单击根设备 /dev/sda1,然后单击卷 ID。在“卷”选项卡中,选择卷,将其命名为可识别的内容(例如,SC2S: Commercial Root Vol),然后记下卷 ID。单击操作 > 分离卷 > 确定。卷状态现在应为“可用”。

    实例详情图片

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

    添加标签图片

  6. 将分离的根 EBS 卷从 VPX 连接到 Linux EC2 实例。

    新 EC2 映像

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

    附加卷映像

  7. 创建容量高于根 VPX 卷的卷。VPX 卷的根卷容量为 30 GiB。创建容量为 35 GiB 的卷。将卷类型设置为通用 SSD (gp2),并将其命名为可识别的内容(例如,SC2S: Copy Low Vol)。将新卷连接到 Linux 实例。

    创建和连接卷

    创建和连接卷

    创建和连接卷

  8. 打开 Linux 实例的电源,并使用私有密钥文件从堡垒主机通过 SSH 连接到该实例。以 ec2-user* 身份登录。

  9. 在新的 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 中,验证是否没有文件系统。响应应仅为 数据

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

    创建文件系统。

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

    创建挂载点并装载设备。

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

    验证设备是否已安装,以及是否有三个设备(例如 xvdaxvdfxvdg)。

    lsblk
    <!--NeedCopy-->
    

    使用 fdisk 创建分区,选择 n 表示新建、p 表示主分区、1 表示分区编号和第一个和最后一个扇区的默认值(ENTER、ENTER)。按 CRTL+C 退出。

    sudo fdisk /dev/xvdg
    >n
    >p
    >1
    >enter
    >enter
    >CTRL+C
    <!--NeedCopy-->
    
  10. 将 VPX 根卷复制到块级别的新 EBS 卷(例如,将 SC2S:商业根卷 复制到 SC2S:复制低容量)。在此处创建的文件 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-->
    
  11. WinSCP 将 citrixADC.img 文件放到一个可以将其分解到高边的位置。如果需要,堡垒足够大,可以将图像文件复制到。

在 SC2S 中创建 VPX-高边的步骤

  1. 创建具有与步骤 1 中“低端”相同 CIDR 块和子网的 VPC,或使用现有 VPC。在本示例中, VPC 的 CIDR 为 10.0.0.0/16, 子网 IP 空间为 10.0.0.0/16。这一点非常重要,因为最终创建的 VPX 必须与商业市场的原始 VPX 相同。

    图像占位符

  2. 在新的 VPC 和子网中,启动与部署在低端的 Citrix ADC 实例相同的实例类型(例如 m4.xlarge)的 Amazon Linux 实例(Amazon Linux 2 AMI (HVM)、SSD 卷类型、EBS 支持、启用了 ENA、64 位)。将实例命名为可识别的名称(例如 SC2S:Linux 高级)。当实例准备就绪时,请关闭其电源。

    图像占位符

  3. 添加两个容量大于传输文件大小的 EBS 卷(例如 35 GiB)。这些卷必须与低端创建的卷具有相同的 SSD 类型 (gp2)。
    1. 第一卷用于低端的副本。将卷命名为可识别的内容(例如“SC2S:复制高卷”)。将此卷作为 /dev/sdf 附加到 SC2S 中的新 Linux 实例。这是实例上 /dev/xvdf 的符号链接。

    图像占位符

    1. 第二个卷将成为新 VPX 的根卷。将卷命名为可识别的内容(例如“SC2S:最终 VPX 卷”)。将此卷作为 /dev/sdg 附加到 SC2S 中的新 Linux 实例。这是实例上 /dev/xvdg 的符号链接。

    图像占位符

    该实例现在连接了三个块储存设备,包括根设备。打开实例的电源。

    图像占位符

  4. 以与低端堡垒相同的方式创建高端 Windows Server 2019 或 2016 基础堡垒主机。此实例应位于新创建的 VPC 和子网中,并且文件传输应至少为 45 GiB。将“自动分配公共 IP”设置为已启用。为实例命名可识别的内容(例如“SC2S: WS2016 Bastion_High”),并将安全组设置为现在允许“所有流量”。

  5. 堡垒主机准备就绪后,使用公有 IP RDP 进入计算机,下载 PuTTY 和 WinSCP,然后复制用于创建 VPX 实例的密钥对。这需要使用 PuTTYgen 将 .pem 转换为 .ppk。在服务器管理器中,暂时禁用 Windows 防火墙和 Internet Explorer 增强安全性。

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

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

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

    图像占位符

  9. 验证 /dev/xvdf 设备没有文件系统,然后创建一个文件系统。

    注意:

    请勿在 /dev/xvdg 设备上创建文件系统。

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

    图像占位符

  10. 为设备创建一个装入点,装入设备,然后验证卷装入点是否为 /copy

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

    图像占位符

  11. 使用 fdisk 创建分区。

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

    图像占位符

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

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

    图像占位符

  13. 在堡垒主机上使用 WinSCP 连接到 Linux 实例。将 citrixADC.img 文件复制到 /copy 目录中。复制文件后,更改权限以允许从 WinSCP 控制台读取、写入和执行所有文件。

  14. 在 Linux CLI 中,使用以下命令将映像文件复制到 /dev/xvdg 设备:

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

    图像占位符

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

    lsblk
    <!--NeedCopy-->
    

    图像占位符

  16. 关闭 Linux 实例的电源并分离 /dev/xvdg(/dev/sdg)卷(例如“SC2S:最终 VPX 卷”)。

    图像占位符

    图像占位符

  17. 在高端创建的 VPC 和子网(Amazon Linux 2 AMI (HVM)、SSD 卷类型、EBS 支持、启用 ENA-64 位 m4.xlarge、安全组设置为允许“所有流量”)。在设置过程中,将 IP 设置为与低端的 VPX 相同,这在本文档的上一部分中已有说明。实例准备就绪后,关闭该实例的电源。

    图像占位符

  18. 分离新部署的 Linux 实例的根卷并附加分离的实例(例如“SC2S:最终 VPX 卷”)。在连接过程中,将设备指定为根卷(即 /dev/xvda)。

    图像占位符

  19. 打开实例的电源。使用高端堡垒主机向实例输入 PuTTY/SSH 以验证 VPX 的功能。使用本文档前一部分中记录的实例 ID 密码以 nsroot 身份登录,然后执行一个简单的命令。

    sh version
    <!--NeedCopy-->
    

    图像占位符

从已启动的 VPX 实例创建 AMI

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

    shell
    <!--NeedCopy-->
    

    图像占位符

  2. 强制递归地手动从 ADC 软件中删除以下目录和文件。要手动删除文件和目录,请在每个文件和目录前面添加 rm —rf。 ‘/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’

    图像占位符:rm -rf

    或者运行这个脚本:

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

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

    图像占位符

  4. 验证是否没有剩余密钥。如果有,则强制和递归地删除它们。

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

    图像占位符

  5. 验证 /nsconfig/license 中是否不存在剩余许可证。如果有,则强制和递归地删除它们。

    注意:

    此文件夹中还会有其他目录和文件(例如 SSL 和 XML),仅删除许可证文件(如果存在)。

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

    图像占位符

  6. 从 AWS 控制台关闭计算机电源。实例停止后,从该实例创建 AMI。

    图像占位符

    将实例命名为所有可识别的内容,因为这是公开共享给 SC2S 的所有管理员(例如“Citrix ADC VPX 13.0—47.24”)

    图像占位符

  7. AMI 准备就绪后,从中部署实例以验证其功能。

    图像占位符

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

升级到新版本

  • 对于 SC2S 中的现有 Citrix ADC VPX:使用位于 https://citrix.com/downloads的升级软件升级 VPX,然后将文件放到高处。按照 升级 Citrix ADC 独立设备 中的指导进行安装。推荐的升级方法是使用命令行。

  • 对于 SC2S 中的新 Citrix ADC VPX:创建要公开共享的 AMI。从现有 AMI 启动实例,如前一节所述升级计算机,然后执行本文档中“从已启动的 VPX 实例创建 AMI”一节中的步骤。

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