文章介绍:本篇文章主要介绍使用AWS免费一年VPS搭建自己需要的系统,官方给的部分免费套餐中可选系统版本镜像不多,基本符合大部分用户使用,但是不排除少部分用户不想用AWS内置的镜像安装系统,那怎么处理这个问题呢,以下内容是个人研究的,可以通过DD命令,把Ubuntu或者Debian重装成任意系统,比如本篇将介绍把Ubuntu系统DD成Vyos软路由。
一、准备工作 {#一-准备工作}
1.1、qcow2镜像 {#1-1-qcow2镜像}
这里博主已经转换好了vyos-1.3.5-amd64.iso最新LTS版本的qcow2镜像,市面上官方提供的大部分镜像格式都是iso格式,如果需要了解怎么把iso转换成qcow2或者其他格式镜像,可以在留言区留言,博主有时间会出一版,本篇文章这里不做介绍,需要vyos-1.3.5-amd64.qcow2镜像直接下载博主共享网盘里的即可。 vyos-1.3.5-amd64.qcow2
1.2、SSH工具 {#1-2-SSH工具}
二、AWS部署Ubuntu {#二-AWS部署Ubuntu}
2.1、创建密钥 {#2-1-创建密钥}
2.2、启动实例 {#2-2-启动实例}
2.3、端口测试 {#2-3-端口测试}
2.4、创建会话 {#2-4-创建会话}
三、Ubuntu设置 {#三-Ubuntu设置}
3.1、重置root密码 {#3-1-重置root密码}
sudo passwd root
3.2、修改Root权限 {#3-2-修改Root权限}
sudo vi /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes
3.3、重启SSH服务 {#3-3-重启SSH服务}
sudo systemctl restart sshd
3.4、用root登录实例 {#3-4-用root登录实例}
四、DD系统 {#四-DD系统}
4.1、上传qcow2镜像到实例 {#4-1-上传qcow2镜像到实例}
4.2、对比大小 {#4-2-对比大小}
ls -al
4.2、更新软件列表 {#4-2-更新软件列表}
sudo apt-get update
4.3、安装QEMU {#4-3-安装QEMU}
sudo apt-get install -y qemu-utils
4.4、qcow2转raw {#4-4-qcow2转raw}
命令说明:使用QEMU 的 qcow2 格式磁盘映像文件转换为 raw 格式。
-
-f qcow2
指定输入文件的格式为 qcow2。 -
-O raw
指定输出文件的格式为 raw。 -
vyos-1.3.5-amd64.qcow2
是输入文件的名称。 -
vyos-1.3.5-amd64.raw
是输出文件的名称。qemu-img convert -f qcow2 -O raw vyos-1.3.5-amd64.qcow2 vyos-1.3.5-amd64.raw
4.5、挂载新卷 {#4-5-挂载新卷}
4.6、查看卷标 {#4-6-查看卷标}
fdisk -l
4.7、开始DD {#4-7-开始DD}
使用dd命令,将vyos-1.3.5-amd64.raw二进制复制到新卷/dev/xvdf,重要提醒:dd时此窗口不要关闭,dd时长大约15~20分钟不等,当cpu归零时表示完成dd,可以看MobaXterm下方的cpu实时动态图。
sudo dd if=./vyos-1.3.5-amd64.raw of=/dev/xvdf
五、实例管理 {#五-实例管理}
5.1、创建快照 {#5-1-创建快照}
这一步需要等待DD完成才能操作,给刚才挂载到ubuntu的新增10G卷创建一个快照。
5.2、安装AWS CLI {#5-2-安装AWS-CLI}
如果使用方式一的命令安装不上,可用方式二安装。
5.2.1、方式一 {#5-2-1-方式一}
sudo apt-get install -y awscli
5.2.2、方式二 {#5-2-2-方式二}
下载awscliv2。
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
下载unzip解压工具。
sudo apt-get install unzip
解压awscliv2.zip文件。
unzip awscliv2.zip
执行安装AWS CLI
./aws/install
5.3、获取KeyID和AccessKey {#5-3-获取KeyID和AccessKey}
5.4、启动AWS CLI {#5-4-启动AWS-CLI}
aws configure
查看awscli状态,比如和我的类似才行,不然创建AMI会报错。
aws sts get-caller-identity
5.5、创建AMI {#5-5-创建AMI}
在ubuntu的命令行中,运行以下命令,只需要替换(SnapshotId)后的snap-****参数即可(SnapshotId是快照ID:snap-095be086afc63f5b6)
aws ec2 register-image --name "vyos" --description "vyos" --architecture x86_64 --root-device-name /dev/sda1 --block-device-mappings "[{\"DeviceName\": \"/dev/sda1\",\"Ebs\": {\"SnapshotId\": \"snap-095be086afc63f5b6\",\"VolumeSize\": 10 }}]" --virtualization-type hvm --sriov-net-support simple
六、创建vyos虚拟机 {#六-创建vyos虚拟机}
因为使用的是免费套餐,所以需要先把ubuntu终止,在用AMI启动新实例,不然会被扣费,请注意!
6.1、终止ubuntu实例 {#6-1-终止ubuntu实例}
6.2、从AMI创建实例 {#6-2-从AMI创建实例}
6.3、删除AMI {#6-3-删除AMI}
因为使用的是免费套餐,所以在创建完vyos后,需要把AMI,快照,还有10G卷全部删除,如果超过免费范围,将会被扣费,请注意!