lijinhong-cn.notion.site/SysOps-on-A…
Module 1:系统运维简介 运维的工作及架构完善框架
- 系统运维的五个方面:部署、监控、强化、安全、优化
- [架构完善框架](https://aws.amazon.com/cn/architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc)(Well-Architected Tool) — [卓越运营](https://docs.aws.amazon.com/zh_cn/wellarchitected/latest/operational-excellence-pillar/welcome.html)支柱
- 准备
- 运维优先级:确定工作事项的优先级
- 设计运维:工作负载的设计应包括如何部署、更新和运行
- 运维就绪:运营就绪侧重于为运营工作负载做好准备。
- 运维
- 了解运维状况
- 响应事件
- 演进
- 从经验中学习
- 分享学习经验
- 设计原则
- 执行运营即代码
- 进行频繁、可逆的微小更改
- 经常优化运行程序
- 预见故障
- 从所有运营故障中吸取教训
响应事件
通过日志 监控 追踪
Module 2: 访问管理 AWS账户是资源的容器,各种资源都是在账户内创建和管理
- 账户内的权限管理:Identity and Access Management
- 认证(身份验证)
- 委托人:用户、角色(联合身份用户、应用程序)
- 用户凭证:根账户(root, 邮箱+密码),用户名密码,AK/SK, MFA
角色用于获取临时凭证,为AWS服务、AWS外部用户、跨账户用户、应用程序等授权时使用
注意:到期会失效
- 授权:策略 policy
- 五要素(Principle, **Effect**, **Action, Resource**, Condition)
- 类型:基于身份的(Principle不需要写)、基于资源的(Principle必须学)、AWS Organization SCP、权限管控列表
- 优先级:拒绝优先;无显式拒绝且有显式允许
- 策略生成器(创建策略) + 策略模拟器(测试策略是否按照预想的方式工作)
- 最佳实践
- 不使用根账户(root)作为日常管理
- 最小开放原则
- 多因子认证
- 定期轮换秘钥
- 删除不必要的凭证
- 多账户管理:Organizations
- 集中账户管理和审核
- 基于组管理账户
- 使用SCP控制账户权限
- 账户自动化创建和管理
- 整合账单
Module 3:系统发现 如何访问AWS,并了解资源情况
- 与AWS交互:访问aws 服务均需授权
- 管理控制台:UI界面,所见即所得,易操作,功能有限
- 提供[CloudShell](https://docs.aws.amazon.com/zh_cn/cloudshell/latest/userguide/working-with-aws-cli.html),可以使用AWS CLI 访问
- [AWS CLI](https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html):**命令行界面(Linux,Windows, Mac) — 运维神器**
- 功能丰富,需要安装和配置(aws configure)
- 软件开发工具包:支持多种语言,开发应用时使用
- AWS Config:AWS平台层面的配置管理数据库
- 发现资源
- 记录配置
- 捕获变更 可以配置规则 可以周期性的检查和修复
- 分析并修复
- System Manager:管理大规模资源,[模块6详解](https://www.notion.so/f1f129686639428ba1b94b923c921cf1)
- 分组管理
- 可视化
- 自动化
部署及管理
Module 4:部署和更新资源 可重复、可追踪、受监控且合规的部署
-
部署中的系统运维
- 遵守公司政策:标准化、合规性
- 可重复:模板、AMI、基础设施即代码
- 可追踪:标签、所有权、成本和组织
- 受监控:性能、审计、合规性、日志和指标 resource tag、 request tag
-
标签
- 场景:整理、自动化、访问控制、运维支持、安全风险管理、成本分配
- 标记策略:命名、规范
- 成本分配标签
- 自动标记工具:CloudFormation,Service Catalog,IAM 策略, Organization标签策略
-
AMI:EC2启动模板
- 多来源:AWS,用户构建,Marketplace,社区
-
Control Tower做多账户部署(Landing Zone)
Module 5:自动化部署 基础设施即代码 — 可以部署绝大多数AWS资源
-
CloudFormation(CFN):自动部署
- 模板:描述性的语言定义的资源
- JSON/YAML 格式,CloudFormation Designer
- 模板格式: AWS CloudFormation 模板格式
- 堆栈:模板的实例化
- 偏差检测
- 资源变更后 可以识别出来
- 帮助程序脚本:cfn-init, cfn-signal
- 堆栈策略:更新,回滚
- 模板:描述性的语言定义的资源
-
Service Catalog:自助服务操作 借助CloudFormation定义产品和产品组合,标准化资源发布
Module 6:管理资源 — System Manager 运维操作即代码
三要素:SSM Agent,网络,权限
- 运营管理:
- Explorer:集中的自定义控制面板(运维Dashboard)
- OpsCenter:调查并解析运维事项OpsItem
- 事件管理: 降低事件(accident)带来的影响并恢复
- 应用程序管理:APPConfig,集中管理应用程序配置
- Parameter Store:避免将配置信息存储在源代码中
- 变更管理:更新托管实例时,尽可能减少中断
- Patch Manager: 补丁管理器 — 创建补丁基准,确保安全合规
- Maintenance Windows: 维护窗口期 — 避开业务高峰期
- Change Manager:变更管理框架,用于变更的请求、批准、实施及追踪
- 节点管理:EC2服务器集群的管理
- Session Manager: 远程会话,无需堡垒机,活动可记录和审计
- agent
- 授权
- 网络
- Fleet Manager:集中查看服务器队列的运行状况和性能
- 自动化管理:自动化、简化常见的IT操作
- Automation:
- 运行脚本:EC2上运行
- 自动化工作流:可以运行AWS API操作
高可用、弹性和监控
Module 7:配置高可用系统
跨区域高可用:异地多活、异地灾备,R53
跨可用区高可用:同城双活/多活,ELB(ALB,NLB,GWLB,CLB)
R53及ELB都有健康检查功能,减少资源故障带来的影响
Module 8:自动扩缩 根据需要动态扩缩实例
-
EC2 Auto Scaling:根据需要自动添加或删除EC2
-
启动模板/启动配置: 建议使用启动模板,可提供版本控制、重复使用和更新 - AMI ID,实例类型,秘钥对,安全组
-
创建Auto Scaling组 - 启动模板、启动配置 - 网络 - 组大小 - 购买选项和实例类型 - 是否使用ELB(健康检查)
-
配置自动扩缩策略
-
计划扩展
-
动态扩展
- 简单扩展:单一条件 - 分布扩展:建议用来替换简单扩展,更精细 - 目标追踪:资源利用率扩展 -
预测式扩展:定期出现流量高峰的网站和应用
-
-
-
Spot Fleet
-
License Manager: 避免扩容导致不合规
-
Module 9: 监控和维护系统运行状况
-
CloudWatch
- 指标:默认指标(基本、详细监控)、自定义指标(命名空间、维度、时间戳、指标)
- 警报:正常、警报、数据不足
- 日志:集中的日志存储和实时分析
- 事件:event bridge,事件—规则—目标
-
监控AWS基础设施:Personal Health Dashboard
-
监控应用程序:X-Ray
-