AWS基础

五大支柱

安全性

采用零信任模式,所有应用程序组件和服务都被是为离散和潜在的恶意实体。包括基础网络结构、有权访问资源的代理以及服务中运行的软件。

IAM

Identity and Access Management,负责跟踪系统中身份和访问的服务。

IAM策略三个方面:

  • 主体指定向谁授予权限
  • 操作指定要执行的操作
  • 资源指定要访问的属性

网络安全

保障网络和网络可访问资源的访问和可用性。

AWS 中基本的网络级基元是 Amazon Virtual Private Cloud (VPC)。这是一个逻辑网络,可以定义该逻辑网络并将为其预置资源。为了保护 VPC 中的流量,可以将资源分为面向公众的资源和内部资源。

  • 子网:VPC 中的一个 IP 地址范围
  • 路由表:一组决定流量导向哪里的规则
  • 互联网网关:允许 VPC 内部资源与互联网之间进行通信的组件

安全组:充当EC2实例的虚拟防火墙,用于控制传入和传出流量。EC2启动后可以

数据加密

对信息进行编码的过程,经过该过程后,任何不具备解密数据所必需的密钥的第三方都无法理解这些数据。

性能效率

性能效率支柱关注如何在云中高效、可扩展地运行服务。尽管云为您提供了处理任何大小流量的方法,但它要求您在选择和配置服务时要考虑到规模扩展

选择

服务类别:

  • 计算是处理数据的服务(例如,虚拟机)

    • EC2 可以做任何事,可以安装任何软件,可以是一个web server,也可以是一个database server。可以随时增加,减少实例。

    • Elastic Beanstalk 是一个web server,不能安装其他软件。

    • Lambda 只做后端处理。不需要任何配置,可直接运行后端代码

    • ELB 负载均衡服务器

    • Auto Scaling 与ELB一起工作,监视流量,可设置cpu使用率的阈值,增加或减少服务器数量

    • ECR 弹性注册表,存储,管理和发布docker容器

    • ECS 运行docker容器

  • 存储是数据的静态存储(例如,对象存储)

    • S3 对象存储,容忍失败,保证可用性
    • Glacier 备份服务
    • EFS 文件存储
    • Storage Gateway连接本地系统和AWS
  • 数据库是数据的有组织存储(例如,关系数据库)

    • RDS 用于大多数关系数据库
    • DynamoDB 用于NoSQL数据库
    • Redshift 数据仓库
    • ElasticCache 缓存
  • 网络处理您的数据的移动(例如,内容交付网络)

拓展

  • 纵向拓展 :将底层计算升级为更大的实例类型。
  • 横向拓展:增加底层实例数量。

可靠性

关注如何构建可抵御服务和基础设施中断的服务

卓越运营

关注如何不断提高运行系统、创建更好的程序并获得见解的能力

基础设施及代码

可观测性

可观测性是衡量系统内部状态的过程。通常这样做是为了将其优化到某个所需的最终状态。

实现可观测性的三个步骤:
1.收集:评估系统状态时汇总所有必要指标的过程。

  • 基础设施指标
    • 这些指标由 AWS 服务自动发出,并由 CloudWatch 服务收集
    • 某些服务还会发出可通过 CloudWatch Logs 启用和收集的结构化日志。
  • 应用程序级指标
    • 这些指标由您的软件生成,可以由 CloudWatch 自定义指标 收集
    • 可以使用 CloudWatch Logs 存储软件日志或将其上传到 S3
  • 账户级指标
    • 这些指标由您的 AWS 账户记录,可以由 CloudTrail 服务收集

2.分析:分析收集的指标

  • 要分析存储在 CloudWatch Logs 中的日志,可考虑使用 CloudWatch Logs Insight,该服务可让您交互式地搜索和分析 Cloudwatch 日志数据。
  • 要分析存储在 S3 中的日志,可考虑使用 Athena(一种无服务器查询服务)
  • 要分析结构化数据,可考虑使用 RDS(一种托管的关系数据库服务)
  • 要分析大量结构化数据,可考虑使用 RedShift(一种托管的 PB 级数据仓库服务)
  • 要分析基于日志的数据,可考虑使用 Elasticsearch Service,这是流行的开源分析引擎 Elasticsearch 的托管版本。

3.行动:在收集并分析了指标之后,可以使用它们来实现特定的结果或流程。

  • 监控与警报
    • 您可以使用 CloudWatch Alarms 在系统超出特定指标的安全阈值时获得通知
    • 此警报可以触发手动或自动缓解措施。
  • 控制面板
    • 您可以使用 Cloudwatch 控制面板创建指标的控制面板
    • 您可以使用这些控制面板跟踪和改善服务性能。
  • 数据驱动型决策
    • 您可以跟踪绩效和业务 KPI 来制定数据驱动的产品决策

成本优化

在最小化成本的同时实现业务成果。

Cloud Watch

本质就是一个指标存储库,可根据这些指标来检索统计数据。

核心术语和概念:

Namespaces

命名空间是用于 CloudWatch 指标的容器。不同命名空间中的指标彼此独立,因此来自不同应用程序的指标不会被错误地聚合到相同的统计信息中。

Metrics

指标表示一个发布到 CloudWatch 并按时间排序的数据点集。

  • 时间戳

每个指标数据点必须与一个时间戳关联。时间戳最长可以为过去的两周和将来的两小时。如果不提供时间戳,CloudWatch 会根据收到数据点的时间创建一个时间戳。

  • 指标保留

CloudWatch 将保留指标数据,如下所示:

  • 时间段短于 60 秒的数据点的可用时间为 3 小时。这些数据点是高精度自定义指标。
  • 时间段为 60 秒 (1 分钟) 的数据点可用 15 天
  • 时间段为 300 秒 (5 分钟) 的数据点可用 63 天
  • 时间段为 3600 秒 (1 小时) 的数据点可用 455 天 (15 个月)

Dimensions

维度是一个名称/值对,它是指标标识的一部分。

Resolution

每个指标均为以下类型之一:

  • 标准精度,数据粒度为一分钟
  • 高精度,数据粒度为一秒

Statistics

统计数据是指定时间段内的指标数据汇总。

Units

所有统计数据都有度量单位。示例单位包括 BytesSecondsCountPercent

Periods

时间段是与特定 Amazon CloudWatch 统计数据关联的时间的长度。

Aggregation

Amazon CloudWatch 将根据您在检索统计数据时指定的时间段长度聚合统计数据。

Percentiles

百分位数指示某个值在数据集中的相对位置。

Alarms

警报代表自动发起操作。警报在指定的时间段内监控单个指标,并根据指标值相对于阈值的变化情况执行一项或多项指定操作。操作是一个发送到 Amazon SNS 主题或 Auto Scaling 策略的通知。

AWS与本地服务