大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
AWS EC2
这一课你将能做到
- 创建、配置、管理 EC2 实例
- 配置安全组(防火墙)
- 用 SSH 连接实例并部署应用
为什么要学
EC2(Elastic Compute Cloud)是 AWS 的虚拟服务器,按需付费、弹性伸缩。你的网站、后端服务都要跑在服务器上,EC2 是最基础的云资源。
人话:EC2 是「租电脑」,按小时付费,随时开关。
跟着做
步骤 1:创建 EC2 实例
1. AWS Console → EC2 → Launch Instance
2. Name: my-server
3. AMI: Ubuntu Server 22.04 LTS
4. Instance Type: t2.micro(免费层)
5. Key Pair: 创建新密钥对,下载 .pem 文件
6. Network Settings:
- VPC: 默认
- Subnet: 默认
- Auto-assign public IP: Enable
7. Security Group:
- SSH (22) → My IP
- HTTP (80) → 0.0.0.0/0
- HTTPS (443)→ 0.0.0.0/0
8. Storage: 8 GB(默认)
9. Launch
步骤 2:连接实例
chmod 400 mykey.pem
ssh -i mykey.pem ubuntu@ec2-xx-xx-xx-xx.compute-1.amazonaws.com
步骤 3:基础配置
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装常用工具
sudo apt install -y git curl vim nginx
# 安装 Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
# 安装 PM2
sudo npm install -g pm2
步骤 4:安全组管理
# AWS Console → EC2 → Security Groups
# 入站规则:
Type Protocol Port Range Source
SSH TCP 22 你的IP/32
HTTP TCP 80 0.0.0.0/0
HTTPS TCP 443 0.0.0.0/0
Custom TCP 3000 0.0.0.0/0 # Node 应用端口
# 出站规则(默认允许所有):
All traffic All All 0.0.0.0/0
步骤 5:Elastic IP(固定公网 IP)
# 1. AWS Console → EC2 → Elastic IPs → Allocate Elastic IP
# 2. 选中 IP → Actions → Associate Elastic IP address
# 3. 选择实例
# 注意:不关联实例的 Elastic IP 会收费
步骤 6:自动启动脚本
# 用户数据(创建实例时配置,开机自动执行)
#!/bin/bash
apt update
apt install -y nginx
systemctl start nginx
systemctl enable nginx
常用命令
# 查看实例信息
curl http://169.254.169.254/latest/meta-data/public-ipv4
# 查看实例类型
curl http://169.254.169.254/latest/meta-data/instance-type
# 监控 CPU
sudo apt install -y htop
htop
面试常问
-
EC2 实例类型怎么选? t2/t3 通用型(Web 应用);c5 计算优化(CPU 密集型);r5 内存优化(数据库);i3 存储优化(大数据)。
-
安全组 vs NACL? 安全组是实例级别的防火墙(有状态);NACL 是子网级别的(无状态,可允许/拒绝)。
-
EBS 和实例存储区别? EBS 持久化存储(数据不丢);实例存储是物理硬盘(快但实例终止数据丢失)。
自测三问
- t2.micro 免费层限制?
- 安全组有状态和无状态的区别?
- 为什么需要 Elastic IP?
小结
EC2 是 AWS 的虚拟服务器,安全组控制访问,Elastic IP 固定公网地址。