打开网易新闻 查看精彩图片

2024年云计算认证考生突破180万,但AWS官方数据显示,首次启动EC2(弹性计算云)实例的用户中,43%会在安全组配置上栽跟头。不是实例启动失败,是网页死活刷不出来——防火墙规则写成了0.0.0.0/32,把自己锁在门外。

这篇教程的价值不在"能跑通",而在暴露那些文档不会明说的坑。

15分钟搭建流程:从空白控制台到公网可访问

15分钟搭建流程:从空白控制台到公网可访问

登录AWS控制台,搜索EC2进入面板。点击"启动实例",命名随意——教程里叫My-Web-Server,你可以叫任何不带空格的名字。

AMI(亚马逊机器镜像)选择Amazon Linux 2023,这是AWS主推的长期支持版本,免费 tier 覆盖完整。实例类型锁定t2.micro,1核1G内存,750小时/月免费额度足够折腾。

关键步骤在安全组配置。SSH端口22必须开,来源选"我的IP",AWS会自动识别你当前公网地址。HTTP端口80的来源要填0.0.0.0/0——这表示全世界任何IP都能访问,也是新手最容易写错的地方。

密钥对可选创建,但本教程用EC2 Instance Connect(基于浏览器的终端连接),省掉本地管理.pem文件的麻烦。点击启动,等待实例状态变为"运行中",大约30秒。

连接方式选"EC2 Instance Connect",浏览器会直接弹出终端窗口。输入以下命令更新系统包:

sudo yum update -y

安装Apache HTTP服务器:

sudo yum install httpd -y

启动服务并设置开机自启:

sudo systemctl start httpd

打开网易新闻 查看精彩图片

sudo systemctl enable httpd

创建网页文件:

sudo nano /var/www/html/index.html

粘贴一段最小化HTML:

My EC2 Website

Hello from EC2

My HTML is working!

Ctrl+O保存,Ctrl+X退出。复制实例详情页的"公有IPv4地址",浏览器访问http://你的IP地址,看到"Hello from EC2"即告成功。

数据流向拆解:一次请求怎么跑通的

数据流向拆解:一次请求怎么跑通的

打开网易新闻 查看精彩图片

浏览器输入IP那一刻,数据包走了五步。第一步到你本地路由器,第二步经ISP进入互联网骨干,第三步路由到AWS数据中心,第四步命中EC2的弹性IP,第五步被Apache监听80端口捕获,最终返回/var/www/html目录下的index.html。

安全组在这套流程里扮演门卫角色。它是AWS的虚拟防火墙,规则按优先级匹配,默认拒绝所有入站流量。你配置的SSH规则是"允许22端口,来源我的IP",HTTP规则是"允许80端口,来源任何IP"。

0.0.0.0/0这个CIDR(无类别域间路由)表示法,斜杠后的数字是子网掩码位数。/0意味着掩码0位,匹配全部32位IPv4地址空间;/32意味着掩码32位,只匹配单一IP。新手把HTTP规则写成0.0.0.0/32,相当于说"只允许IP地址为0.0.0.0的设备访问"——这个地址在IPv4中是保留的未指定地址,实际上谁也连不进来。

文档不会告诉你:AWS控制台的下拉菜单里,"任何位置-IPv4"自动填充的就是0.0.0.0/0,但手动输入时没有任何格式校验。

三个必踩的坑与排查命令

三个必踩的坑与排查命令

坑一:安全组规则未生效。EC2修改安全组后规则实时生效,但浏览器可能有DNS缓存或连接保持。换无痕模式或硬刷新(Ctrl+F5)。

坑二:Apache服务未运行。systemctl status httpd查看状态,如果显示inactive (dead),检查/var/log/httpd/error_log。常见原因是端口被占用,或SELinux策略拦截——Amazon Linux 2023默认开启SELinux,但httpd在预设规则里已放行。

坑三:IAM权限不足。如果用的是子账号而非根账号,需要ec2:RunInstances、ec2:CreateSecurityGroup等权限。错误提示通常是"You are not authorized to perform this operation",而非连接超时。

排查优先级:先curl -v http://localhost在实例本地测试,确认Apache正常;再检查安全组入站规则;最后看VPC(虚拟私有云)的网络ACL(访问控制列表)和路由表——虽然默认VPC通常无需额外配置。

免费 tier 的隐藏边界

免费 tier 的隐藏边界

t2.micro的免费额度是每月750小时,按31天算正好跑满一台。但如果你启动第二台实例,计费立即开始。更隐蔽的是数据传输费:入站流量免费,出站流量每月1GB免费额度,超出部分0.09美元/GB。

本教程的网页只有几百字节,但浏览器F12看到的传输体积可能大得多——Apache默认开启的mod_deflate会压缩文本,但静态资源缓存头、TLS握手(如果后续配置HTTPS)都会消耗额度。

停止实例不等于终止。停止后EBS(弹性块存储)卷仍保留,每月每GB约0.1美元。彻底清理需要:终止实例、删除卷、释放弹性IP(如果分配了)。

AWS Billing Dashboard的"免费 tier 使用情况"页面有48小时延迟,别等账单来了才发现超支。

这套流程跑通后,你已经触达了云计算最核心的抽象层:计算资源按需获取、网络策略精细化控制、服务状态可观测。下一步可以是配置HTTPS(Let's Encrypt免费证书)、接入RDS(关系型数据库服务)动态化内容、或用Auto Scaling组实现负载均衡。