AWS 核心服务概述(二)

AWS网络服务

VPC

  • VPC 与虚拟网络是逻辑隔离的
  • 一个VPC只能属于一个区域,但可以属于多个可用区
  • VPC主要属性:IP范围,路由,网关,安全设置

Direct Connect

  • 用户数据中心到AWS的专用网络连接
  • 在高吞吐的情况下可以降低网络成本、增加带宽吞吐能力

Route53

  • 高可用的可扩展的DNS 服务

AWS 计算服务

EC2

  • 客户完全控制的计算资源,并可以在成熟的 Amazon 计算环境中运行
  • Amazon EC2 将获取与启动新服务器实例所需要的时间缩短至几分钟,在您的计算要求发生变化时,您便可以快速扩展或缩减计算容量。 Amazon EC2 按您实际使用量收费。
  • 支持大多数版本的Windows 和 Linux 操作系统
  • 可以创建、保存和重复使用镜像 AMI
  • 可以一次用鼠标或者API启用一个或多个实例
  • 按需启动和中止实例
  • 使用安全组控制进出实例的流量
  • 选择实例考虑的因素: 核心、内存、存储大小和类型、网络性能和 CPU技术

EMR(Elastic MapReduce)

  • 它基于 Amazon EC2 技术和 Amazon Simple Storage Service (Amazon S3) 技术的 Web 规模基础设施,是一种 Hadoop 托管服务运行架构。
  • Amazon EMR 能即时灵活配置自身所需容量大小,执行数据密集型应用计算,完成 Web 索引、数据挖掘、日志文件分析、数据仓库、机器学习、财务分析、科学模拟和生物信息研究任务。

AWS Lambda

  • 适用于后端Web开发的零管理计算平台
  • 在AWS直接运行后端代码,从而提供基于AWS基础架构的高可用、安全性、性能和可伸缩性

Auto Scaling

  • 让您可以根据您定义的条件自动扩展 Amazon EC2 容量。
  • 通过使用 Auto Scaling,您可以确保所使用的 Amazon EC2 实例数量在需求峰值期实现无缝增长以保持性能,也可以在需求平淡期自动减少, 将成本降至最低。
  • Auto Scaling 特别适合每小时、每天或每周使用率都不同的应用程序。
  • Auto Scaling 通过Amazon CloudWatch 启用,除了 Amazon CloudWatch 费用外,无需支付其他任何费用。

Elastic Load Balancing

  • 在多个 Amazon EC2 实例间自动分配应用程序的传入流量
  • Elastic Load Balancing 可以检测出不健全的实例,并自动更改路由,使其指向健全的实例,直到不健全的实例恢复为止

AWS Elastic Benstalk

  • 在AWS上部署Web应用的最快捷最简单的方式
  • 直接上传代码而由AWS自行对资源进行调配

AWS 存储

存储类型

  • 块存储: 对数据的一个部分进行操作,能够快速访问和修改,
  • 对象存储: 对这个数据进行操作

EBS存储

  • 能够创建单独的数据卷并挂载在EC2上
  • 数据块级存储
  • 适用于EC2的启动卷和存储
  • 带有文件系统的数据存储
  • 数据块和企业应用程序
  • 用于EC2的持久的块级存储卷
  • EBS会自动在可用区内自动复制以提高可用性
  • 可以备份至S3

S3

  • 托管的对象存储解决方案
  • 冗余方式存储,11个9的存储可用性
  • 无缝任意扩展的存储池
  • 可以通过AWS控制台或者第三方API访问S3
  • 对象的变化可以触发通知、流程、脚本
  • 动态数据和静态数据可自动进行加密
  • 为使用量GB、跨域复制、PUT/COPY等请求进行付费,主要适用于非频繁访问的数据
  • 支持包括HTML、源代码、图像和加密数据等格式
  • 支持备份和恢复、近线归档、大数据分析、灾难恢复、云应用和内容分发提供经济高效的对象存储

S3 Glacier

  • 数据归档服务,适用于不太访问的数据
  • 安全性、持久性和极低成本
  • 支持静态和动态的SSL/TLS加密
  • 数据检索通常需要好几个小时

AWS Storage Gateway

  • 在内部部署软件设备与基于云的存储器相连接的服务
  • 用户在本地数据中心维护经常访问的数据缓存,同时为存储在S3或Glacier中的所有数据提供低延迟的访问

CloudFront

  • 内容交付Web服务,提供低延迟、高速和最低使用承诺的全球CDN业务
  • 利用全球的边缘网络提供整个网站的访问,包括动态、静态、流媒体和交互式内容
  • AWS上存储的文件生命周期策略

AWS 数据库

RDS

  • 关系型数据库托管服务
  • 可以通过AWS控制台、RDS命令行和API进行调用
  • 可扩展、支持自动冗余和备份
  • 支持SQL、Oracle等数据库
  • 适用的场景:复杂事物和复杂查询、30K IOPS以下的中高读写,不超过一个节点的分片、高持久性
  • 不适用场景:超高读写 如150K IOPS, 可以用NoSQL实现的简单请求

DynamoDB

  • 完全托管的NoSQL数据库
  • 任意规模上实现低于10ms的低延迟,完全运行在SSD
  • 支持文档和键值存储模式
  • 非常适合移动、web、游戏、广告和 IOT
  • 可以通过AWS控制台、命令行和API进行调用
  • 用户需要制定希望为读取和写入预置的吞吐容量,以确保一致性的低延迟性能,读取通常以4KB/s为一个单位,写入以1KB/s为一个单位

Redshift

  • 快速、全面管理的PB级数据仓库服务
  • 提供标准SQL接口,借助现有的BI工具进行简单高效的结构化数据分析
  • 提供跨多节点并行查询方式提高快速查询性能
  • 允许组织自行执行和配置、监控云数据仓库中的大部分管理任务

ElastiCache

  • 采用Web服务来简化云中的内存缓存的部署操作和扩展
  • 支持Memcached 和 Redis缓存引擎

管理工具

Amazon CloudWatch

  • 云资源和云应用程序的监控服务
  • 搜集跟踪指标、收集和监视日志文件并设置告警
  • 获取全系统的资源利用率和程序性能及运行状况的可见性

AWS CloudFormation

  • 对AWS资源以有序和可预测的方式进行配置和更新
  • 定义一种基于JSON和YAML的模板语言

AWS CloudTrail

  • 记录账户的API调用并提供日志文件供审计和审查
  • 信息包括 API调用者身份,调用时间,源IP地址、请求参数以及服务返回响应值

AWS Config

  • 提供AWS资源清单、配置历史记录和配置更改通知
  • 支持合规审计、安全分析、变更跟踪和故障排除的安全和治理

安全和身份

IAM 身份和访问管理

  • 有效安全的组织用户对AWS服务和资源的访问
  • 创建和管理AWS用户、组以及角色,并使用权限管理允许或拒绝

AWS密钥管理服务KMS

  • 创建和管理加密数据的加密密钥
  • 支持使用硬件安全模块HSM保护根密钥安全

AWS Directory Service

  • 允许在AWS设置并运行MicroSoft AD或将资源与现有AD关联
  • 利用AD管理用户合租,并创建和应用组策略

AWS Certificate Manager

  • 配置和管理及部署SSL/TLS证书以用于AWS云服务
  • 支持快速申请

AWS WAF Web应用程序防火墙

  • 用于帮助Web应用程序防御常见***
  • 通过定制Web安全规则,为组织控制允许或组织其Web应用程序的流量

应用服务

AWS API Gateway

  • 完全托管的服务
  • 创建、发布、维护、监控和保护各种规模的API
  • 可以接受和处理最大数十万个并发的API调用
  • 支持包括流量管理、授权和访问控制、监控及API版本管理

Amazon Elastic Transcoder 弹性转码器

  • 在AWS进行云中的媒体转码
  • 将媒体文件从其源格式转换成可在智能手机、平板电脑和PC等设备上播放的格式

Amazon SNS 简单通知服务

  • 管理向收件人发送消息或邮件的Web服务
  • 支持两种角色: 发布者和订阅者
  • 通过发布者向订阅者发送消息实现异步通信

Amazon SES 简单电子邮件服务

  • 利用SES向客户发送交易、营销信息及其他内容电子邮件
  • 一种应用场景: 通过SES接受消息,传递到S3,触发Lambda,再发布通知到SNS

Amazon Simple Workflow Service

  • 构建、运行和缩放具有顺序或并行步骤的后台作业
  • 基于云的完全管理状态跟踪器和任务协调器
  • 场景是监控应用程序的步骤,跟踪处理状态并在任何时候任务失败是进行恢复和重试 ,提高应用程序可靠性

Amazon Simple Queue Service

  • 完全托管的、可靠和可扩展的消息队列服务
  • 适用于任何吞吐量级别、传输任何数据而不会丢失消息且要求其他服务始终可用

Amazon Workspaces 服务

  • 托管桌面服务,可以快速配置基于云的桌面

代码服务

AWS CodeBuild

  • AWS CodeBuild 是一项完全托管的持续集成服务,可编译源代码、运行测试以及生成可供部署的软件包。
  • 使用 CodeBuild,您无需预置、管理和扩展自己的构建服务器。
  • CodeBuild 可以持续扩展并同时处理多项构建任务,因此您的构建任务不会在队列中等待。
  • 您可以使用预先打包的构建环境快速开始,也可以创建使用您自己的构建工具的自定义构建环境。使用 CodeBuild,您将按使用计算资源的分钟数付费。

AWS CodeDeploy

  • AWS CodeDeploy 是一项将软件自动部署到各种计算服务(例如 Amazon EC2、AWS Fargate、AWS Lambda 和本地服务器)的完全托管的部署服务。
  • 借助 AWS CodeDeploy,您可以更轻松地快速发布新功能,避免在应用程序部署过程中出现停机,并简化应用程序的更新工作。
  • 您可以使用 AWS CodeDeploy 自动执行软件部署,而无需执行容易出错的手动操作。服务根据您的部署需求进行扩展。

AWS核心服务部署最佳实践

IAM用户组管理

  • 创建一个IAM组并授予完全管理员权限
  • 停止使用根账户,使用IAM用户凭证登录
  • 为IAM账户启用MFA
  • 软件MFA:AWS Virtual MFA、Google Authenticator、Authenticator、SMS
  • 硬件MFA: Gemalto 秘钥卡 等

开启AWS CloudTrail

  • 记录对账户中所有的API请求
  • 记录包括API调用 身份、时间、源IP、请求参数、返回的响应元素等
  • 主要用于安全分析、追踪资源变更、排查操作问题、合规性协作等
  • 确保用于CloudTrail的S3只授权给了指定用户
  • 可以与APN的日志分析工具集成,如Splunk, SumoLogic, AlertLogic

启用AWS Config 追踪资源配置变更

  • 完全托管的服务,AWS Config 是AWS 账户中资源的详细配置视图
  • 查看资源之间的联系
  • 可以获取当前资源配置的快照
  • 能够检索相关资源的历史配置信息
  • 提供AWS资源清单、配置历史记录和配置变更通知

开启账单报告

  • AWS资源使用情况及预估成本
  • 报告交给指定的S3并每天更新一次

EC2安全性

  • 使用联合身份、IAM用户以及IAM Role对AWS 资源和 API的访问权限
  • 建立用于创建、分配、轮换和撤销AWS访问凭证的凭证管理策略和程序
  • 安全组只允许特定实例的IP范围进行访问
  • 定期修补和更新操作系统及应用程序,并且保存镜像以便于重复使用

EC2存储

  • EC2 Instance 可以支持自带的实例存储和EBS,
  • 不同的存储类型在数据持久性、备份、恢复和总大小是不一样的。

EC2资源管理

  • 使用实例元数据和自定义标签更轻松的追踪和识别实例
  • 实例元数据是有关实例的数据,包括AMI ID、实例 ID、共有和私有IP、主机地址、MAC地址以及相关联的IAM实例角色和安全组
  • 使用标签以不同方式将AWS分类,如按用途、所有者、环境等,标签包含 键 和 可选值组成

EC2备份与恢复

  • 定期备份实例
  • 把重要数据复制到多个位置
  • 跨多个区域部署应用程序的关键组件
  • 在应用程序设计时考虑实例重启后如何处理动态IP
  • 监控事件并作出响应,如CloudWatch
  • 确保随时可以处理故障转移
  • 定期测试实例和EBS恢复流程

AWS 服务限制

  • 服务数量有上限 - 可以在limits选项持续
  • 每个区域的限制稍有差异
  • 有一些硬性限制无法修改
  • 可以对软性限制提出调整
  • 使用Trusted Advisor服务检查限制情况
posted @ 2019-07-23 09:56  小水滴18  阅读(1337)  评论(0编辑  收藏  举报