亚马逊AWS官方博客

十一月

十月

九月

八月

七月

六月

五月

四月

二月

一月

2016


如何在1个小时之内轻松构建一个Serverless 实时数据分析平台    30 Dec

AWS Limit Monitoring ——书到用时方恨少,资源提限需趁早!    29 Dec

Amazon Polly – 支持47种语音与24种语言的文本到语音转换服务  19 Dec

开发者预览版——EC2实例(F1)携手可编程硬件    19 Dec

Amazon Lex – 构建对话语音与文本界面    15 Dec

如何在AWS上安装使用分布式TensorFlow    13 Dec

New feature launched to AWS China (BJS) region, operated by SINNET – Amazon RDS for SQL Server – Support for Native Backup/Restore to Amazon S3    5 Dec

由光环新网运营的AWS中国北京(BJS)区域现推出新RDS功能–支持SQL Server 本机备份/还原到Amazon S3   27 Nov

Amazon S3 和 Amazon Glacier 降价    27 Nov

构建健壮的混合云网络——BJS DX+VPN篇    23 Nov

构建健壮的混合云网络——BJS DX篇    23 Nov

构建健壮的混合云网络——BJS VPN篇    23 Nov

GPU为 Amazon Graphics WorkSpaces 提供助力    21 Nov

Amazon QuickSight全面上线——更快更易用的大数据商务分析服务    21 Nov

Amazon EC2 产品价格调降通知(C4,M4, 和T2实例)    21 Nov

利用 CloudWatch 搭建无人值守的监控预警平台    16 Nov

一键搞定云端网络环境,让您轻松迁移至AWS!    9 Nov

程序员的深度学习入门指南    07 Nov

如何在 AWS上构建基于 OpenSwan 的软件 VPN 解决方案    01 Nov

AWS的在线云计算专家,你用了吗?    31 Oct

CloudFront常见错误配置及解决方法    25 Oct

使用DMT工具迁移北京区域的数据库    18 Oct

VPC中NAT的那点事     17 Oct

CloudWatch Events监控您应用的安全    8 Oct

Oracle数据库迁移到AWS云的方案    28 Sep

使用AWS的数据库迁移DMS服务    28 Sep

手把手教你使用Amazon EMR进行交互式数据查询    27 Sep

使用Oracle Data Pump将数据库迁移到AWS的RDS Oracle数据库    26 Sep

手把手教你快速部署流量压测工具 – Bees with Machine Guns    26 Sep

优秀的领导者如何更进一步迈向伟大?    24 Sep

现代IT高管已然化身首席变革管理官    24 Sep

利用云方案进行实验时的四要与四不要    24 Sep

来自成功云企业的十项诀窍    24 Sep

助你决胜云时代的人才其实近在眼前    13 Sep

手把手教你如何用Lambda + Alexa调用echo设备    01 Sep

AWS Kinesis的Javascript交互方法    25 Aug

基于AWS 平台跳板机配置    08 Aug

如何使用AWS 命令行分段上传大文件    02 Aug

我喜欢我的Amazon WorkSpaces    02 Aug

算法改变世界 - 从Prisma 的走红说开去    02 Aug

为员工进行云培训时的11条箴言    07 Jul

畅谈CIO该如何合并业务和技术    07 Jul

协同合作伙伴 合力加速上云战略    07 Jul

在云端试验时的“有所为和有所不为”    07 Jul

专线直连AWS建立混合IT环境实务指南    01 Jul

手把手教你调校AWS PB级数据仓库    20 Jun

Token Vending Machine:移动应用客户端安全访问AWS服务的解决方案    20 Jun

分布式神经网络框架 CaffeOnSpark在AWS上的部署过程    16 Jun

打造DIY版Echo:树莓派+ Alexa 语音服务    01 Jun

使用Docker封装IPSec安全网关    30 May

将VMware 中的Ubuntu 12.04 映像导入成Amazon EC2 AMI    30 May

如何使用AWS Auto-reboot和Auto-recovery进一步提升单机高可用    16 May

AWS CTO对过去十年的经验总结 – 十条军规    12 Apr

AWS上的游戏服务:Lumberyard + Amazon GameLift + Twitch    12 Apr

为AWS北京区管理控制台集成ADFS访问    12 Apr

AWS的十年创新之路    12 Apr

空荡的数据中心,120种妙用!    12 Apr

媒体洞察 | 让企业自由发展的云时代    12 Apr

亚马逊 风力发电厂在福勒岭启动了!    12 Apr

AWS之旅:混合云构建及常见的应用场景

作者:袁春华,AWS解决方案架构师

混合云融合了公有云和私有云,是企业上云的中间之旅,也是云计算发展过程中的一种模式和阶段。出于如信息保密、行业合规、市场细分等因素或考虑,有些企业更愿意将数据存放在本地数据中心或私有云中,但是同时又希望可以获得公有云的计算资源、存储资源。在这种情况下,混合云在企业上云之初被广泛的采用。

1     构建混合云的关键技术点

1.1   网络连接

第一点,公有云具备用户自定义网络的能力。这里自定义网络泛指云上的私有网络,Amazon VPC允许企业用户在AWS云上自定义逻辑隔离的专用网络的能力,包括允许用户可以自行划分子网、配置路由,设置公网、VPN网关等基础能力。

第二点,多样、稳定的网络接入能力。混合云最突出的特点就是连接,连接方式主要分为两种:公网接入和专线接入。

为保护用户的信息安全,公网接入在Internet上的流量通常需要经过IPsec VPN加密,AWS提供了托管VPN服务和用户自建VPN两种方式,如果采用用户自建方式,一般小型VPN网关(200Mbps以下)可以通过虚拟软件VPN网关实现,中或大型VPN网关(300Mbps及以上)可通过硬件VPN网关设备实现。VPN部署一般半天即可完成,可以快速满足企业用户需求。

AWS Direct Connect(简称DX专线)为企业上云提供了专线接入能力,能够全时段、全方位的保障用户数据传输隔离加密,并保证可用网络带宽,用户无需担心容量太大而无法承载的问题。

示图1:AWS DX专线与VPN混合组网示意图

1.2   安全与监控

混合云在网络层面上将私有云和公有云进行了连接,如果发生网络故障或者攻击,需要有能力保障网络间故障不会相互影响,将攻击或者故障限制在一定范围之内。云上的网络环境需要具备灵活、易配置的网络安全访问控制能力。Amazon VPC提供了有状态的EC2实例级别的网络防火墙功能(安全组),还则提供了无状态的子网级别的网络访问控制(网络ACL)。

监控方面,Amazon VPC 提供了流日志(flow log)功能,可以利用此项功能来捕获传入和传出的网络IP流量信息。流日志数据使用 Amazon CloudWatch Logs 存储,创建流日志后,用户可以在 Amazon CloudWatch Logs 中监控和查看其VPC网络的流量传入和传出状态,并可通过CloudWatch预设告警策略以及时反馈网络异常。VPC流日志还可以帮助用户排查网络故障等问题,比如流量为什么没有进入到EC2实例的原因。另外,针对VPC流日志的分析,可以帮助检查AWS云上的网络安全设置,消除网络安全漏洞。

1.3   统一服务,混合云管理平台

云管理平台的定义是Gartner提出来的,总结起来就是两块,第一是管理,管理公有云、私有云,形成混合云。第二是自服务,镜像划分,计量与计费,以及基于策略的负载优化。云管理平台最终的目标是应用在云平台上运行时取得最优化的效果。

企业用户构建混合云平台之后,首先需要解决的就是服务门户的统一,资源状态监控界面的统一,在一个平台上实现本地数据中心(或私有云)和公有云资源的统一申请、统一审批、统一监控、统一计费。这样能够大幅度降低用户跨平台切换带来的复杂运维工作量,让用户跨平台的资源使用与监控更加方便。

示图2:混合云管理平台(CMP)功能示例图

2     常见的混合云应用场景

2.1   利用AWS公有云应对业务的爆发式增长

大多数互联网业务呈指数型增长,很难预测基础设施的储备量。一般在业务成长初期很长一段时间内,小规模的物理机托管可以满足用户需求。但随着市场推广活动展开,业务规模爆发增长,原物理托管机房可部署机位有限,只能选择公有云作为弹性手段,快速部署业务,满足用户需求。

今天已经有越来越多的企业用户将他们的互联网业务系统,诸如电子商务系统、Web网站、移动端产品和信息订阅服务系统迁移到AWS云上。应对业务规模爆发增长的用户需求,AWS云服务采用多种方式确保应用系统的可靠性和稳定性,作为最基础的云服务,Amazon EC2提供了大小可调的计算容量,用户可以根据自己的实际需求,完全控制所需的计算资源。配合AWS的Auto Scaling功能,用户可以按照事先设定的条件自动扩展Amazon EC2容量,确保所使用的Amazon EC2数量在需求峰值期间实现无缝增长以保持性能,同时也可以在需求平淡期间自动减少Amazon EC2数量以降低成本。此外,Elastic Load Balancing可以在多个Amazon EC2实例之间自动分配应用程序的访问流量,也可以检测出系统中不健康的实例并自动更改路由,将应用的访问流量导向健康的实例。通过不同功能云服务之间的组合,AWS云平台可以确保应用系统的高可靠性和稳定性。

示图3:混合云架构下的电商平台三层系统架构图

与早期基于传统数据中心的系统相比,依托AWS云平台的新系统在稳定性、可靠性和响应速度等方面都有了极大的提升,同时大幅度降低了固定资产投资(CAPEX)和运营成本(OPEX)。在传统数据中心模式下,用一台服务器的寿命大约为5年来计算,购入一台与Amazon EC2 c3.4xlarge机型(16 vCPU,30 GB 内存)配置对应的物理服务器,加上网络和托管费用, 核算出5年的总费用;如果按这个需求迁移到AWS云平台后,企业用户在总费用上可以节省20%。

使用AWS云服务也大幅度降低了用户的运营成本。在传统数据中心模式,企业用户的运维团队工作任务繁重,需要做很多简单、重复的工作,比如服务器的上下架、系统重装、硬件检修等。采用AWS云服务之后,运维人员可以把主要精力放在研究和部署更好的技术架构和方案上,提升了工作效率,减少了人力投入,运维人员的人力成本可以节省一半左右。

2.2   利用AWS公有云实现多地容灾的高可用架构部署

与前一类用户不一样,很多企业用户已经具有很大规模,在本地数据中心或运营商机房中运行大量服务器,他们的核心问题不再是担心基础设施部署速度无法满足业务增长,更多的是从稳定性、可靠性等寻求从单中心向多中心化发展,通过消灭单点,解决单数据中心故障带来的业务风险。

根据业务可靠性要求不同,一般多地容灾常见的采用方式有同城容灾、异地双活、两地三中心等。按照传统建设模式,用户只能重新选址并租赁数据中心,发起服务器、网络设备采购,部署网络环境等,中间涉及到一系列的商务沟通、基础设施建设等操作,周期往往从6个月到1年不等。而在公有云蓬勃发展的今天,他们可以不必担心此类问题,直接注册个账号,购买服务器,拉个专线,基础架构就搞定了。

AWS的混合云容灾架构,就是在AWS的云环境中实现“两地三中心”,同时利用AWS云中资源的弹性大幅度降低资源成本和建设以及运维的复杂性。AWS云资源池通过软件定义的方式,能够打造与企业内部完全相同的复杂IT环境,实现企业级应用的完整镜像。

成立于2005年的IGG,是全球领先的手机游戏开发商及运营商,为全球游戏玩家提供游戏和相关服务。为了给玩家提供最佳的用户体验,IGG需要在全球多个区域部署服务器。在使用AWS云服务之前,IGG拥有自建的机房,同时也采用多家公司的主机租用服务。随着业务的快速发展,原有的服务部署模式开始面临多方面的挑战,主要体现在三个方面:其一是服务器资源管理不方便、扩展性和灵活性受限制,当访问峰值来临时,部署新服务器的周期较长,而当某款游戏的访问量暂时降低时,又会造成已有服务器资源的浪费;其二是开发和运营新游戏时难以控制成本,因为对游戏运营公司来说,一款游戏是否成功受很多因素的影响,但在运营每一款新游戏时都需要投入大量的IT资源,万一不成功,则会浪费已购置的服务器资源;其三是如何建立双活的灾备系统以确保在任何情况下都能为全球玩家提供持续可靠的服务。

为了应对这些挑战,IGG开始考虑采用公有云服务作为自有数据中心(下面简称:自有IDC)的补充。经过考察、分析和对比,IGG决定采用AWS云服务,并从几年前开始尝试使用AWS在新加坡、法兰克福、日本、美国等可用区的云服务部署海外游戏节点。2016年8月,为了提升整个游戏运营系统的稳定性和可靠性,IGG决定为其位于北加州的核心业务系统建立双活灾备系统。使用AWS云服务给IGG带来的最大好处是用较低的成本建立起远程的双活灾备中心,实现了核心业务异地实时同步备份,在主机房出现故障时能快速切换到云端,保证服务的连续性。整个灾备系统完全满足IGG的业务需求:RTO不超过30分钟、RPO为0,增强了IGG游戏运营系统的稳定性和可靠性。除此之外,使用AWS云服务也节省了灾备系统的成本,因为利用AWS云服务建立双活灾备系统时并不需要1:1的资源配置,这点相比传统的本地灾备具有极大的性价比优势。

示图4: 基于AWS云服务的IGG双活灾备中心

AWS混合云容灾架构的用户价值: 从容灾系统的TCO上看,AWS混合云容灾解决方案更是具备明显优势。无需前期对硬件、软件的采购和安装,省去了大量前提投入成本。更重要的是,容灾方案中AWS云中资源可以选择不开机或只开启少量小机型资源,对于不开机的资源将完全不收取EC2虚拟机资源的费用,又能保持EC2虚拟机的状态和后台数据的增量更新。经过我们的测算,一个典型的容灾系统项目,以5年为周期进行计算,TCO只需花费原有私有云容灾环境的1/3,而第一年的投入资金更是传统项目的1/10。

另外,随着应用容灾系统迁移至AWS云中,可以将企业现有的容灾中心转变成生产中心,从而扩大客户自建数据中心的承载能力,或大幅降低IT资源的运营成本,享受更多AWS云带来的好处。下图从AWS混合云容灾开始,到容灾切换,到生产系统平滑上云的进阶演进图:

 示图5:AWS混合云容灾,到容灾切换,到生产系统平滑上云的进阶演进图

2.3   利用AWS公有云实现混合云备份

将数据备份到云端的好处显而易见:管理和操作更加便捷,无需搭建IT备份系统架构、将一次性大额支付变为每月或每年的按需付费,进而减少企业对IT资源的投入等等。现在越来越多的企业客户更倾向于通过其现有的备份软件或云网关,将其现有的备份体系架构扩展到云上。这样做的好处可以用云备份替换离线磁带,大大降低本地存储的资源开销,利用云端完成备份工作,更具性价比。

AWS Storage Gateway (又称“AWS存储网关”,架构图见示图6)是AWS提供的一种混合云存储服务,企业本地数据中心的内部应用程序可以借助它来无缝地使用 AWS 云上的存储资源(如S3,Glacier等),AWS存储网关可以帮助企业用户实现本地数据中心向AWS云端进行备份、存档、灾难恢复、云突增、分级存储分层和迁移。并具有无缝集成能力,企业应用程序或备份工具可以使用 NFS、iSCSI 等标准存储协议通过本地存储网关镜像设备连接到AWS云端的该存储网关,同时存储网关连接 Amazon S3、Amazon Glacier、Amazon EBS 等 AWS 存储服务,可实现文件、卷和虚拟磁带的存储或备份。

示图6:AWS存储网关服务架构示意图(Gateway-Cached Volume)

AWS存储网关具有高度优化的数据传输机制,能够进行带宽管理、自动实现网络弹性、高效传输数据,并为活动数据的低延迟本地访问提供本地缓存。

当然从企业用户的混合云备份需求角度,通常需要考虑:

  • 如何实现对于虚拟机和物理机进行统一管理?
  • 如何缩短备份时间?
  • 如何快速恢复? 能否恢复到任何环境(如物理机,虚拟机,云中的虚拟机) ?
  • 能否确保备份与恢复数据的完整性及安全性?
  • 如何实现冷热数据的分级存储,降低云上的存储成本?
  • 如何避免重复备份数据?

目前已经有很多国内外备份服务厂商基于AWS存储网关构建了一体化AWS混合云备份方案,利用AWS云存储资源便宜的特点帮助企业用户实现AWS云端备份,而且方案能很好的满足前述提到用户对混合云备份的要求。下图为国内某备份服务厂商基于AWS存储网关的混合云备份解决方案。

示图7:国内某备份服务厂商基于AWS存储网关的混合云备份解决方案

该备份服务厂商的AWS混合云备份解决方案具有如下优势和技术特点:

  • 操作简便:提供功能丰富,操作简便的用户界面,支持手工备份、时间计划、多任务多计划、备份状态监控、版本管理、恢复操作、并提供一键式故障转移切换功能。
  • 块级别全局重复删除数据:基于源端的重复数据删除技术,相同数据块仅发送和存储一次,可以减少备份时间80%以上,这不仅带来效率的提高、带宽、存储空间的节约;还保证窄带宽条件下大数据异地灾备。
  • 瞬间恢复:通过Snapshot技术,保证备份期间不需要关闭应用,定时对发生变更的数据块进行标记并实施迁移 (最小支持一分钟),在下一个备份时间点只检索被标记的数据块,这不仅节省磁盘IO,并且能够瞬间恢复数据。
  • 冷热数据分级存储功能:充份利用Amazon S3提供的生命周期管理策略的功能,用户通过简单的策略制定就可以自动化实现冷热数据的分级存储,冷数据自动归档存储到更便宜的Amazon Glacier上,既实现了用户长期归档的需求,还可以大幅降低云上的存储成本。
  • 支持Windows/Linux/Unix等多种环境的网络集中备份,同时支持多种应用服务类型,如各种常见的应用服务器、数据库(如MySQL、SQL Server、Oracle、Sybase、DB2)、 Domino、AD、Exchange、File server等等。
  • 三重数据安全:
  1. 硬盘锁:数据与设备进行绑定,数据只能恢复到原有硬件
  2. 无规则存放:数据以无规则的块存储,避免坚守自盗
  3. 通信与数据加密:私有通信协议,可选AES数据加密
  • 异地灾备与恢复: 备份到异地云计算中心,支持恢复到本地物理机、虚拟机、AWS云上虚拟机等多种不同平台,当本地数据中心出现物理故障时,这种异地恢复机制既可以满足企业用户异地灾备恢复的需求,还可以实现数据异地使用的业务价值。
  • 传输优化:经优化的灾难恢复和复制,几分钟内返回到联机状态。

作者介绍:

袁春华,AWS解决方案架构师,负责AWS合作伙伴生态系统的云计算方案架构咨询和设计,同时致力于AWS云服务在国内的应用和推广。在加入AWS之前,在IBM中国担任解决方案架构师,负责金融行业的方案咨询和架构设计,在企业软件架构、数据库、中间件软件等方面有丰富经验。

98、99、100 个 CloudFront 接入点!

九年前,我向您展示了如何使用 Amazon CloudFront 分发内容。2008 年我们推出 CloudFront 时它有 14 个接入点,然后就快速扩展。CloudFront 现在有 89 个边缘站点和 11 个区域边缘缓存,能够为世界各地数百万查看者生成的流量提供支持。

23 个国家/地区,50 个城市,并且还在不断增长
100 个接入点遍布全球,站点分布在 23 个国家/地区的 50 个城市。在过去 12 个月中,我们的网络扩大了约 58%,增加了 37 个接入点,其中 9 个位于以下新增城市:

  • 德国,柏林
  • 美国明尼苏达州,明尼阿波利斯
  • 捷克共和国,布拉格
  • 美国马萨诸塞州,波士顿
  • 德国,慕尼黑
  • 奥地利,维也纳
  • 马来西亚,吉隆坡
  • 美国宾夕法尼亚州,费城
  • 瑞士,苏黎世

还有更多接入点正在筹划中,包括阿拉伯联合酋长国的一个边缘站点,目前计划在 2018 年第一季度开放。

为客户创新
如前所述,我们的网络由边缘站点和区域边缘缓存组成。区域边缘缓存是在 re:Invent 2016 大会上首次发布的,它位于我们的边缘站点和您的来源服务器之间,内存量甚至高于边缘站点,使用它,我们可以将内容存储在查看者附近以便提高传输速度,同时减小来源服务器的负担。

虽然位置很重要,但位置只是我们的出发点。我们继续关注安全性,最近发布了 Security Policies 功能,并宣布 CloudFront 是一项 符合 HIPAA 要求的服务。我们发布了 Lambda@Edge,让您可以在用户附近运行 AWS Lambda 函数,从而为您提供更多内容服务和内容生成选项。

我们还致力于加快缓存失效和配置更改的处理速度。我们现在可以在请求后数毫秒内接受失效,并确认请求通常在 60 秒内就可以在全球范围得到处理。这有助于确保您的客户获得新鲜及时的内容。

请访问我们的 Amazon CloudFront 入门 页面获取注册信息、教程、网络研讨会、点播视频、办公时间等信息。

Jeff

全新 – AWS OpsWorks for Puppet Enterprise

在去年的 AWS re:Invent 大会,我们推出了 AWS OpsWorks for Chef Automate,这使客户能够将自己的 Chef Automate 服务器交由 AWS 管理。根据客户反馈,今天我们非常激动地将 Puppet Enterprise 引入到 OpsWorks 中。

使用 Puppet Enterprise,您可以通过每个托管节点上部署的 puppet 代理 自动设置、配置和管理实例。您只需定义一次配置,然后使用自动回滚和偏差检测将其应用于数千个节点。AWS OpsWorks for Puppet Enterprise 使您无需维护自己的 Puppet Master,同时无缝地配合您的现有 Puppet 工作清单。

OpsWorks for Puppet Enterprise 将为您管理 Puppet Master 服务器并完成安装、升级和备份等运营任务。它还可以简化节点注册并提供实用的初学者工具包来引导您的节点。更多详情请见下方。

创建托管 Puppet Master

在 OpsWorks 中创建托管 Puppet Master 非常简单。首先导航到 OpsWorks 控制台的 Puppet 部分,然后单击“Create Puppet Enterprise Server”。

在设置的第一部分,为您的 Puppet Master 配置区域和 EC2 实例类型。c4.large 支持最多 450 个节点,而 c4.2xlarge 可以支持超过 1600 个节点。Puppet Enterprise 服务器将预配置最新版本的 Amazon Linux (2017.09) 和最新版本的 Puppet Enterprise (2017.3.2)。

在下一个设置屏幕上,您可以选择配置用于连接 Puppet Master 的 SSH 密钥。当您进行任何重大的自定义设置时,这非常有用,但通常情况下,最好通过客户端工具与 Puppet 交互,而不是在实例本身上直接交互。

在此页上还可以设置 r10k 存储库以提取动态配置。

在高级设置页面中,可以选择有关 VPC、安全组、IAM 角色和实例配置文件的常规部署选项。如果选择使用 OpsWorks 为您创建实例安全组,请务必注意,该组默认处于打开状态,因此必须在稍后限制对它的访问。

该页面上要注意的两个组件是维护窗口和备份配置。如果有新的 Puppet 软件次要版本可用,并通过了 AWS 测试,系统维护机制会自动在 Puppet Master 上更新 Puppet Enterprise 的次要版本。AWS 会进行大量测试,确认 Puppet 升级已达到生产就绪状态,在部署时不会中断现有客户环境。通过自动备份,您可以将 Puppet Master 的持久备份存储在 S3 中并随时从这些备份中还原。您可以根据业务需求调整备份频率和保留期。

使用 AWS OpsWorks for Puppet Enterprise

当 Puppet Master 在进行预配置时,此控制台会提供两个有用的信息框。

您可以下载登录凭证以及示例 userdata,用于将 puppet 代理安装到您的 Windows 和 Linux 节点上。这里需要注意的是,如果本地节点能够连接到 Puppet Master,您还能够管理本地节点。

在完全预配置 Puppet Master 后,您可以像往常一样访问 Puppet Enterprise http 控制台和使用 Puppet。

实用详细信息

AWS OpsWorks for Puppet Enterprise 按托管节点的节点小时数收费。价格为每节点小时 0.017 USD 起,节点数量越大,价格越低 – 有关完整定价的页面,请访问此处。您还需要为运行 Puppet Master 所需的基础资源付费。在推出时,AWS OpsWorks for Puppet Enterprise 在美国东部 (弗吉尼亚北部) 区域、美国西部 (俄勒冈) 区域和欧洲 (爱尔兰) 区域提供。当然,您在控制台中看到的所有操作也可以通过 AWS 开发工具包和 CLI 实现。有关更多信息,请参阅入门指南

Randall

新交互式 AWS 成本管理器 API

我们在几年前发布了 AWS 成本管理器,以便您能够跟踪、分配和管理 AWS 成本。无论是该工具的发布还是之后进行的补充,反响都很不错。但是,客户的反应却和 Jeff Bezos 说的一样:“精美、出色,但不满意。”

我每天都对此深有感触。每当我们发布一些产品,就会激发客户提出更多要求。例如,当许多客户完全转向 AWS 云并将许多 IT 基础设施迁入其中后,就会请求获得馈送到成本管理器中的原始数据。这些客户希望以编程方式了解其 AWS 成本、按应用程序和部门成本更新账目和会计系统,构建用于汇总开支的高级别控制面板。有些客户甚至已经开始从成本管理器提供的图表和报告中提取数据并遇到了问题!

新成本管理器 API
今天,我们将以编程方式获得馈送到成本管理器中的基础数据。借助新成本管理器 API 提供的一组函数,您可以完成上述所有操作。您可以跨多个维度 (服务、关联帐户、标签、可用区等等) 对成本和使用率数据进行筛选和分组,按天或按月汇总,然后进行检索。这样一来,您就可以从简单处着手 (每月总成本),然后将请求细化到所需的任何细节层次 (写入已标记为 production 的 DynamoDB 表),并在数秒内就获得响应。

以下是具体操作:

GetCostAndUsage – 使用筛选和分组功能检索单个账户或所有账户 (组织中的主账户可以访问所有的成员账户) 的成本和使用率指标。

GetDimensionValues – 针对指定筛选条件,检索指定时间段内的可用筛选值。

GetTags – 检索指定时间段内的可用标签键和标签值。

GetReservationUtilization – 使用每日或每月粒度,加上筛选和分组功能,检索指定时间段内的 EC2 预留实例使用率。

我相信这些函数及其返回的数据能够让您做一些真正有趣的事情,帮助您更好地了解自己的业务。例如,您可以标记用于支持各个市场营销活动或开发项目的资源,然后深入研究成本以衡量业务价值。现在,您就能够知道为了应对网络星期一黑色星期五等重要事件而在基础设施上花了多少钱,分毫不差。

需知信息
在您开始思考如何使用 API 时,请记住以下几点:

分组 – 成本管理器 Web 应用程序为您提供了一个分组级别;API 提供了两个。例如,您可以先按服务然后再按区域对成本或 RI 使用率进行分组。

分页 – 函数可以返回大量数据并按照 AWS 范围的模型进行分页,方法是在其他数据可用时包含 nextPageToken 。您只需再次调用相同的函数,然后提供令牌,就能继续。

区域 – 服务终端节点位于美国东部 (弗吉尼亚北部) 区域,返回所有公有 AWS 区域的使用率数据。

定价 – 每个 API 调用花费 0.01 USD。就这一点而言,让我们假定您使用此 API 构建一个控制面板,每月的用户点击量为 1000 次。这个控制面板的运营成本应该为 10 USD 左右;这比设置自己的系统来提取和获取数据并响应交互式查询的成本要低得多。

成本管理器 API 现已推出,您可以立即开始使用。要了解更多信息,请参阅成本管理器 API

Jeff

Amazon QuickSight 更新 – 地理空间可视化、私有 VPC 访问及其他

在 AWS,我们通常不看重或庆祝周年纪念日。我们提供近 100 种服务,如果每个都纪念的话,那我们可能每周都要庆祝好几次,大家一起吃蛋糕、喝香槟。尽管这听起来很有趣,但我们宁愿将工作时间用在倾听客户需求和创新上。话虽如此,Amazon QuickSight 面世至今已有一年多了,我想在此为大家做一个快速更新!

操作中的 QuickSight
如今,成千上万的客户 (从初创公司到企业,遍及交通、法律、采矿和医疗保健等各行各业) 都在使用 QuickSight 来分析和报告其业务数据。

下面是几个示例:

Gemini 为加利福尼亚州的工伤律师提供法律证据收集服务。他们需要完成一系列工作,从创建自定义报告和运行一次性查询到创建和共享动态 QuickSight 控制面板以及细分列表和筛选条件。QuickSight 用于跟踪销售管道、衡量订单吞吐量并发现订单处理流程中的瓶颈。

Jivochat 提供了一个实时消息收发平台,从而连接访客和网站所有者。借助 QuickSight,他们可以创建和共享交互式控制面板,并提供对基础数据集的访问权限。这样一来,他们不仅可以共享静态电子表格,还能确保所有人同时查看,并能够根据当前数据及时做出决策。

Transfix 是一个技术驱动的货运市场,可以满足零售、餐饮、制造和其他行业中位列财富 500 强的配送商的货运需求,并提高物流的可见性。借助 QuickSight,不管是 BI 工程师还是非技术业务用户都可以执行分析。他们审视关键的业务和运营指标,包括运输路线、配送公司效率和流程自动化。

回顾过去/展望未来
QuickSight 上的反馈意见非常有帮助。客户告诉我们,他们的员工都在使用 QuickSight 连接公司数据、执行分析并依据数据快速做出决策,而完成所有这些工作无需设置或运行他们自己的 BI 基础设施。我们很乐意听取任何反馈意见,并利用它们推动我们的路线图,从而在短短一年内推出 40 多项新功能。总结如下:

展望未来,我们的客户群正在形成一个有趣的趋势。随着这些客户仔细观察他们分析和报告数据的方式,他们发现无服务器方法可以提供一些实际优势。他们将 Amazon Simple Storage Service (S3) 用作数据湖,并结合使用 QuickSight 和 Amazon Athena 进行查询,从而获得敏捷性和灵活性,而无需静态基础设施。他们还充分利用 QuickSight 的控制面板功能,监控业务成果和运营指标,然后与数百位用户分享他们的见解。如果您对此方法感兴趣,请参阅 Building a Serverless Analytics Solution for Cleaner Cities使用 Amazon Athena 和 Amazon QuickSight 执行无服务器大数据分析

新功能和增强功能
我们仍然在尽最大努力倾听和学习,并确保 QuickSight 能够继续满足您的需求。今天,我非常高兴地宣布,我们将新增七个重要功能:

地理空间可视化 – 您现在可基于地理数据集创建地理空间视觉对象。

私有 VPC 访问 – 您现在可以注册访问新功能的预览版,从而安全连接 VPC 或本地数据,而无需公有终端节点。

平面表支持 – 除了数据透视表以外,您现在可以使用平面表进行表格报告。如需了解更多信息,请参阅使用表格报告

计算 SPICE 字段 – 您现在可以在分析过程中对 SPICE 数据执行运行时运算。请参阅在分析中添加计算字段了解更多信息。

宽表支持 – 您现在可以使用包含多达 1000 列的表格。

其他存储桶 – 您可以将较长的高基数数据总结到存储桶中,正如使用 Amazon QuickSight 中的视觉对象类型中所述。

HIPAA 合规性 – 您现在可以在 QuickSight 上运行符合 HIPAA 要求的工作负载。

地理空间可视化
每个人似乎都在期盼这个功能!现在,您只需单击几下即可获取包含地理标识符 (国家/地区、城市、州或邮政编码) 的数据,并创建美观的可视化效果。QuickSight 将对您提供的标识符进行地理编码,还可以接受经纬度地图坐标。您可以使用此功能按州可视化销售情况、将店铺对应到运输目的地等等。下面是一个可视化示例:

要了解关于此功能的更多信息,请参阅使用地理空间图 (地图) 添加地理空间数据

私有 VPC 访问预览
如果您在 AWS 中 (可能在 Amazon RedshiftAmazon Relational Database Service [RDS] 或 EC2 中) 或在本地 Teradata 以及不具有公共连接的服务器上的 SQL Server 中拥有数据,则非常适合使用此功能。适用于 QuickSight 的私有 VPC 访问使用弹性网络接口 (ENI) 与 VPC 中的数据源进行安全的私有通信。借助此功能,您还可使用 AWS Direct Connect 为本地资源创建安全的私有链接。以下网址提供了图示:

如果您已准备好加入预览版,可以立即注册

Jeff

宣布为 Apache MXNet 推出 ONNX 支持

今天,AWS 宣布推出 ONNX-MXNet,它是一种用于将 Open Neural Network Exchange (ONNX) 深度学习模型导入到 Apache MXNet 的开源 Python 程序包。MXNet 是功能齐全且可扩展的深度学习框架,可以跨 Python、Scala 和 R 等多种热门语言提供 API。通过 MXNet 的 ONNX 格式支持,开发人员可以使用 PyTorch、Microsoft Cognitive Toolkit 或 Caffe2 等其他框架构建和训练模型,然后将这些模型导入 MXNet 中运行,从而使用 MXNet 高度优化且可扩展的引擎进行推理。

我们还很激动地告诉大家,AWS 将在 ONNX 格式方面参与合作。我们将与 FacebookMicrosoft 和深度学习社区合作,进一步开发 ONNX,让深度学习从业人员都可以访问和使用它。

什么是 ONNX?

ONNX 是一种用于对深度学习模型进行编码的开源格式。ONNX 定义神经网络计算图的格式以及图中使用的大量运算符的格式。随着越来越多的框架和硬件供应商支持 ONNX,从事深度学习的开发人员可以轻松地在框架间移动,选择最适合当前任务的框架。

快速入门

我们将介绍如何使用 ONNX-MXNet 将 ONNX 模型导入 MXNet,以及如何使用导入的模型进行推理,从 MXNet 优化的执行引擎中获益。

步骤 1:安装

首先,根据 ONNX 存储库相关说明安装 ONNX。

然后,安装 ONNX-MXNet 程序包:

$ pip install onnx-mxnet

步骤 2:准备要导入的 ONNX 模型

在此示例中,我们将演示导入 Super Resolution 模型,以增加图像的空间分辨率。此模型使用 PyTorch 构建和训练,并且使用 PyTorch 的 ONNX 导出 API 导出到 ONNX。有关模型设计的更多详情,请参阅 PyTorch 示例

将 Super Resolution ONNX 模型下载到您的工作目录:

$ wget https://s3.amazonaws.com/onnx-mxnet/examples/super_resolution.onnx

步骤 3:将 ONNX 模型导入 MXNet

现在我们已经准备好 ONNX 模型文件,接下来让我们使用 ONNX-MXNet 导入 API 将其导入 MXNet。在 Python 外壳中运行以下代码:

import onnx_mxnet
sym, params = onnx_mxnet.import_model('super_resolution.onnx')

此代码在 Python 运行时中创建了两个实例: sym – 模型的符号图和 params – 模型的权重。现在已完成导入 ONNX 模型,我们生成了一个标准的 MXNet 模型。

(more…)

Amazon IoT 安卓SDK 中国区实践

作者:任庆杰,AWS解决方案架构师。

简介

物联网(IOT)是现在非常火热的一个概念。那么怎么样利用AWS提供的IoT服务,快速在自己的安卓智能设备上搭建起IoT的消息推送和订阅呢?

本文将分两部分为你解读:

1)如何动态生成和绑定设备证书

2)如何利用MQTT协议接入Amazon IoT 平台

服务简介

AWS IoT平台

AWS IoT 是一种托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。AWS IoT 可以支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AWS 终端节点和其他设备。借助 AWS IoT,您的应用程序可以随时跟踪您的所有设备并与其通信,即使这些设备未处于连接状态也不例外。

Amazon Cognito

Cognito Identity 可让您轻松实现联合身份,您可以让用户通过Amazon, OpenID, SAML或者自定义的身份认证系统进行认证。匿名或认证登录后,IoT设备被赋予临时性受限权限凭证,可以利用此凭证访问 AWS 资源。

过程介绍

1.  获取连接IoT的权限证书

1)通过安装在安卓设备上的SDK连接Amazon Cognito,认证用户(本文示例将采用匿名模式),并且获取临时权限的Access Key和Secret Key。

2)使用临时权限向AWS IoT发起创建证书请求,激活证书并且下载。

3)将证书加密存储为Keystore在设备上,用以认证之后的IoT请求。Android Keystore保护你存储在设备上的证书,让它不容易被它人破解和提取。

2.  通过MQTT协议连接AWS IoT,并订阅和推送消息。

1)连接设备与AWS IoT,使用Keystore来通过认证

2)与AWS IoT的设备网关交互来订阅和推送消息

3)通过规则引擎还可以过滤消息,并调度AWS各种服务

操作指南

1.  配置环境

1)下载并安装Android Studio

2)下载样例代码https://github.com/awslabs/aws-sdk-android-samples/

3)在Android Studio中,创建导入项目,源指定为样例代码中的AndroidPubSub文件夹

4)修改build.gradle文件,引入支持中国区服务的Android SDK版本(大于等于2.6.7)。

替换

dependencies {

    compile 'com.amazonaws:aws-android-sdk-iot:2.2.+'

}


为

dependencies {

    compile 'com.amazonaws:aws-android-sdk-iot:2.6.7'

}

2.  配置Amazon Cognito

1)  在console上打开Cognito服务,创建新的身份池,启用未经验证的身份的访问权限,点击创建池。在下一页点击允许。

2)  记录下身份池ID

3)  console中点击进入IAM,在角色中找到Cognito_xxxxUnauth_Role (本例中为Cognito_android_iot_exampleUnauth_Role),加入一条新的内联策略。

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Effect": "Allow",

      "Action": [

        "iot:AttachPrincipalPolicy",

        "iot:CreateKeysAndCertificate"

      ],

      "Resource": [

        "*"

      ]

    }

  ]

}

3.  配置AWS IoT

1)  在console中进入AWS IoT服务,创建一个新的事物。点击新创建的事物,左边栏点击交互,记录Rest API的终端节点

2)  在左侧边栏,点击安全=》策略,创建一个新的策略

输入并记录下策略名称android_iot_example_policy

点击高级模式输入:

{

"Version": "2012-10-17",

"Statement": [

{

"Effect": "Allow",

"Action": [

"iot:Publish",

"iot:Subscribe",

"iot:Connect",

"iot:Receive"

],

"Resource": "*"

}

]

}

更多策略请见这里

4.  找到文件PubSubActivity,更新代码配置

// rest API 终端节点
private static final String CUSTOMER_SPECIFIC_ENDPOINT = "xxxxxxx.iot.cn-north-1.amazonaws.com.cn";
// Cognito身份池ID
private static final String COGNITO_POOL_ID = "cn-north-1:xxxxxxxx";
// 策略名称

private static final String AWS_IOT_POLICY_NAME = "android_iot_example_policy";
// Region填写CN_NORTH_1
private static final Regions MY_REGION = Regions.CN_NORTH_1;
// keystore存储名字
private static final String KEYSTORE_NAME = "yourkeystorename";
// keystore密码
private static final String KEYSTORE_PASSWORD = "yourpassword";
// 证书别名
private static final String CERTIFICATE_ID = "default";

5.  测试订阅和推送

1)  在android studio中运行项目AndroidPubSub项目。点击界面上的Connect按钮,等待Status变为“Connected”。在topic name处输入话题名称“to_android_device”,并点击SUBSCRIBE按钮。

2)  打开AWS控制台,进入IoT服务。点击左侧栏“测试”,点击生成客户端ID,并点击连接。

在订阅主题中输入“to_console”,并点击订阅主题按钮

3)测试从安卓设备发送消息到控制台客户端

在Topic中输入“to_console”,Message中输入“hello, console”,点击PUBLISH按钮

在控制台确认收到消息

4)从控制台客户端发送消息至安卓设备

在控制台点击“发布消息至一个主题”,在主题中输入“to_android_device”,内容输入“Hello,Android device”,点击发布到主题按钮

在安卓设备确认收到的消息

更多信息

在本文中,我们使用了Cognito的匿名模式来做身份认证。在生产中我们还可以使用Cognito的联合认证进行身份认证。

AWS IoT服务的规则功能使您的设备能够与 AWS 服务交互。基于 MQTT 主题流分析规则并执行操作。

作者简介:

任庆杰,AWS解决方案架构师。负责基于AWS的云计算方案架构的咨询和设计,同时致力于AWS云服务在国内和全球的应用和推广。在加入AWS前,拥有超过7年的软件开发和IT项目管理经验。

AWS Deep Learning Conda AMI 和 Base AMI 入门

今天,AWS 宣布发布两个新版本的 AWS Deep Learning AMI:基于 Conda 的 AMI 和 Base AMI。本文介绍有关如何充分利用新 AMI 的说明和其他资源。

带 Conda 托管环境的新 Deep Learning AMI

这些面向 Amazon LinuxUbuntu 的新 Deep Learning AMI 预安装了 Python 环境,用于使用 Conda 这个热门开源软件包和环境管理工具创建的深度学习。Conda 托管 Python 环境针对常见深度学习框架 (包括 Apache MXNet、TensorFlow、Caffe2、PyTorch、Keras、CNTK 和 Theano) 进行了预先配置。此外,每个 Python 环境都有两个版本 – Python 2 和 Python 3。使用 AWS 管理控制台登录 AWS EC2 实例之后,系统会提供一条控制台消息,列出所有 Conda 环境。

您也可以运行以下命令获取此列表:

conda env list

接下来,为所选深度学习框架 (如 MXNet) 激活 Python 环境,运行以下命令:

对于 Python 2

source activate mxnet_p27

对于 Python 3

source activate mxnet_p36

处于 Python 环境之后,可以运行以下命令查看已安装软件包的列表:

conda list

(more…)

面向机器学习从业人员的新 AWS Deep Learning AMI

我们非常高兴宣布推出两个新版本的 AWS Deep Learning AMI:一个是基于 Conda 的 AMI,它具有单独的 Python 环境,面向通过 Conda 这个热门开源软件包和环境管理工具创建的深度学习框架;另一个是 Base AMI,它带有 GPU 驱动程序和库,可用来部署您自己的自定义深度学习模型。

在学术界和业界,从框架和算法到新的方法和理论,深度学习技术正在快速发展。对于需要快速安全测试算法、针对特定版本框架进行优化、运行测试和设置基准或从头开始合作项目的开发人员而言,这一切显得非常复杂。虚拟环境可为这些工作提供自由和灵活性,这就是我们现在向 AWS Deep Learning AMI 加入虚拟技术的原因。我们还准备了全新的开发人员资源,以帮助您详细了解这些 AMI,帮助您为项目选择合适的 AMI以及深入学习实践教程

基于 Conda 的新 Deep Learning AMI

基于 Conda 的 AMI 预安装了 Python 环境,适合使用 Conda 创建的深度学习。每个基于 Conda 的 Python 环境都配置为包括常见深度学习框架及其依赖项。将它视为一个完全备份的虚拟环境,随时可以运行您的深度学习代码,例如,用来训练神经网络模型。我们的分步指南提供了有关如何为所选深度学习框架激活环境或使用简单的单行命令在不同环境之间进行切换的说明。

该 AMI 的优势不止于此。该 AMI 上的环境以相互隔离、独立的沙盒形式运行。这意味着,当您在沙盒内运行自己的深度学习代码时,可以全面了解和控制其运行时环境。您可以安装新软件包、升级现有软件包或更改环境变量,完全不用担心影响 AMI 上的其他深度学习环境。  这种级别的执行环境灵活性和精细控制还意味着您现在可以对深度学习模型运行一致和随着时间推移可再现的测试以及设置性能基准。

最后,该 AMI 提供直接集成 Jupyter Notebook 的可视化界面,因此可以切入和切出环境、在所选环境中启动 Notebook,甚至是重新配置环境,这一切操作都只需从 Jupyter Notebook 浏览器中单击一下鼠标。我们的分步指南介绍这些集成以及其他 Jupyter Notebook 和教程。

(more…)