大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
AWS 概览
这一课你将能做到
- 说清楚云计算三种模型(IaaS/PaaS/SaaS)的区别,并能举例各自对应的 AWS 服务
- 用自己的话解释 AWS 责任共担模型(Shared Responsibility Model),判断哪些安全归 AWS 管、哪些归你管
- 列出 AWS 的六大架构支柱(Well-Architected Framework),并说明本站如果迁到 AWS 会用到哪些核心服务
为什么要学
AWS 是全球市场份额最大的云平台(约 31%),国内出海企业、外企、跨国公司几乎绕不开它。本站目前部署在阿里云,但如果未来要做国际化,AWS 就是最现实的选择。面试中「了解过哪些云服务」是高频问题,能说清楚 AWS 的核心概念和架构原则,至少证明你有云原生思维。
人话:把 AWS 想象成一个超级大的「电脑城」,你不需要自己买服务器、拉网线、配机房,按需租用它的计算、存储、网络资源即可。责任共担就是:AWS 保证它的大楼不塌、电不停、门有人守,但你租的房间里的东西(数据、代码、权限)归你自己管。
先建立图像
AWS 服务全景图(简化版):
┌─────────────────────────────────────────────────────────────┐
│ AWS 云平台 │
├─────────────┬─────────────┬─────────────┬─────────────────┤
│ 计算 │ 存储 │ 数据库 │ 网络与 CDN │
│ EC2 │ S3 │ RDS │ VPC │
│ Lambda │ EBS │ DynamoDB │ CloudFront │
│ ECS/EKS │ EFS │ ElastiCache│ Route53 │
├─────────────┼─────────────┼─────────────┼─────────────────┤
│ 安全 │ 监控 │ 消息/邮件 │ 管理 │
│ IAM │ CloudWatch│ SQS/SNS │ CloudFormation│
│ KMS │ CloudTrail│ SES │ Systems Manager│
└─────────────┴─────────────┴─────────────┴─────────────────┘
责任共担模型(Shared Responsibility Model):
| 层级 | 归 AWS 管 | 归你管 |
|---|---|---|
| 物理设施 | 数据中心、服务器、网络硬件 | — |
| 虚拟化层 | Hypervisor、宿主机安全 | — |
| 操作系统 | — | 补丁、加固、访问控制 |
| 应用与数据 | — | 加密、备份、权限、代码安全 |
跟着做
步骤 1:注册 AWS 账号并开通免费套餐
访问 aws.amazon.com,用邮箱注册,绑定信用卡(验证用,不扣费)。新账号有 12 个月免费套餐(Free Tier),包含:
- EC2:每月 750 小时 t2.micro / t3.micro
- S3:5 GB 标准存储
- RDS:每月 750 小时 db.t2.micro / db.t3.micro
- Lambda:每月 100 万次请求
注意:免费套餐有额度限制,超出会扣费。建议开通后立刻设置账单告警。
步骤 2:安装并配置 AWS CLI
Windows(PowerShell):
# 下载安装 AWS CLI v2
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
# 验证安装
aws --version
配置凭证(需要先在 IAM 里创建 Access Key):
aws configure
# AWS Access Key ID: AKIA...
# AWS Secret Access Key: ...
# Default region name: ap-southeast-1
# Default output format: json
步骤 3:用 CLI 查看当前区域的服务
# 列出所有区域
aws ec2 describe-regions --output table
# 列出 S3 桶(此时应该是空的)
aws s3 ls
# 查看当前身份
aws sts get-caller-identity
步骤 4:在控制台创建一个 S3 桶
- 登录 AWS Console → 搜索 S3 → 进入 S3 控制台
- 点击「创建存储桶」→ 输入全局唯一名称(如
codenav-demo-2024) - 区域选
ap-southeast-1(新加坡,离国内近) - 保持默认「阻止所有公开访问」→ 创建
- 上传一个文件试试
步骤 5:理解区域(Region)与可用区(AZ)
# 查看当前区域可用区
aws ec2 describe-availability-zones --region ap-southeast-1
- Region:地理区域,如
ap-southeast-1(新加坡)、us-east-1(弗吉尼亚) - AZ:Region 内的独立数据中心,如
ap-southeast-1a、ap-southeast-1b - 设计原则:跨 AZ 部署实现高可用,跨 Region 部署实现灾备
讲清楚要点
- IaaS vs PaaS vs SaaS:IaaS 给你虚拟机(EC2),PaaS 给你运行环境(Elastic Beanstalk、RDS),SaaS 给你现成软件(WorkMail)。AWS 以 IaaS 起家,现在 PaaS/SaaS 也很全。
- 责任共担模型:AWS 管「云本身的安全」,你管「云里面的安全」。EC2 的 OS 补丁归你打,S3 的数据加密归你开,IAM 的权限归你配。
- Well-Architected Framework 六大支柱:卓越运营、安全性、可靠性、性能效率、成本优化、可持续性。面试时背下来,能展开讲两条就是加分项。
- 免费套餐不是无限用:EC2 750 小时/月 ≈ 一台 t2.micro 跑满一个月。开两台就超了。
- Region 选择影响延迟和合规:面向国内用户选
ap-southeast-1或ap-northeast-1;数据合规要求高的业务选当地 Region。
你可能会懵的地方
-
AWS 和阿里云、腾讯云有什么区别? 核心概念几乎一一对应:EC2 ↔ ECS、S3 ↔ OSS、RDS ↔ RDS、VPC ↔ VPC。AWS 功能更细、生态更全,但学习曲线更陡;阿里云对国内用户更友好,文档中文,客服中文。
-
为什么我的 S3 桶名必须全局唯一? S3 的命名空间是全局的,不是按账号隔离。
my-bucket可能已经被别人用了,所以通常加随机后缀,如my-bucket-2024-abc123。 -
AWS 有 200 多个服务,都要学吗? 不用。核心服务 20 个左右:EC2、S3、RDS、DynamoDB、Lambda、VPC、IAM、CloudWatch、CloudFront、Route53、ECS、EKS、SQS、SNS、SES、ElastiCache、CloudFormation、KMS、WAF、GuardDuty。掌握这 20 个,其他用到再查。
-
免费套餐到期后怎么办? 到期后按量付费。建议学习阶段用完就删资源,或者开账单告警(Billing Alarm),超 1 美元就邮件通知。
-
AWS 认证值得考吗? 如果目标外企或出海业务,AWS SAA(Solutions Architect Associate)是敲门砖。如果国内互联网,阿里云 ACP 更实用。两者知识相通。
错法对照
| 错法 | 问题 | 正解 |
|---|---|---|
| 把 Access Key 硬编码在代码里 | 泄露后任何人都能操作你的账号 | 用 IAM Role 或环境变量,代码里不放密钥 |
| 在默认 VPC 里跑生产服务 | 默认 VPC 安全组宽松,容易被扫 | 自建 VPC,划分公有/私有子网 |
| 以为 AWS 自动备份所有数据 | EBS 默认不备份,删了就是删了 | 显式开启快照或备份计划 |
| 一个 Region 挂了就全挂 | 单点故障 | 关键服务跨 AZ 部署,重要数据跨 Region 复制 |
| 用 root 账号日常操作 | root 权限太大,泄露即灾难 | 日常用 IAM 用户,root 只用于账单和关键设置 |
卡点急救
- CLI 报
Unable to locate credentials:没运行aws configure,或者环境变量AWS_ACCESS_KEY_ID没设。运行aws configure重新配置。 - 创建资源报
UnauthorizedOperation:IAM 用户没有对应权限。去 IAM 控制台给用户加策略(如AmazonEC2FullAccess)。 - S3 上传文件后外链打不开:S3 默认私有。需要开「公开访问」或生成预签名 URL(Presigned URL)。
面试常问
-
什么是责任共担模型? AWS 负责云基础设施的安全(物理、网络、虚拟化),客户负责云内资源的安全(OS、应用、数据、权限)。不同服务责任边界不同:EC2 客户管 OS 以上,RDS AWS 管 OS 和数据库软件,S3 AWS 管存储层,客户管数据和访问策略。
-
AWS 的 Region 和 AZ 是什么关系? Region 是地理区域(如新加坡),AZ 是 Region 内的独立数据中心(至少 2 个,通常 3 个)。AZ 之间低延迟互联,但物理隔离,一个 AZ 断电/火灾不影响其他 AZ。高可用架构必须跨 AZ 部署。
-
IaaS、PaaS、SaaS 的区别?各举一个 AWS 例子。 IaaS:提供基础设施,用户管 OS 以上。例:EC2。 PaaS:提供运行环境,用户只管代码和数据。例:Elastic Beanstalk、RDS。 SaaS:提供完整软件,用户直接用。例:WorkMail、Chime。
自测三问
- 责任共担模型中,EC2 实例的操作系统补丁归谁打?
- AWS 免费套餐里 EC2 每月给多少小时?超了会怎样?
- 为什么说 S3 的桶名是全局唯一的?这对命名有什么影响?
小结一句话
AWS 是全球最大的云平台,核心思想是「按需租用、责任共担」;掌握 Region/AZ、免费套餐、核心服务版图,就拿到了云时代的入场券。
延伸
- AWS 官方文档:什么是 AWS
- AWS Well-Architected Framework
- 下一课:EC2 计算——学会开一台云服务器,并在上面跑本站后端。