EC2 虚拟机
实例类型、AMI、SSH 登录、与 linux-essentials 衔接。
35 分钟
EC2 虚拟机
EC2(Elastic Compute Cloud) 提供可租用的虚拟机,选 AMI、实例类型、密钥对即可启动。最接近 CodeRoadMap 当前的 宝塔 VPS:同一套 linux-essentials 技能(SSH、systemd、Nginx)可直接迁移。
学习目标
- 选实例类型、AMI、密钥对、EBS 卷
- 用 SSH 登录并完成基础初始化
- 对照宝塔部署目录与 EC2 上的目录规划
核心内容
关键概念
| 概念 | 说明 |
|---|---|
| AMI | 系统镜像,如 Ubuntu 22.04 |
| Instance type | t3.micro 免费层常用 |
| Key Pair | SSH 私钥,遗失不可找回 |
| EBS | 持久磁盘,实例删了卷可保留 |
| User data | 启动脚本,可装 Docker |
与宝塔对照
宝塔 VPS EC2 实验
──────────────────────────────────
面板装 Nginx/MySQL user-data 或 SSH 后手工装
/www/wwwroot/coderoadmap /opt/coderoadmap 或 /var/www
面板 SSL ACM + ALB 或 Certbot
容器化路径见 docker-essentials;编排见 kubernetes-essentials。
Console
EC2 → Launch instance → 选 Ubuntu AMI → t3.micro → 选 Key Pair → 选 VPC/子网/安全组 → Launch。
CLI 示例
# 查可用 Ubuntu AMI(示例,ID 因 Region 而异)
aws ec2 describe-images --owners 099720109477 \
--filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*" \
--query 'Images | sort_by(@, &CreationDate) | [-1].ImageId' --output text
# 启动实例(需 subnet-id、sg-id、key-name)
aws ec2 run-instances --image-id ami-xxxxxxxx --instance-type t3.micro \
--key-name coderoadmap-key --subnet-id subnet-xxxxxxxx \
--security-group-ids sg-xxxxxxxx --count 1
# SSH(与 linux-ssh 相同)
ssh -i ~/.ssh/coderoadmap-key.pem ubuntu@<public-ip>
登录后:sudo apt update && sudo apt install -y nginx 验证 Web。
练习
- 启动一台
t3.micro,安全组 SSH 限本机 IP - SSH 登录,安装 Nginx,浏览器访问公网 IP
- 对比宝塔与 EC2 部署 CodeRoadMap backend 还需哪些步骤