目的
本文档描述采用InfoSite中FortiGate VM AWS和FortiWeb VM AWS的原始镜像文件导入AWS制作AMI的操作步骤。
环境准备
- 准备Linux环境,建议使用Amazon Linux 2。
- 在Linux中安装AWS CLI。
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
参考链接:
https://docs.amazonaws.cn/cli/latest/userguide/install-cliv2-linux.html
- 快速配置 AWS CLI。
$ aws configure
执行这个命令后,输入以下内容。
AWS Access Key ID [None]: <Access Key ID>
AWS Secret Access Key [None]: <Secret Access Key>
Default region name [None]: cn-northwest-1
Default output format [None]: json
AWS Access Key ID 和 AWS Secret Access Key 是您的 AWS 凭证。它们与 AWS Identity and Access Management (IAM) 用户或角色相关联,用于确定您拥有的权限。
参考链接:
https://docs.amazonaws.cn/cli/latest/userguide/cli-chap-configure.html
- 创建一个S3存储桶,用于存放镜像文件,并在存储桶中创建对应的文件夹。
FortiGate AMI
转换并导入镜像文件
- 以FortiOS 6.4.0为例,在InfoSite下载”FGT_VM64_AWS-v6-build5123-FORTINET.out.OpenXen.zip”。
- 解压缩后,FortiGate的镜像文件为qcow2格式,需要使用qemu-img工具转换为raw格式的镜像。
在Amazon Linux 2中,可以直接使用yum安装。
$ yum install -y qemu-img
$ qemu-img convert -f qcow2 -O raw fortios.qcow2 fortios.raw
- 将转换后的raw格式镜像复制到S3中。
$ aws s3 cp ./fortios.raw s3://forti-vm-import/fgt-v6.4.0-b5123/fortios.raw
查看S3存储桶,确认已经复制成功。
导入快照
- 创建json脚本
$ vi containers.json
脚本内容如下,高亮部分需要修改为对应的存储桶和文件路径。
{
"Description": "boot disk",
"Format": "raw",
"UserBucket": {
"S3Bucket": "forti-vm-import",
"S3Key": "fgt-v6.4.0-b5123/fortios.raw"
}
}
- 开始将镜像导入为快照。
$ aws ec2 import-snapshot --description "FortiGate-AWS-6.4.0_BYOL-Release" --disk-container "file://containers.json"
执行后命令行输出当前任务状态。
- 监控快照导入状态,命令中高亮部分替换为对应的”ImportTaskId”。当"Status"显示为"completed",表示导入成功。
$ aws ec2 describe-import-snapshot-tasks --import-task-ids "import-snap-0077ead5107cfef17"
创建AMI
- 在AWS控制台,选中刚刚创建好的快照,在操作中选择创建映像。
-
填写合适的名称和描述,添加新卷作为日志存储磁盘,修改磁盘大小,注意勾选终止时删除。其他参数见下图。点击创建即可。
- 在AMI中查看,确认状态为Available,即完成AMI的导入,可用此AMI启动实例。
FortiWeb AMI
导入镜像文件
- 以FortiWeb 6.3.2为例,在InfoSite下载”FWB_XENAWS-v600-build1062-FORTINET.out.aws.zip”。
- 解压缩zip,从AWS控制台上传镜像文件boot.vmdk到S3。
由于FortiWeb的原始镜像为vmdk格式,AWS支持直接导入为快照,无需像FortiGate那样进行格式转换。
导入快照
- 创建json脚本
$ vi containers.json
脚本内容如下,高亮部分需要修改为对应的存储桶和文件路径。
{
"Description": "boot disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "forti-vm-import",
"S3Key": "fwb-v6.3.2-b1062/boot.vmdk"
}
}
- 开始将镜像导入为快照。
$ aws ec2 import-snapshot --description "FortiWeb-AWS-6.3.2_BYOL-Release" --disk-container "file://containers.json"
执行后命令行输出当前任务状态。
- 监控快照导入状态,命令中高亮部分替换为对应的”ImportTaskId”。当"Status"显示为"completed",表示导入成功。
$ aws ec2 describe-import-snapshot-tasks --import-task-ids "import-snap-0431b8b2129c6a233"
创建AMI
- 在AWS控制台,选中刚刚创建好的快照,在操作中选择创建映像。
-
填写合适的名称和描述,添加新卷作为日志存储磁盘,修改磁盘大小,注意勾选终止时删除。其他参数见下图。点击创建即可。
- 在AMI中查看,确认状态为Available,即完成AMI的导入,可用此AMI启动实例。