CHR: AWS Installation
本页指导用户在 Amazon Web Services(AWS)上部署 MikroTik CHR:先把 raw 磁盘镜像导入为 AMI,再从该 AMI 启动 EC2 实例。
CHR:AWS 安装
Amazon Web Services(AWS)的 Marketplace 中并不直接提供 MikroTik CHR。要在 AWS 上部署 CHR,需要把 raw 磁盘镜像导入为 Amazon Machine Image(AMI),然后基于它启动 EC2 实例。
前置条件
- 一个具备使用 EC2、S3 以及 VM Import/Export 服务权限的 AWS 账号。
- 在本机已安装并配置好的 AWS CLI。
- 一个用于上传 CHR 磁盘镜像的 S3 bucket。
信息
IAM 用户或角色必须配置
vmimport服务角色。所需的权限与信任策略请参阅 AWS VM Import/Export 文档。
步骤 1:下载 CHR raw 磁盘镜像
- 打开 MikroTik 下载页面。
- 找到适用于目标架构的最新 Stable 版 CHR raw disk image(
.img文件)。 - 下载并解压该压缩包。
步骤 2:把镜像上传到 S3
把 raw .img 文件上传到你的 S3 bucket:
aws s3 cp chr-x.x.x.img s3://YOUR-BUCKET-NAME/chr-x.x.x.img
把 YOUR-BUCKET-NAME 替换为实际的 S3 bucket 名称,把 x.x.x 替换为 RouterOS 版本号。
步骤 3:创建导入清单(manifest)
创建一个 JSON 文件(例如 containers.json),用于描述导入过程要使用的磁盘镜像:
{
"Description": "MikroTik RouterOS CHR",
"Format": "raw",
"UserBucket": {
"S3Bucket": "YOUR-BUCKET-NAME",
"S3Key": "chr-x.x.x.img"
}
}
步骤 4:导入快照
启动快照导入并记下任务 ID:
aws ec2 import-snapshot \
--description "MikroTik RouterOS CHR" \
--disk-container file://containers.json
输出中会包含一个 ImportTaskId,用它来监控进度:
aws ec2 describe-import-snapshot-tasks \
--import-task-ids import-snap-xxxxxxxxxxxxxxxxx
等待状态变为 completed。输出中会包含 SnapshotId。
步骤 5:注册 AMI
把导入的快照注册为 AMI:
aws ec2 register-image \
--name "MikroTik RouterOS CHR" \
--description "MikroTik RouterOS CHR" \
--architecture x86_64 \
--virtualization-type hvm \
--ena-support \
--root-device-name "/dev/sda1" \
--block-device-mappings "[{\"DeviceName\": \"/dev/sda1\", \"Ebs\": { \"SnapshotId\": \"snap-xxxxxxxxxxxxxxxxx\"}}]"
把 SnapshotId 替换为上一步得到的值。输出中会包含一个 ImageId —— 这就是你的新 AMI。
步骤 6:启动 EC2 实例
- 打开 EC2 控制台。
- 进入 Images > AMIs,找到你新建的 CHR AMI。
- 选中它并选择 Launch。
- 选择实例类型(例如测试可用
t3.micro)。 - 根据需要配置网络、安全组和密钥对。
- 启动实例。
警告
请确保安全组只允许来自你管理 IP 的 SSH(22 端口)和 WinBox(8291 端口)访问。首次登录后应立即加固路由器——参见加固你的路由器。
步骤 7:连接 CHR
-
使用实例的公网 IP 通过 SSH 连接:
ssh admin@INSTANCE_PUBLIC_IP -
首次登录时,请查看软件许可并设置一个强密码。
-
继续配置。生产环境搭建指引参见首次配置。
提示
AWS 默认不分配公网 IP。请确保实例已关联公网 IP 或 Elastic IP,并且安全组允许入站 SSH。