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 磁盘镜像

  1. 打开 MikroTik 下载页面。
  2. 找到适用于目标架构的最新 Stable 版 CHR raw disk image(.img 文件)。
  3. 下载并解压该压缩包。

步骤 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 实例

  1. 打开 EC2 控制台。
  2. 进入 Images > AMIs,找到你新建的 CHR AMI。
  3. 选中它并选择 Launch。
  4. 选择实例类型(例如测试可用 t3.micro)。
  5. 根据需要配置网络、安全组和密钥对。
  6. 启动实例。

警告

请确保安全组只允许来自你管理 IP 的 SSH(22 端口)和 WinBox(8291 端口)访问。首次登录后应立即加固路由器——参见加固你的路由器。

步骤 7:连接 CHR

  1. 使用实例的公网 IP 通过 SSH 连接:

    ssh admin@INSTANCE_PUBLIC_IP
    
  2. 首次登录时,请查看软件许可并设置一个强密码。

  3. 继续配置。生产环境搭建指引参见首次配置。

提示

AWS 默认不分配公网 IP。请确保实例已关联公网 IP 或 Elastic IP,并且安全组允许入站 SSH。