SYSOPS学习-20220917

203 阅读6分钟

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

业务需求

  • 云上修改任务 维护 安全任务

image.png

什么是系统运维

应用部署

  • 高可用

持续监控运行情况

  • 基础设施本身的监控 例如服务器 EC2
  • 应用监控 服务存活 业务负载

提升系统 稳定性 和可靠性

例如SRE角色 持续的强化

安全性

网络攻击 保护业务 数据安全

优化成本

image.png

五大支柱

在云上 部署、架构设计、运维 可以从这五个角度进行考虑

安全性 可靠性 性能效率 成本优化 卓越运营

通用设计原则

image.png

image.png

1资源是弹性的 即开即用 短时间内可以伸缩资源

AWS 基础设施 数据中心多 方便业务扩展 几条命令就可以创建资源

  • 资源可以编程

以前的方式

  • 资源采购
  • IDC 上线机器

2以生产规模 测试系统

测试、开发、生产环境不一致 以前 测试环境的资源、版本、数据 和线上不一样 现在 按照一样的配置 准备服务器,然后copy一样的数据

3 自动化

所有的资源可以通过API进行调用 可以重复操作 保证环境的一致性 以及环境的演化过程

演进式架构

利用数据驱动架构

通过数据分析

  • 哪些业务流程需要优化
  • 线上哪些地方容易出问题
  • 哪些操作频繁 需要做自动化

game day 鼓掌演练

模拟数据中心停电的场景 生产环境的副本 关闭一些服务器 看线上服务的运行情况

五大支柱

读一下白皮书 aws.amazon.com/architectur…

image.png

设计原则

  • 运营及代码 operation as code

    • 所有的运营操作 全部代码化
    • 每次都按照流程手工操作 可能会出现执行错的情况 如果做成代码 犯错的几率变小
  • 频繁 可逆的微小更改

    • 例如 一周一版 更新了20哥功能(一回滚就得都回滚) 云上建议是频繁发布 一次一个 即使回滚 也是影响一个
    • 后面会讲到 change management
  • 经常优化运行的程序

    • 技术一直在演进 代码优化
  • 预见故障(不能全都依赖AWS 自己也想好故障方案)

    • 提前想到业务的增长 评估是否会对架构有影响 提前扩容
    • 单点故障 也是需要思考
    • 提前准本好修复脚本 降低影响 甚至自动修复
  • 从故障中吸取教训

    • 经常遇到的问题 虽然会被修复 但是也要考虑问题出在什么地方 拉产研团队一起分析 从根本上修复

image.png

最佳实践

准备阶段

优先级

  • 安全 和 性能的取舍 需要确定哪个优先级高 然后才能设计 产品架构、运维 CMDB 资产打标签 标准化 runbook 遇到一个问题 找着文档一步一步操作 或者 执行脚本

运营阶段

了解运营的状况

  • 资产的数量 业务量

响应事件

  • 监控、变更
  • 提前做好计划 计划内的有runbook 计划外的也要有runbook
  • 要有上升

演进阶段

从经验中学习

卓越运营的关键服务 image.png

AWS congfig ---CMDB AWS-x ray---监控 system manager自动化运行工具 lambda 代码修复

image.png

image.png

image.png

image.png

image.png

image.png

问题:

  1. 资源伸缩的 触发条件? 是人工去点点点 还是自动化调用命令? 是要自己去编排扩容的操作吗
  • autoscaling 策略
    • 性能 cpu
    • 请求
  • 无状态服务

原则: 设计 部署 运维

IAM

image.png

image.png

IAM委托人

image.png

AWS Identity and Access Management (IAM) 是一种Web 服务,可帮助您安全地控制 对AWS 资源的访问权限。 使用IAM 控制哪些用户能通过身份验证(登录)并获得 授权(拥有权限)来使用资源。 将IAM 视为一种工具,用于集中管理启动、配置、管理和终止资源时所用的权限。 您可以对访问权限进行精细控制。此控制基于资源并扩展到准确确定允许每项服 务的哪些API 调用。

IAM用户

  • 用户名 密码
  • AK SK

联合身份用户

公司内部 分很多部门 使用AWS外部认证系统 然后用对应的身份 登录AWS 类似微信登录授权的东西

应用程序

服务访问 AWS服务 例如S3 需要授权 代码需要授权 可以套用AK SK 也可以临时获取ticket

IAM 角色

image.png

安全凭证

IAM user用于日常操作

AK SK 使用编程的时候 需要使用的

  • IAM user有
  • role you

多因子认证

IAM 用户

image.png

需要显示的授予权限

IAM 角色

用户可以戴帽子 服务也可以戴帽子

临时授权 干什么事情 就拿对应的帽子(凭证) 会有过期时间 AK SK不要直接写到代码里面

IAM角色是可在账户中创建的一种具有特定权限的IAM 身份。IAM 角色类似于IAM 用户,因为它是一个AWS 身份,该身份拥有的权限策略可确定其在AWS 中可执行 和不可执行的操作。但是,角色旨在由需要它的任何人代入,而不是唯一地与某 个人员关联。此外,角色没有关联的标准长期凭证,如密码或访问密钥。相反, 当您代入某个角色时,它会为您提供角色会话的临时安全凭证。 何时使用 IAM 角色 您可以使用角色向通常无法访问您的AWS 资源的用户、应用程序或服务授予访问 权限。例如,您可能希望授予您AWS 账户中的用户访问以下内容的权限: • 他们通常没有的资源 • 其他账户中的资源 • 使用AWS 资源的移动应用程序 但是,您不想在应用程序中嵌入AWS 密钥。密钥可能很难轮换,用户可能会提 取它们。 您可能还想向已在AWS 之外(例如在您的公司目录或 IdP 中)定义身份的用户授 予访问权限。或者,您可能需要向第三方授予对您账户的访问权限,使其能够对 您的资源执行审核操作。

每个人单独创建一个身份 不能共享

image.png

最低权限原则

image.png

image.png

image.png

action 可以是通配符 *

image.png 当前操作的账号 需要有passrole

image.png

NotIPAdress 非以下IP短的 不能访问

如果不是通过AWS服务访问的 也要拒绝

image.png

image.png

显式授权 且无显式拒绝的情况下 才能acess

image.png

一层一层 去交集 deny是继承的 allow是每层自己授权

image.png