1. Devops①
  2. Devops②
  3. Devops③
  4. Devops④
  5. Devops⑤
  6. Devops⑥
  7. Devops⑦
  8. Devops⑧
  9. Devops⑨

第 8 节 · 云平台实战 —— AWS 上构建 DevOps 一体化工作流

☁️ 为什么选择 AWS?

AWS 是目前全球最主流的云平台,提供丰富的 DevOps 支持服务:

  • ✅ 支持 IaC(Terraform / CloudFormation)
  • ✅ 支持 Serverless(Lambda、API Gateway)
  • ✅ CI/CD(CodePipeline、CodeBuild、GitHub Actions 集成)
  • ✅ 监控(CloudWatch、X-Ray)

🧭 DevOps 全流程在 AWS 上的实现路径


🔧 常见 AWS 服务一览(DevOps 视角)

分类 服务 用途
计算 EC2 / Lambda / ECS / EKS 承载服务或函数
存储 S3 / EFS 文件或静态资源存储
网络 VPC / Subnet / Load Balancer 网络隔离与负载均衡
DevOps 工具 CodePipeline / CodeBuild 自动化构建与部署
镜像仓库 ECR 存储 Docker 镜像
安全 IAM / KMS / Secrets Manager 权限管理与机密保护
监控 CloudWatch / X-Ray 日志 + 指标 + 链路追踪

🛠 案例:用 GitHub Actions + Terraform + EC2 部署 FastAPI

  1. 准备 IAM 用户和 Access Key,供 GitHub Actions 使用
  2. 编写 .tf 脚本定义 VPC + EC2 + 安全组
  3. 在 GitHub Actions 中写 pipeline:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.5.0

- name: Terraform Init & Apply
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET }}
run: |
terraform init
terraform apply -auto-approve

📈 部署后的可观测性接入

  • 开启 EC2 的 CloudWatch Agent,收集 CPU、内存、磁盘指标
  • 日志写入 CloudWatch Logs,支持搜索 / 告警
  • Lambda 可以自动接入 X-Ray 做链路分析
  • 设置 Alarm,超过阈值通知到 SNS / 邮件 / Slack

✅ 小结:打造 AWS DevOps 流水线的核心步骤

  1. CI 构建阶段:测试 + 打包 + 上传镜像(ECR)
  2. CD 部署阶段:用 Terraform 自动部署(ECS / EC2)
  3. 监控与告警:CloudWatch 指标、日志、X-Ray 链路追踪
  4. 权限控制:IAM 最小权限原则(Least Privilege)

下一节预告 👉 第 9 节(完结篇):DevOps 项目实践案例回顾与学习路径推荐