AWS EC2运维教程:从连接实例到日常维护的完整步骤
搜索这个教程的人真正想解决的问题
搜「AWS EC2运维教程」的用户,多数不是要听概念,而是已经开了实例或准备买一台,想知道怎么连上去、怎么保证安全、怎么备份、出问题怎么看日志。
本文就围绕这条主线展开,适合刚接触 AWS 的零基础用户。
操作前请确认:已有 AWS 账号、已创建 EC2 实例、手上有对应的 .pem 私钥文件,并且实例处于 running 状态。
需要说明:AWS 控制台界面会随版本更新,路径名称可能微调,但核心逻辑一致。
涉及删除、重启、改权限的操作,我会标出影响范围。
第一步:用 SSH 连上你的 EC2 实例
Linux 实例默认用密钥对登录,不需要密码。
假设你的私钥文件叫 my-key.pem,实例公网 IP 是 1.2.3.4,登录用户根据 AMI 不同而不同:Amazon Linux 和常见 Ubuntu 镜像用 ec2-user 或 ubuntu,具体以你创建实例时选择的 AMI 说明为准。
先修正私钥权限,否则 SSH 会直接拒绝:
chmod 400 my-key.pem
ssh -i my-key.pem ec2-user@1.2.3.4
如果连接超时,先别怀疑密钥,按顺序排查:实例是否 running、公网 IP 是否变化(未绑定弹性 IP 时重启会变)、安全组是否放行 22 端口、本地网络是否限制出站。
想省去每次敲 IP,可以在本地 ~/.ssh/config 里加一段:
Host myec2
HostName 1.2.3.4
User ec2-user
IdentityFile ~/my-key.pem
之后直接 ssh myec2 即可。
安全组和密钥:EC2 运维最容易出事的两处
安全组相当于实例的虚拟防火墙,默认拒绝所有入站流量,只放行你明确添加的规则。
常见错误是图省事把 22 端口来源设成 0.0.0.0/0,这等于把 SSH 暴露给全网扫描。
建议做法:
- SSH 来源尽量限制为自己的固定公网 IP,格式如
203.0.113.5/32。 - Web 服务只放行 80 和 443,数据库端口(如 3306)不要对公网开放,走内网或跳板机。
- 出站规则默认全放行通常够用,除非你有明确的收敛需求。
密钥方面,.pem 文件一旦丢失无法从控制台重新下载,只能通过其他方式重建密钥对。
所以创建实例后第一件事就是把私钥备份到安全位置,不要提交到 Git 仓库。
日常维护:备份、监控和补丁
实例跑起来后,运维的核心是「出事能恢复、异常能提前发现」。
快照备份:在 EC2 控制台选中实例 → 存储 → 卷,右键创建快照。
快照按实际存储量计费,是整卷级别的恢复手段。
建议至少对系统盘做定期快照,重要数据盘单独设置策略。
CloudWatch 监控:默认提供 CPU、网络、磁盘读写等基础指标。
可以在控制台为 CPU 利用率设置告警,例如连续 5 分钟超过 80% 触发通知。
注意默认监控不含内存和磁盘剩余空间,这两项需要在实例内安装 CloudWatch Agent 才能采集。
系统补丁:登录后定期执行系统更新。
以 Amazon Linux 为例:
sudo yum update -y
Ubuntu 则用 sudo apt update && sudo apt upgrade -y。
生产环境建议先在测试实例验证再批量执行,更新前做好快照。
常见故障与避坑清单
- SSH 报 Permission denied (publickey):多半是用户名不对或私钥不匹配。确认 AMI 对应的默认用户,确认用的是创建该实例时的密钥。
- 实例能 ping 通但服务打不开:检查安全组是否放行对应端口,再检查实例内服务是否监听在
0.0.0.0而非仅127.0.0.1,可用ss -tlnp查看。 - 磁盘满了导致服务异常:用
df -h看分区使用率,du -sh *定位大目录。日志文件是常见元凶,注意配置日志轮转。 - 误删安全组规则把自己锁在外面:如果 SSH 规则被删且没有其他入口,可通过 EC2 的「实例连接」功能或临时挂载卷修复,操作前先了解影响。
- 不要长期用 root 操作:日常用普通用户加
sudo,降低误操作风险。
避坑重点:任何改安全组、改密钥、删快照的操作,先确认有回滚手段;
生产实例重启前确认业务能否容忍短时中断。
怎么确认运维配置真的生效
做完上面几步,用这几个检查点验证:
- 断开后重新
ssh myec2能正常登录,说明密钥和配置无误。 - 在控制台查看安全组入站规则,确认没有
0.0.0.0/0的 22 端口规则。 - 在 CloudWatch 告警页面确认告警状态为正常,并手动触发一次测试通知(如支持)。
- 对系统盘创建一次快照,确认快照状态变为 completed。
- 执行一次系统更新,确认无报错后重启服务验证业务正常。
如果以上都通过,说明你的 EC2 基础运维框架已经搭好。
后续可以按业务需要补充自动快照策略、日志集中收集和更细粒度的监控。
几个常被问到的问题
EC2 实例重启后公网 IP 变了怎么办?
未绑定弹性 IP(Elastic IP)的实例,停止再启动后公网 IP 会变化。如果服务需要固定 IP,申请一个弹性 IP 并关联到实例,注意未关联的弹性 IP 可能产生费用。
密钥丢了还能进实例吗?
不能直接用原密钥登录。常见做法是停止实例,把系统盘挂载到另一台实例上修改 authorized_keys,或者通过 Systems Manager 等方式进入。操作有风险,建议先做快照。
安全组和网络 ACL 有什么区别?
安全组作用于实例级别,是有状态的,返回流量自动放行;网络 ACL 作用于子网级别,是无状态的,需要分别配置入站和出站规则。日常运维优先调安全组。
需要一直开着实例吗?
按需计费,实例运行就产生费用。测试环境可以不用时停止,但注意停止后仍可能对存储卷计费,且公网 IP 会变化。生产环境一般保持运行。
如果你正在按这份 AWS EC2 运维教程操作,建议先把连接和安全组两块做扎实,再逐步补上备份和监控,遇到异常时回到故障排查部分逐项核对。