标签: 产品介绍

使用AWS GA提升互联网流量性能

如果您提供游戏、媒体、移动或金融等应用程序,则需要一致的、低延迟的用户体验。AWS Global Accelerator通过提高客户机和运行在AWS上的应用程序之间的internet流量的性能,帮助您实现更低的延迟。它使用AWS全球网络将TCP或UDP通信定向到离客户机最近的AWS区域中的健康应用程序端点:通过Anycast方式将客户端的流量路由到最近的AWS边缘位置,然后通过AWS全球网络将其路由到最近的区域端点。

GA的原理和特性

Global Accelerator为每个加速器提供两个静态IP地址。这些IP地址是任意发送的,并通过AWS边缘位置在全球进行广播。使用您配置的加速器,Global Accelerator将TCP或UDP流量路由到应用程序端点(如Amazon EC2实例、应用程序负载均衡器、网络负载均衡器或弹性IP地址),并改善用户流量的延迟、抖动、包丢失和吞吐量性能。可以使用速度比较工具https://speedtest.globalaccelerator.aws/从您自己的位置测试使用GA的性能优势。

衡量绩效的一个流行方法是通过生产量——即在一段时间内可以传输多少数据。无论您是为API调用、文件上传还是IP语音调用提供服务,吞吐量的大小都会影响用户的体验。如今,Global Accelerator引入了一项改进,通过在边缘终止TCP,自动提供额外的吞吐量改进。通常,TCP连接是通过internet上的客户机和AWS区域中的应用程序端点之间的三路握手(即三条消息)建立的。因此,客户端离端点越远,初始连接设置花费的时间就越长。由于TCP在边缘终止,Global Accelerator通过在客户机和距离客户机最近的AWS边缘位置之间建立TCP连接,减少了初始设置时间。几乎同时,在AWS区域的边缘位置和应用程序端点之间建立第二个TCP连接。由于这个过程,客户端从全局加速器边缘位置获得更快的响应,并且从边缘位置到该区域的应用程序端点的上游连接被优化为在AWS全球网络上运行。作为该特性的一部分实现的优化包括:

  • 巨型帧的支持。通过在AWS区域的AWS边缘位置和应用端点之间启用巨型帧,Global Accelerator能够在每个数据包中多发送和接收6倍的数据(有效负载)。巨型帧支持减少了客户端和应用程序之间传输数据所需的总时间。
  • 大型接收端窗口和TCP缓冲区。通过调优AWS edge基础设施上的接收端窗口和TCP缓冲区设置,Global Accelerator能够在更短的时间内接收和缓冲来自应用程序的大量数据。这为您的客户端提供了更快的下载速度,现在直接从AWS边缘获取数据的时间缩短了。
  • 大的拥塞窗口。通过在AWS全球网络上传输数据,global Accelerator可以扩展TCP拥塞窗口,以发送比通常通过公共internet可能发送的更多的数据。

性能测试与结论

为了评估这个特性对性能的影响,我们测量了从世界各地的客户端到运行在AWS US East (N. Virginia)地区Amazon EC2上的端点的吞吐量。我们比较了通过TCP终止的Global Accelerator传输数据时的吞吐量和通过公共internet传输数据时的吞吐量。使用Global Accelerator的结果是吞吐量性能提高了60%。在所有情况下,使用Global Accelerator获得的吞吐量性能收益取决于许多因素,包括传输的数据量以及最后一英里网络中的连接的质量、容量和距离。

下面的图表显示了澳大利亚(图1)和美国(图2)的互联网客户端从AWS US East (N. Virginia)地区下载100KB的对象所花费的时间。图中比较了通过Global Accelerator(蓝色线)下载对象和通过公共internet从EC2直接下载对象(绿色线)的情况——包括启用TCP在边缘终止之前和之后。通过第三方工具进行的实际用户测量显示,对于通过带有TCP终止的Global Accelerator从AWS美国东部(北弗吉尼亚)地区下载对象的澳大利亚客户来说,实际用户测量结果提高了60%左右。美国的客户改善了40%以上。

https://d2908q01vomqb2.cloudfront.net/5b384ce32d8cdef02bc3a139d4cac0a22bb029e8/2020/03/12/Screen-Shot-2020-03-12-at-3.10.05-PM.png

https://d2908q01vomqb2.cloudfront.net/5b384ce32d8cdef02bc3a139d4cac0a22bb029e8/2020/03/12/Screen-Shot-2020-03-12-at-3.10.24-PM.png

我们注意到,在使用数字体验监控平台千人来衡量性能时,也出现了类似的结果。下面的图表(图3)显示,当一个100 KB的测试文件通过Global Accelerator从AWS EU(爱尔兰)地区下载时,非洲、美洲、亚洲和欧洲的40个客户端通过TCP终端通过Global Accelerator从AWS EU(爱尔兰)地区下载时,平均下载吞吐量提高了2.5倍以上。

https://d2908q01vomqb2.cloudfront.net/5b384ce32d8cdef02bc3a139d4cac0a22bb029e8/2020/03/12/Screen-Shot-2020-03-12-at-3.10.32-PM.png

GA的使用场景

为单一区域应用程序提升延迟和可用性

通过提升本地和全球流量的网络路由,AWS Global Accelerator 帮助缩小单一区域部署和多个区域部署之间的差距。如果导向您应用程序的单一区域的本地和全球流量留在了公共互联网,则可能会受到互联网拥塞和本地中断的负面影响。使用 Global Accelerator,您的用户流量会离开互联网,通过 80+ 全球边缘站点进入 Amazon 的私有全球网络,再导向您的应用程序源。AWS Global Accelerator 可以快速设置,并将流量性能提升高达 60%。

多区域应用程序的简化和弹性流量路由

随着您的应用程序架构发展,复杂性也随之增大,有面向客户的更长 IP 列表以及更细微的流量路由逻辑。AWS Global Accelerator 通过为您提供两个来自全球分布式边缘站点的静态任播 IP 地址来解决这一问题,为您的应用程序提供单个切入点,无论其部署了多少个 AWS 区域。这样,您可以增加或删除源、可用区域或区域,而无需降低应用程序可用性。对您的流量路由进行手动管理,或在控制台用终端节点流量调拨和权重进行管理。如果您的应用程序终端节点存在故障或可用性问题,AWS Global Accelerator 将在几秒钟内自动把您的新连接重新导向运行正常的终端节点。

用于在线游戏的增强型玩家服务器联网

发展和维持您的在线多玩家游戏社区需要顺畅和具有竞争力的游戏体验。使用 AWS Global Accelerator 沿私有 AWS 网络路由玩家流量,可以提升您的玩家在线体验,降低游戏内延迟、抖动和数据包丢失。支持常用引擎流量加速,如 Unity 和 Unreal。AWS 边缘站点将玩家流量传入并路由至 15+ AWS Global Accelerator 支持区域中任何游戏服务器,提供更快的加载时间和更稳定的游戏内体验。无需打断高可用性 AWS 网络的服务,即可处理您的大型流量高峰,如游戏启动和游戏内活动。

在 AWS 上运行服务通信和 IP 语音

AWS Global Accelerator 通过减少呼叫设置时间的方式来提升您的实时通信 (RTC),同时增加呼叫成功比率和质量。在电信行业,您为应用程序提供延迟敏感的 RTC,包括 IP 语音以及跨多种设备的视频会议。为了支持该功能,使用 Global Accelerator 可允许您运行应用程序协议,如会话启动、沿 AWS 网络的实时和 WebRTC。直接连接至您的流量暂存控制器,以减少网络依赖关系和跳转的数量。这可以在互联网高峰时段和呼叫流量高峰时段稳定您的 RTC 发起人流量。

GA定价

使用 AWS Global Accelerator,您需要为预置的每台加速器以及流经加速器的主方向流量付费。

在账户中运行加速器时,每小时(不足 1 小时按 1 小时算)收取 0.025 USD,直到加速器被删除。

除了对在 AWS 区域中运行的应用程序终端节点收取正常的 EC2 数据传出费用之外,还会收取数据传输附加费。

数据传输附加费如下:

参考文献:

https://aws.amazon.com/cn/blogs/networking-and-content-delivery/achieve-up-to-60-better-performance-for-internet-traffic-with-aws-global-accelerator/

https://aws.amazon.com/cn/blogs/networking-and-content-delivery/improving-real-time-communication-rtc-client-experience-with-aws-global-accelerator/

https://aws.amazon.com/cn/global-accelerator

如需进一步协助或服务,请留言,泰岳云服务会提供自动化工具及专业服务。

AWS云中的WEB应用防火墙

大型的Web应用易受多种攻击,造成宕机、效率降低、数据失窃、违规罚款、品牌受损、服务中断、客户不满等。企业通常利用Web应用防火墙来保护Web应用程序。AWS WAF 是一种 Web 应用程序防火墙,让您能够监控转发到 Amazon API Gateway、Amazon CloudFront 或 应用程序负载均衡器 的 HTTP 和 HTTPS 请求,支持识别并阻拦常见的web攻击,比如SQL注入、XSS跨站、HTTP协议异常、HTTP协议畸形、命令注入、非法扫描等。

工作原理

AWS WAF可以让您可以在几分钟内设置并开始保护您的应用程序。您只需创建一个或多个Web访问控制列表(Web ACL),每个列表包含规则(定义可接受或不可接受请求/IP地址的条件集)和满足规则时要采取的操作。然后将Web ACL附加到应用程序的Amazon CloudFront分发。

从这一刻开始,通过分发到达的传入HTTP和HTTPS请求将根据相关Web ACL中的每个规则进行检查,规则的条件可以为正(允许某些请求或IP地址)或负(阻止某些请求或IP地址)。

优势和功能

针对 Web 攻击灵活提供保护

AWS WAF 规则的传播和更新只需不足一分钟时间,因此您可以在问题出现时在您的环境中快速进行安全更新。WAF 支持数百条规则,这些规则可以检查 Web 请求的任意部分,同时尽可能降低延迟对传入流量的影响。AWS WAF 可以根据您创建的规则筛选流量,从而保护 Web 应用程序免遭攻击。例如,您可以筛选 Web 请求的任意部分,例如 IP 地址、HTTP 标头、HTTP 正文或 URI 字符串。这样一来,您可以防范常见攻击模式,例如 SQL 注入或跨站点脚本。

易于部署和维护

无论是作为 CDN 解决方案的一部分部署在 Amazon CloudFront 上,还是部署在位于所有来源服务器之前的 Application Load Balancer、适用于您的 REST API 的 Amazon API Gateway 或者是适用于您的 GraphQL API 的 AWS AppSync 上,AWS WAF 都能轻松部署和保护应用程序。无需部署其他软件、无需配置 DNS、无需管理 SSL/TLS 证书,也无需进行反向代理设置。使用 AWS Firewall Manager 集成,您可以集中定义并管理规则,并在您需要保护的所有 Web 应用程序中反复使用这些规则。

使用托管规则节省时间

使用AWS WAF 托管规则,您可以快速入门并保护您的 Web应用程序或 API 免遭常见的威胁。有多种规则类型供您选择,例如解决诸如开放式 Web 应用程序安全项目 (OWASP) 十大安全风险、内容管理系统 (CMS) 特有的威胁或新出现的常见漏洞和泄露 (CVE) 等问题的规则。托管规则会随新问题的出现而自动更新,这样您就有更多的时间来构建应用程序。 

经济高效的 Web 应用程序防护

使用 AWS WAF,您只需按使用量付费。AWS WAF 属于可自定义的自助服务,基于您部署的规则数量和您的 Web 应用程序收到的 Web 请求数量进行定价。既没有最低费用,也无需预先承诺。

提高 Web 流量可见性

AWS WAF 让您能够近乎实时地查看 Web 流量,借此在 Amazon CloudWatch 中创建新的规则或警报。您可以精确控制指标的发出方式,因此可以从规则级别到完整入站流量进行监控。此外,AWS WAF 还会捕获每个接受检查的 Web 请求的完整标头数据,用于自动提供安全保护、分析或审计用途,从而提供全面的日志记录。

集成于应用程序开发流程中的安全性

AWS WAF 中的所有功能都可以通过 AWS WAF API 或 AWS 管理控制台进行配置。因此,您的开发运营团队可以在应用程序开发流程中定义特定于应用程序的规则,从而增强 Web 安全性。而且,您可以将 Web 安全问题放到开发流程链中的多个环节:从最初撰写代码的开发人员,到部署软件的开发运营工程师,再到跨组织实施安全规则组的安全管理员等。

如何收费

您需要为创建的每个 Web ACL 和针对每个 Web ACL 创建的每个规则付费。此外,您还需要为 Web ACL 处理的 Web 请求数付费。

Web ACL 每月 5.00 USD(按小时收取)

规则 每月 1.00 USD(按小时收取)

请求 每 100 万个请求 0.60 USD

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

陈汉卿

云业务事业部 | 高级系统架构师

神州泰岳软件股份有限公司·AWS战略合作伙伴

AWS Solution Provider | Migration | DevOps | Cloud Management Tools(CMT) ISV Partner

AWS云中的CMDB

CMDB是自动化运维的基石、是构建ITIL流程的基础。AWS Config是一个托管服务,是AWS云中资源的CMDB,它可以维护AWS资源的配置历史,并根据最佳实践和内部策略来评估配置。您可以将此信息用于操作故障排除、审计和遵从性用例。

AWS Config原理

打开 AWS Config 之后,它会先查找您账户中受支持的 AWS 资源,并为每个资源生成一个配置项。AWS Config 还会在某个资源的配置更改时生成配置项,并在您启动配置记录器后,保留配置项的历史记录。如果您使用的是 AWS Config 规则,则 AWS Config 会持续评估您的 AWS 资源是否具备所需设置。当某个资源的合规性状态发生更改时,AWS Config 会向您的 Amazon SNS 主题发送通知。

使用场景

资源管理

为了更好地管理您的资源配置并检测资源的错误配置,您需随时详细了解存在哪些资源以及这些资源的配置方式。AWS Config 可以在资源被创建、修改或删除时向您发送通知,不需要您通过对各个资源进行轮询来监控这些资源更改。

您可以使用 AWS Config 规则来评估您的 AWS 资源的配置设置。当 AWS Config 检测到不符合某项规则中的条件的资源时,AWS Config 会将其标记为不合规资源并发送通知。AWS Config 会在您的资源被创建、更改或删除时持续对其进行评估。

审计与合规性

您使用的数据可能需要频繁审计,以确保其符合内部策略与最佳实践。为了证实合规性,您需要了解资源的历史配置。AWS Config 可以提供这一信息。

对配置更改进行管理与故障排除

当您使用相互依赖的多个 AWS 资源时,一项资源配置的更改可能对相关资源造成意外后果。利用 AWS Config,您可以查看您准备修改的资源如何与其他资源相关联,并评估更改所产生的影响。

您也可以使用 AWS Config 提供的资源历史配置来解决问题,并确定问题资源的最后正确配置。

安全分析

要分析潜在的安全漏洞,您需要了解有关您的 AWS 资源配置的详细历史信息,例如向您的用户授予的 AWS Identity and Access Management (IAM) 权限或者控制对资源的访问的 Amazon EC2 安全组规则。

您可以使用 AWS Config 随时查看 AWS Config 正在记录的分配给 IAM 用户、组或角色的 IAM 策略。这一信息可以帮助您确定用户在特定时间内具备的权限:例如,您可以查看用户 John Doe 在 2015 年 1 月 1 日是否拥有修改 Amazon VPC 设置的权限。

您也可以使用 AWS Config 来查看您的 EC2 安全组的配置,包括在特定时间打开的端口规则。这一信息可以帮您确定安全组是否会阻止传入 TCP 流量传输至特定端口。

如何收费

使用 AWS Config 时,您将根据账户中记录的配置项数量、活动 AWS Config 规则评估数量和一致性包评估数量付费。配置项是对您的 AWS 账户中资源配置状态的记录。AWS Config 规则评估是由 AWS 账户中的 AWS Config 规则对资源进行的合规性状态评估,一致性包评估是由一致性包内的 AWS Config 规则对资源进行的评估。

定价示例

假设您在给定月份在美国东部(弗吉尼亚北部)区域的使用量如下。

10000 个各种资源类型的记录配置项

50000 次账户中存在的所有单个 Config 规则的 Config 规则评估

5 个一致性包,每个包含 10 个 Config 规则,每个 Config 规则有 300 次规则评估(即 5*10*300 总共为 15000 次评估)

配置项费用

10000 * 0.003 USD = 30 USD

Config 规则费用

前 100000 次评估(每次 0.001 USD)= 50 USD

一致性包费用

前 1000000 次一致性包评估(每次 0.0012 USD)= 18 USD

Config 账单总额

30 USD + 55 USD + 18 USD = 98 USD

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

 

陈汉卿

云业务事业部 | 高级系统架构师

神州泰岳软件股份有限公司·AWS战略合作伙伴

AWS Solution Provider | Migration | DevOps | Cloud Management Tools(CMT) ISV Partner

AWS云中的敏感数据保护

当你把越来越多的数据放到云端时,你需要依靠安全自动化来保证它的安全。许多数据泄露不是未经授权用户的恶意行为造成的,而是授权用户的错误造成的。要监视和管理敏感数据的安全性,首先必须能够识别它。AWS推出了Amazon Macie,这是一项完全托管的数据安全和数据隐私服务,使用机器学习和模式匹配帮助您检测、分类,并更好地保护存储在AWS云中的敏感数据。 

Macie原理

Macie将机器学习和模式匹配技术应用于您选择的S3存储桶,以识别敏感数据,并向您发出警报,例如个人身份信息(PII)。您可以在AWS管理控制台中搜索和筛选Macie的警报或调查结果,并将其发送到Amazon EventBridge(前称 Amazon CloudWatch Events),以便轻松与现有工作流程或事件管理系统集成,或与AWS服务(例如 AWS Step Functions)结合使用,以执行自动修复操作。这可以帮助您满足法规要求,例如《健康保险携带和责任法案》(HIPAA) 以及《通用数据隐私条例》(GDPR)。

Macie使用场景

在数据迁移中识别敏感数据

将大量数据迁移到 AWS 时,您可以设置一个安全的 Amazon S3 环境,用作使用 Macie 发现敏感数据的初始暂存区。您还可以从应用程序(如电子邮件、文件共享、协作工具)中提取文件,并传输到 S3 以供 Macie 评估。评估结果可帮助您了解迁移数据应存储在何处以及需要应用哪些安全控制(如加密和资源标记)。利用 Macie 的调查结果,您可以在数据迁移到 AWS 时自动配置数据保护和基于角色的访问策略。

评估您的数据隐私性和安全性

保持正确的数据安全级别的一个重要方面是能够持续地识别敏感数据并评估安全性和访问控制。Amazon Macie 让您可以在整个 Amazon S3 环境中做到这一点,生成可指导行动的调查结果,以便在需要时快速响应。使用 Macie,您还可以通过将敏感数据临时移动到 S3 来灵活地识别驻留在其他数据存储中的敏感数据。例如,您可以启动 Amazon Relational Database Service (RDS) 或 Amazon Aurora 快照,将这些服务中的数据导出到 Amazon S3,在其中可以使用 Macie 对敏感数据进行评估。这样您就可以利用 Macie 来帮助您维护数据隐私性和安全性。

保持合规性

合规团队需要监控敏感数据所在的位置,对其进行适当保护,并提供证据证明他们正在实施数据安全和隐私保护,以满足合规要求。Amazon Macie提供了不同的数据分析计划选项,如一次、每日、每周或每月敏感数据发现作业,以帮助您满足和保持数据隐私和合规要求。Macie会自动将所有敏感数据发现作业的输出(包括调查结果、评估结果、时间戳以及被扫描是否存在敏感数据的所有存储桶和对象的历史记录)发送到您拥有的S3存储桶。这些敏感数据发现详细报告可用于数据隐私和保护审核以及长期保留。

Macie如何收费

Macie针对存储桶级安全性及访问控制评估的Amazon S3存储桶数量,以及针对敏感数据发现处理的数据量进行收费。Macie仅对其检查的受支持对象类型中处理的字节收费。

作为Macie敏感数据发现作业的一部分,还将产生针对GET和LIST请求的标准Amazon S3费用。

以俄亥俄区域为例:

收费示例

一个账户中启用了 Macie,该账户拥有 15 个 Amazon S3 存储桶。而且,您为存储桶提交了敏感数据发现作业,S3 标准存储中有 1000000 个对象,结果处理了 100GB 数据。

• 15 个 Amazon S3 存储桶
• 针对敏感数据发现处理 100GB 的数据
• 1000000 个对象,所有支持的对象类型

Macie 费用 =15 * 0.10 USD(每个 S3 存储桶每月 0.10 USD)+ 1 * 0.00 USD(每月前 1GB)+ 99 * 1.00 USD(每月超出 1GB 后的 50000GB)= 1.50 USD + 0.00 USD + 99.00 USD= 100.50 USD Macie 费用

S3 费用 =0.005 USD(1000 个 S3 LIST 请求返回 1000 个对象,每 1000 个调用的费用为 0.005 USD)+ 0.0004 USD * 1000(1000000 个对象,每 1000 个 S3 GET 请求的费用为 0.0004 USD)= 0.005 USD + 0.4 USD= 0.405 USD S3 费用

陈汉卿

云业务事业部 | 高级系统架构师

神州泰岳软件股份有限公司·AWS战略合作伙伴

AWS Solution Provider | Migration | DevOps | Cloud Management Tools(CMT) ISV Partner

快速实现AWS云中的安全威胁检测

安全团队要自行组织对VPC流日志、CloudTrail日志、DNS日志做分析,从日志收集、格式化、分析、结论、动作,整个过程是一件十分耗时费力的事情。而使用GuardDuty,只需在 AWS 管理控制台中几次点击,就可以启用 GuardDuty,实现云环境中的威胁检测。AWS在2017年推出云中威胁检测服务——GuardDuty,旨在帮助AWS用户摆脱潜在的安全威胁,保护其AWS账户和工作负载。

GuardDuty能干什么

您的账号在您从未使用过的区域启动了实例;您的EC2实例正在被攻击;您的EC2实例在你不知情的情况下开始挖掘比特币;您的EC2实例在你不知情的情况下发起网络攻击;运行渗透测试工具的机器在使用您的账户的凭证进行 API 调用。上述问题发生时,都可以被GuardDuty检测到。

GuardDuty原理

Amazon GuardDuty 是一项持续安全监控服务,通过分析数据源 (VPC 流日志、AWS CloudTrail 事件日志和 DNS 日志)、使用威胁情报源(例如,恶意 IP 地址和域的列表)和机器学习来标识您 AWS 环境中意外的和未经授权的恶意活动。

GuardDuty优势

安全团队要自行组织对VPC流日志、CloudTrail日志、DNS日志做分析,从日志收集、格式化、分析、结论、动作,整个过程是一件十分耗时费力的事情。而使用GuardDuty,只需在 AWS 管理控制台中几次点击,就可以启用 GuardDuty,无需部署或维护任何软件或硬件。

集成了来自 AWS、CrowdStrike 和 Proofpoint 的最新威胁情报源。威胁情报与机器学习和行为模型结合,帮助您检测加密货币挖矿、凭证破解行为、未经授权的异常数据访问、与已知命令和控制服务器通信或者来自已知恶意 IP 的 API 调用等活动。

安全团队可以将组织中各账户的发现结果聚合到一个 GuardDuty 管理员账户中,以便进行管理。聚合后的检测结果也可通过 CloudWatch Events 使用,从而轻松与现有的企业事件管理系统集成。

GuardDuty 可以利用 Amazon CloudWatch Events 和 AWS Lambda 执行自动化的修复操作。

GuardDuty如何收费

Amazon GuardDuty 根据分析的 AWS CloudTrail 事件数和分析的 Amazon VPC 流日志和 DNS 日志数据的容量定价。为 GuardDuty 分析启用这些日志源无需支付额外的费用。以俄勒冈区域为例,资费如下:

GuardDuty发现类型

完整的GuardDuty发现类型,参考如下网址:

https://docs.aws.amazon.com/zh_cn/guardduty/latest/ug/guardduty_finding-types-active.html

如何启用GuardDuty

如何启用GuardDuty参考如下网址:

https://docs.aws.amazon.com/zh_cn/guardduty/latest/ug/guardduty_settingup.html

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

Elastic Beanstalk vs CloudFormation

什么是AWS Elastic Beanstalk

AWS Elastic Beanstalk 可降低管理的复杂性,但不会影响选择或控制。您只需上传应用程序,AWS Elastic Beanstalk 将自动处理有关容量预配置、负载均衡、扩展和应用程序运行状况监控的部署细节。

什么是 AWS CloudFormation

AWS CloudFormation 是一项服务,可帮助您对 Amazon Web Services 资源进行建模和设置,以便能花较少的时间管理这些资源,而将更多的时间花在运行于 AWS 中的应用程序上。

CloudFormation可以帮助您简化基础设施管理、快速复制基础设施、以及轻松控制和跟踪对您的基础设施所做的更改。

Elastic Beanstalk vs CloudFormation

Elastic Beanstalk和CloudFormation都不收取额外费用,只需支付存储和运行应用程序所需的AWS资源。

Elastic Beanstalk旨在使开发人员的更轻松的进行代码部署,Elastic Beanstalk是将WEB应用程序部署到AWS快速简便的方法,而CloudFormation更多的被系统工程师用于基础设施的构建;Elastic Beanstalk可以自动生成CloudFormation模板来构建应用程序运行的环境,AWS CloudFormation属于技术堆栈的“基础结构构建工具”类别,而AWS Elastic Beanstalk可以分类为“平台即服务”。

总结:

如果您的应用程序是Elastic Beanstalk支持的标准Web层应用程序,并且您希望为应用程序提供易于管理,高度可扩展的运行环境,请使用Elastic Beanstalk。

如果您想要直接管理应用程序的所有AWS资源,或具有大量自定义实例设置或部署过程可以直接使用CloudFormation。

新功能-应用负载均衡器的加权目标组配置

新功能-应用负载均衡器的加权目标组配置

我们知道海外的AWS Route53服务,有多种路由策略,其中有一项为加权路由。可将极少的一部分流量发送到一个资源,并将其余流量发送到另一个资源,则可以指定权重 1 和 255。权重为 1 的资源将获得 1/256 (1/1+255) 的流量,另一个资源将获得 255/256 (255/1+255) 的流量。可以通过更改权重来逐渐改变平衡。

使用这种加权路由技术,开发人员可以将新版本应用程序的基础架构,与旧版本并行运行一段时间,将流量逐步切换至新版本中,若新版本没有问题之后再将旧版本删除。这种技术手段称为蓝绿部署。

虽然AWS中国并没有Route53服务,但是AWS 推出了一项新功能,即应用负载均衡器支持加权目标组,允许开发人员将流量分配至应用程序的多个版本中,下面我们来实验一下这个功能。

参考架构图:

首先,我们启动两个ec2实例。使用用户数据,安装并启动http、php服务,下载web程序包。

安全组设置为:http,来源:任何地方

第二步,创建应用负载均衡器

第三步,创建2个目标组,每个目标组各自加入一台ec2实例

第四步,配置负载均衡器权重分配,设置监听器规则

将第一个目标组分配80%的流量,第二个目标组分配20%的流量,点击Save。

第五步,等待目标组elb健康检查状态为healthy后,即可访问负载均衡器的DNS名称。

测试了10次访问结果,其中第一台ec2被访问了8次,第二台ec2被访问了2次。

EC2 Instance ID: i-0765a53082a78c2c5 1 2 3 5 6 8 9 10 共计8次

EC2 Instance ID: i-013badc4196cfdb2b 4 7 共计2次

利用S3fs给EC2挂载一块S3“盘”

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。Amazon S3具有无限制的存储容量和进出网络带宽,廉价的数据存储费用,同时具有能达到 99.999999999%(11 个 9)的持久性,是对象存储最佳解决方案。

S3FS

S3fs是基于FUSE的文件系统,允许Linux和Mac Os X 挂载S3的存储桶在本地文件系统,S3fs能够保持对象原来的格式。

利用S3fs可以把共享的Amazon S3存储桶直接挂载在用户服务器本地目录下,应用不需要做修改就可以直接使用Amazon S3存储服务,这种方式可以作为临时解决方案将传统应用快速迁移到AWS平台。详细参见:https://github.com/s3fs-fuse/s3fs-fuse

利用S3fs挂载S3存储桶

1.安装s3fs

a.安装必要的软件包

sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

b.下载,编译并安装s3fs

git clone https://github.com/s3fs-fuse/s3fs-fuse.git

cd s3fs-fuse

./autogen.sh

./configure

make

sudo make install

c.验证安装结果

2.创建IAM用户访问密钥文件

IAM用户访问密钥内容可以写入当前用户默认密钥文件比如“/home/ec2-user/.passwd-s3fs”或者用户自己创建的文件。

命令格式:echo [IAM用户访问密钥ID]:[ IAM用户访问密钥] >[密钥文件名]

命令举例:下面的例子将在当前用户默认路径创建密钥文件

3.手动挂载S3存储桶

命令格式:s3fs [S3存储桶名] [本地目录名] -o passwd_file=[密钥文件名] -o endpoint=[区域名]

如:

s3fs ultrapower-test /home/ec2-user/s3mnt -o passwd_file=/home/ec2-user/.passwd-s3fs -o endpoint=ap-northeast-1

检查挂载结果

挂载操作执行结束后,可以使用Linux “df”命令查看挂载是否成功。出现类似下面256T的s3fs文件系统即表示挂载成功。用户就可以进入本地挂载目录去访问存储在S3存储桶中的对象。

卸载挂载的S3存储桶

如果不再需要通过挂载方式访问S3存储桶,可以使用Linux “umount”命令卸载。

sudo umount /home/ec2-user/s3mnt

设置开机自动挂载S3存储桶

修改/etc/fstab文件,添加后面的自动挂载命令

vi /etc/fstab

总结:

使用S3fs可以方便的把S3存储桶挂载在EC2的本地操作系统中,由于S3fs实际上是使用Amazon S3服务的访问接口,所以不能简单的把S3fs挂载的目录和本地操作系统目录等同使用。用户使用S3f3挂载S3存储桶和直接访问S3服务有类似的使用场景。适用于对不同大小文件对象的一次保存(上传),多次读取(下载),不适用于对已保存文件经常做随机修改的场景。

还在为AWS账单拆分烦恼吗

AWS是世界上最大的公有云提供商,提供的云资源种类也最丰富。AWS云上客户数量多,用云规模大。拥有多个AWS账号、运行多套业务应用的客户很多。对这些用户的AWS管理员来说,AWS账单是个不得不面对的基础服务。

但是,AWS记账粒度很细,计费规则很多,还有RI、Credit等各种影响成本费用的手段,看清楚、弄明白AWS账单,做到明明白白消费、力求节约用云,是客户AWS管理员必备的功课,需要较长一段时间的熟悉研究才可能做到,还可能出现各种状况。

比如,老板问,最近业务激增,AWS资源用量有没有显著增加啊?小白管理员一查AWS账单,可能会傻眼:怎么这个月的比以前还低啊?怎么3月前花钱特别多,那时是业务低谷期啊?老鸟会知道,3个月前集中购买了一批预付费RI,所以费用激增;后续使用RI、当然费用就低;何况上月刚充入了一大笔Credit抵扣券,当然费用就少了。就算老鸟,要还原实际用云消费,审视其与业务规模的关系,也是不容易做到的。

又如,公司3个游戏都在云上,还有个统一的日志分析平台。老板说每个游戏团队要独立核算成本,日志分析平台成本要按比例分摊。这回老鸟管理员也有点儿挠头了:要是没有日志分析平台,一个游戏一个独立AWS账户最容易分清成本,但是三个独立账户游戏都接分析平台,VPC和部署架构就会复杂,何况多个AWS账户RI复用的灵活性变小了,管理复杂了,防D的Shield服务要买多份,每月花多个3000美刀!即便这些都能忍,日志分析平台的成本咋谈呢?

如果老板非要不可,就的一咬牙、一跺脚,撸起格子衬衫袖子、露出程序猿本色,没有什么事是开发搞不定的!

且慢!神州泰岳业务刚推出了免费、易用、灵活的AWS账单拆分工具,可以1) 还原真实资源消费和成本、2) 按业务单元拆分账单。你不如花3、5分钟装上,完美解决上述烦恼省出开发的时间去陪女朋友。

工具介绍、手册和下载请看https://wiki.awstweaker.com/2019/10/24/aws-up账单拆分工具/

浅析AWS的黑科技——Nitro系统

AWS新发布的一系列EC2新实例较以往的产品在性能上有了极大的提升,例如C5实例较C4实例提供了更高的内存与 vCPU 比率,并且性价比提高了25%,对于某些应用程序更是提高了50% 以上的效率。而让人印象较深的是,C5n.18xlarge提供了高达 100Gbps 的网络吞吐量。

如此巨大的提升后面隐藏着怎样的黑科技呢,今年的中国上AWS峰会谜底得以揭晓了——AWS Nitro系统,AWS下一代EC2实例的底层平台。

Nitro系统是AWS2017年发布的一项最新的底层虚拟化技术。目前已经被应用于EC2 M5、C5、R5、T3、I3、A1等实例型号,也将是AWS下一代EC2实例的主要底层平台。

作为公有云技术领头羊的AWS为何会选择了Nitro技术为核心底层技术呢?Nitro系统有哪些神奇之处呢?

为了说明这个问题,我们有必要首先介绍一下AWS虚拟化技术的发展历史。见下图:

在发布Nitro系统之前,AWS使用的是Xen虚拟化技术(从#2到#6)。

上图是发布Nitro之前的EC2型号,是未采用Nitro技术的EC2型号。如图所示,Xen 实现了CPU 和内存的虚拟化,但是虚拟机的I/O 访问是通过前端模块和 DOM0 中的后端模块通信,然后由DOM0 中的后端模块通过设备驱动实现的。结果是业务虚拟机的资源被抢占,I0性能降低。

Nitro技术有效的解决了这些问题。上图是2017年11月发布的C5 实例类型,已经采用了Nitro系统。如图上图所示,AWS使用基于KVM的Nitro Hypervisor 替换了Xen,将存储、网络和安全等功能卸载到专用的Nitro卡上,取消了DOM0。

Nitro系统使得虚拟实例几乎可以获得服务器的所有资源,在提升性能的同时,有效的降低了成本。

Nitro系统包括以下内容:

NITRO卡

Nitro卡是一组硬件卡,可以卸载和加速IO的功能,最终提高整个系统的性能。主要的卡包括Nitro Card for VPC, Nitro Card for EBS, Nitro Card for Instance Storage以及Nitro卡控制器。

NITRO安全芯片

Nitro安全芯片整合到宿主机主板中,控制对所有非易失性存储的访问,持续监控和保护硬件资源。Nitro提供在系统启动时的固件验证。

NITRO Hypervisor

Nitro管理程序是一个轻量级Hypervisor程序,它管理内存和CPU分配,并提供与裸机无异的性能。

由于篇幅关系,以上内容不再展开。总之,Nitro系统提供了密钥、网络、服务器、安全、固件补丁和监控等功能支持,极大的释放底层服务资源供客户的虚拟机使用,从而有效的提升性能的同时,降低了成本。

Nitro系统是一个丰富的构建块集合,可以用许多不同的方式进行组装,使AWS能够灵活地设计和快速交付EC2实例类型,据AWS官网报道:“使用Nitro系统,我们在2018年的出货量几乎是前一年的三倍。”由此可见,Nitro技术是近年来AWS在底层虚拟技术上的重大创新。

关于Nitro技术的更多内容请参见AWS官网:AWS Nitro System