文章介绍:本篇文章主要介绍使用AWS免费一年VPS搭建自己需要的系统,官方给的部分免费套餐中可选系统版本镜像不多,基本符合大部分用户使用,但是不排除少部分用户不想用AWS内置的镜像安装系统,那怎么处理这个问题呢,以下内容是个人研究的,可以通过DD命令,把Ubuntu或者Debian重装成任意系统,比如本篇将介绍把Ubuntu系统DD成Vyos软路由。

一、准备工作

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工具

MobaXterm常规设置指南and激活方法

二、AWS部署Ubuntu

2.1、创建密钥

yydy_2024-01-21_21-14-28
yydy_2024-01-21_21-14-40
yydy_2024-01-21_21-15-38
yydy_2024-01-21_21-16-52

2.2、启动实例

yydy_2024-01-21_21-19-49
yydy_2024-01-21_21-22-15
yydy_2024-01-21_21-23-49
yydy_2024-01-27_16-39-51
yydy_2024-01-21_21-27-38
yydy_2024-01-21_21-28-14
yydy_2024-01-21_21-30-05

2.3、端口测试

yydy_2024-01-21_21-38-42.webp

2.4、创建会话

yydy_2024-01-21_21-33-48
yydy_2024-01-21_21-34-30

三、Ubuntu设置

3.1、重置root密码

sudo passwd root

yydy_2024-01-21_22-04-52

3.2、修改Root权限

sudo vi /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes

yydy_2024-01-21_22-11-44

3.3、重启SSH服务

sudo systemctl restart sshd

3.4、用root登录实例

yydy_2024-01-21_22-17-32
yydy_2024-01-21_22-18-51

四、DD系统

4.1、上传qcow2镜像到实例

yydy_2024-01-21_22-21-00
yydy_2024-01-21_22-25-42

4.2、对比大小

ls -al

yydy_2024-01-21_22-32-09

4.2、更新软件列表

sudo apt-get update

4.3、安装QEMU

sudo apt-get install -y qemu-utils

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

yydy_2024-01-21_22-43-09

4.5、挂载新卷

yydy_2024-01-21_21-44-12
yydy_2024-01-21_21-56-49
yydy_2024-01-21_21-51-42
yydy_2024-01-21_21-52-31
yydy_2024-01-21_21-54-27
yydy_2024-01-21_22-01-18

4.6、查看卷标

fdisk -l

yydy_2024-01-21_22-46-41

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

yydy_2024-01-21_22-52-33

yydy_2024-01-21_23-06-12

五、实例管理

5.1、创建快照

这一步需要等待DD完成才能操作,给刚才挂载到ubuntu的新增10G卷创建一个快照。

yydy_2024-01-21_23-07-51
yydy_2024-01-21_23-08-29
yydy_2024-01-21_23-08-51
yydy_2024-01-21_23-09-57

5.2、安装AWS CLI

如果使用方式一的命令安装不上,可用方式二安装。

5.2.1、方式一

sudo apt-get install -y awscli

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

yydy_2024-01-21_23-18-15
yydy_2024-01-21_23-20-44
yydy_2024-01-21_23-21-57
yydy_2024-01-21_23-23-29
yydy_2024-01-21_23-27-13
yydy_2024-01-21_23-27-48
yydy_2024-01-21_23-29-13
yydy_2024-01-21_23-30-14
yydy_2024-01-21_23-31-58

5.4、启动AWS CLI

aws configure

yydy_2024-01-22_00-11-31

yydy_2024-01-22_00-15-32

查看awscli状态,比如和我的类似才行,不然创建AMI会报错。

aws sts get-caller-identity

yydy_2024-01-22_00-18-30

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

yydy_2024-01-21_23-09-57
yydy_2024-01-22_00-19-28
yydy_2024-01-22_00-20-15

六、创建vyos虚拟机

因为使用的是免费套餐,所以需要先把ubuntu终止,在用AMI启动新实例,不然会被扣费,请注意!

6.1、终止ubuntu实例

yydy_2024-01-22_00-22-40
yydy_2024-01-22_00-23-01

6.2、从AMI创建实例

yydy_2024-01-22_00-26-25
yydy_2024-01-22_00-27-35
yydy_2024-01-22_00-30-22
yydy_2024-01-22_00-33-13

6.3、删除AMI

因为使用的是免费套餐,所以在创建完vyos后,需要把AMI,快照,还有10G卷全部删除,如果超过免费范围,将会被扣费,请注意!

6.4、删除快照

yydy_2024-01-22_00-40-46

6.5、删除10G卷

6.6、登录验证vyos

yydy_2024-01-24_18-16-43