☁️ 第15课:云平台概览

核心概念

云平台:DevOps的基础设施底座

云平台提供按需、弹性、可编程的基础设施。理解三大云厂商的核心服务,用CLI/API实现基础设施自动化。

三大云厂商服务对比

服务类别      | AWS              | Azure           | 阿里云/腾讯云
--------------+------------------+-----------------+--------------
计算(ECS)     | EC2              | Virtual Machine | ECS/CVM
容器服务      | EKS              | AKS             | ACK/TKE
对象存储      | S3               | Blob Storage    | OSS/COS
CDN           | CloudFront       | Azure CDN       | CDN
数据库(RDB)   | RDS              | SQL Database    | RDS/TDSQL
IaC           | CloudFormation   | ARM/Bicep       | ROS
监控          | CloudWatch       | Monitor         | CloudMonitor
Serverless    | Lambda           | Functions       | FC/SCF
模型你管什么云厂商管什么示例
IaaSOS+应用+数据硬件+网络+虚拟化EC2, ECS
PaaS应用+数据OS+运行时+中间件Elastic Beanstalk
FaaS代码一切基础设施Lambda, SCF
SaaS使用一切Gmail, GitHub

命令实操

1. AWS CLI核心操作 ✅

AWS CLI
# 安装AWS CLI v2
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install
aws configure  # Access Key / Secret Key / Region

# EC2实例管理
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,InstanceType]' --output table

# 创建EC2实例
aws ec2 run-instances     --image-id ami-0c7686628807b59b4     --instance-type t3.medium     --key-name mykey     --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=devops-node}]'     --user-data '#!/bin/bash
apt update && apt install -y docker.io
usermod -aG docker ubuntu'

# S3操作
aws s3 mb s3://my-devops-bucket-2026
aws s3 cp ./app.tar.gz s3://my-devops-bucket-2026/artifacts/
aws s3 sync ./dist/ s3://my-devops-bucket-2026/static/

# CloudWatch
aws cloudwatch put-metric-data --namespace "DevOps/App" --metric-name "DeployCount" --value 1

# 日志查询
aws logs filter-log-events --log-group-name "/ecs/myapp" --filter-pattern "ERROR"     --start-time $(date -d '1 hour ago' +%s)000

2. 阿里云CLI操作 ✅

阿里云CLI
# 安装
curl -o aliyun-cli.tgz https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz
tar xzf aliyun-cli.tgz && sudo mv aliyun /usr/local/bin/
aliyun configure  # AccessKey/Secret/Region: cn-hangzhou

# ECS管理
aliyun ecs DescribeInstances --RegionId cn-hangzhou

# 创建ECS
aliyun ecs CreateInstance     --RegionId cn-hangzhou     --ImageId ubuntu_22_04_x64_20G_alibase_20240815.vhd     --InstanceType ecs.c7.large     --SecurityGroupId sg-xxx     --InstanceName devops-node

# OSS操作
aliyun oss mb oss://my-devops-bucket
aliyun oss cp ./app.tar.gz oss://my-devops-bucket/artifacts/
aliyun oss ls oss://my-devops-bucket/

# 费用查询
aliyun bssopenapi QueryAccountBalance
aliyun bssopenapi QueryBill --BillingCycle 2026-05

3. 多云成本对比 ✅

成本对比
#!/bin/bash
echo "╔════════════════════════════════════════╗"
echo "║     多云计算成本对比(2C4G 月价)      ║"
echo "╠════════════════════════════════════════╣"
printf "║ %-10s %-18s %-10s ║
" "云厂商" "实例类型" "月费(USD)"
echo "╠════════════════════════════════════════╣"
printf "║ %-10s %-18s \$%-8.2f ║
" "AWS" "t3.medium" "30.38"
printf "║ %-10s %-18s \$%-8.2f ║
" "Azure" "D2s_v5" "28.60"
printf "║ %-10s %-18s \$%-8.2f ║
" "阿里云" "ecs.c7.large" "45.00"
printf "║ %-10s %-18s \$%-8.2f ║
" "腾讯云" "S5.MEDIUM4" "40.00"
echo "╚════════════════════════════════════════╝"

# Spot实例价格
aws ec2 describe-spot-price-history     --instance-types t3.medium     --product-descriptions "Linux/UNIX"     --start-time $(date -Is)     --query 'SpotPriceHistory[0].[InstanceType,AZ,SpotPrice]' --output table

架构图

多云架构

            ┌──────────────────────────────────┐
            │         Terraform/IaC            │
            │    (统一管理多云基础设施)         │
            └───────────┬──────────────────────┘
        ┌───────────────┼───────────────┐
        ▼               ▼               ▼
┌───────────────┐ ┌──────────────┐ ┌──────────────┐
│     AWS       │ │    Azure     │ │   阿里云      │
│  (海外业务)   │ │  (企业客户)  │ │  (国内业务)   │
│ EKS + EC2    │ │ AKS + VM    │ │ ACK + ECS    │
│ RDS + S3     │ │ SQL + Blob  │ │ RDS + OSS    │
│ CloudFront   │ │ Azure CDN   │ │ CDN          │
└───────┬───────┘ └──────┬───────┘ └──────┬───────┘
        └───────────────┼───────────────┘
                        ▼
              ┌──────────────────┐
              │  统一监控Grafana  │
              └──────────────────┘

故障排查

❌ 云API限流

排查
# 查看API调用统计
aws cloudwatch get-metric-statistics     --namespace AWS/Usage --metric-name CallCount     --start-time $(date -d '1 hour ago' -Is) --end-time $(date -Is) --period 60 --statistics Sum

# 解决:指数退避重试/批量API/申请提高限额
aws service-quotas request-service-quota-increase     --service-code ec2 --quota-code L-12345678 --desired-value 100

🏆 成就解锁:云平台通!

掌握AWS/阿里云CLI操作、多云架构设计、成本优化——云是DevOps的舞台

📝 云安全最佳实践

安全领域措施AWS服务阿里云服务
身份管理最小权限IAMIAM + MFARAM + MFA
网络安全VPC隔离+安全组Security Group安全组
数据加密传输+静态加密KMS + ACMKMS + SSL
日志审计API调用记录CloudTrailActionTrail
合规检查自动安全评估Security HubSecurity Center
💡 云安全黄金法则:默认拒绝、最小权限、纵深防御、加密一切、审计所有操作。

AWS特色

阿里云特色

腾讯云特色

⚠️ 避免云厂商锁定:使用Terraform等IaC工具管理基础设施,保持多云迁移能力。关键数据不要只存在单一云厂商。

🔧 云资源标签规范

标签Key值示例用途
Environmentprod/staging/dev环境区分
Teamdevops/backend/frontend团队归属
CostCenterCC-001/CC-002成本归集
Applicationmyapp/api/worker应用标识
ManagedByterraform/ansible管理方式