亚马逊AWS官方博客

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 […]

Read More

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 是一项 符合 […]

Read More

全新 – 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 […]

Read More

新交互式 AWS 成本管理器 API

我们在几年前发布了 AWS 成本管理器,以便您能够跟踪、分配和管理 AWS 成本。无论是该工具的发布还是之后进行的补充,反响都很不错。但是,客户的反应却和 Jeff Bezos 说的一样:“精美、出色,但不满意。” 我每天都对此深有感触。每当我们发布一些产品,就会激发客户提出更多要求。例如,当许多客户完全转向 AWS 云并将许多 IT 基础设施迁入其中后,就会请求获得馈送到成本管理器中的原始数据。这些客户希望以编程方式了解其 AWS 成本、按应用程序和部门成本更新账目和会计系统,构建用于汇总开支的高级别控制面板。有些客户甚至已经开始从成本管理器提供的图表和报告中提取数据并遇到了问题! 新成本管理器 API 今天,我们将以编程方式获得馈送到成本管理器中的基础数据。借助新成本管理器 API 提供的一组函数,您可以完成上述所有操作。您可以跨多个维度 (服务、关联帐户、标签、可用区等等) 对成本和使用率数据进行筛选和分组,按天或按月汇总,然后进行检索。这样一来,您就可以从简单处着手 (每月总成本),然后将请求细化到所需的任何细节层次 (写入已标记为 production 的 DynamoDB 表),并在数秒内就获得响应。 以下是具体操作: GetCostAndUsage – 使用筛选和分组功能检索单个账户或所有账户 (组织中的主账户可以访问所有的成员账户) 的成本和使用率指标。 GetDimensionValues – 针对指定筛选条件,检索指定时间段内的可用筛选值。 GetTags – 检索指定时间段内的可用标签键和标签值。 GetReservationUtilization – 使用每日或每月粒度,加上筛选和分组功能,检索指定时间段内的 EC2 预留实例使用率。 我相信这些函数及其返回的数据能够让您做一些真正有趣的事情,帮助您更好地了解自己的业务。例如,您可以标记用于支持各个市场营销活动或开发项目的资源,然后深入研究成本以衡量业务价值。现在,您就能够知道为了应对网络星期一或黑色星期五等重要事件而在基础设施上花了多少钱,分毫不差。 需知信息 在您开始思考如何使用 API 时,请记住以下几点: 分组 – 成本管理器 Web 应用程序为您提供了一个分组级别;API […]

Read More

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

在 AWS,我们通常不看重或庆祝周年纪念日。我们提供近 100 种服务,如果每个都纪念的话,那我们可能每周都要庆祝好几次,大家一起吃蛋糕、喝香槟。尽管这听起来很有趣,但我们宁愿将工作时间用在倾听客户需求和创新上。话虽如此,Amazon QuickSight 面世至今已有一年多了,我想在此为大家做一个快速更新! 操作中的 QuickSight 如今,成千上万的客户 (从初创公司到企业,遍及交通、法律、采矿和医疗保健等各行各业) 都在使用 QuickSight 来分析和报告其业务数据。 下面是几个示例: Gemini 为加利福尼亚州的工伤律师提供法律证据收集服务。他们需要完成一系列工作,从创建自定义报告和运行一次性查询到创建和共享动态 QuickSight 控制面板以及细分列表和筛选条件。QuickSight 用于跟踪销售管道、衡量订单吞吐量并发现订单处理流程中的瓶颈。 Jivochat 提供了一个实时消息收发平台,从而连接访客和网站所有者。借助 QuickSight,他们可以创建和共享交互式控制面板,并提供对基础数据集的访问权限。这样一来,他们不仅可以共享静态电子表格,还能确保所有人同时查看,并能够根据当前数据及时做出决策。 Transfix 是一个技术驱动的货运市场,可以满足零售、餐饮、制造和其他行业中位列财富 500 强的配送商的货运需求,并提高物流的可见性。借助 QuickSight,不管是 BI 工程师还是非技术业务用户都可以执行分析。他们审视关键的业务和运营指标,包括运输路线、配送公司效率和流程自动化。 回顾过去/展望未来 QuickSight 上的反馈意见非常有帮助。客户告诉我们,他们的员工都在使用 QuickSight 连接公司数据、执行分析并依据数据快速做出决策,而完成所有这些工作无需设置或运行他们自己的 BI 基础设施。我们很乐意听取任何反馈意见,并利用它们推动我们的路线图,从而在短短一年内推出 40 多项新功能。总结如下: 2016 年 12 月 – 推出 QuickSight 企业版。 2017 年 2 月 – 支持 Amazon Athena 和 […]

Read More

宣布为 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 格式方面参与合作。我们将与 Facebook、Microsoft 和深度学习社区合作,进一步开发 ONNX,让深度学习从业人员都可以访问和使用它。 什么是 ONNX? ONNX 是一种用于对深度学习模型进行编码的开源格式。ONNX 定义神经网络计算图的格式以及图中使用的大量运算符的格式。随着越来越多的框架和硬件供应商支持 ONNX,从事深度学习的开发人员可以轻松地在框架间移动,选择最适合当前任务的框架。 快速入门 我们将介绍如何使用 ONNX-MXNet 将 ONNX 模型导入 MXNet,以及如何使用导入的模型进行推理,从 MXNet […]

Read 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 […]

Read More

AWS Deep Learning Conda AMI 和 Base AMI 入门

今天,AWS 宣布发布两个新版本的 AWS Deep Learning AMI:基于 Conda 的 AMI 和 Base AMI。本文介绍有关如何充分利用新 AMI 的说明和其他资源。 带 Conda 托管环境的新 Deep Learning AMI 这些面向 Amazon Linux 和 Ubuntu 的新 Deep Learning AMI 预安装了 Python 环境,用于使用 Conda 这个热门开源软件包和环境管理工具创建的深度学习。Conda 托管 Python 环境针对常见深度学习框架 (包括 Apache MXNet、TensorFlow、Caffe2、PyTorch、Keras、CNTK 和 Theano) 进行了预先配置。此外,每个 Python 环境都有两个版本 – Python 2 和 Python 3。使用 AWS 管理控制台登录 AWS EC2 […]

Read 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 […]

Read More

使用 Amazon Rekognition 和图形数据库来了解电影明星的社交网络

Amazon Rekognition 是一种让您能够向应用程序中轻松添加图像分析功能的 AWS 服务。由深度学习提供技术支持的此计算机视觉 API 中增加的最新功能为名人识别。这项简单易用的功能能够检测并识别出各领域数以千计的著名、值得注意或广为人知的人士。用户可以利用该工具根据任何特定兴趣对名人的数字图像库编制索引和进行搜索。 我们看到客户存储个人相关数据的一种常见方式是使用图形数据库。在之前的博文中我们曾仔细讨论过,像 Facebook、LinkedIn 和 Twitter 这样的公司已凭借其对庞大关系网络的管理能力,让整个社会的互动方式发生了彻底变革。本博文的目的就是展示将 Rekognition 的名人及人脸识别功能与图形数据库中存储的关系信息进行配对是多么简单。 这些技术的配对让客户只需要一张图片就能够知道图片中的人物与另一位相关人物的关系。用户甚至可以提交两张图片,然后快速确定这两张不同图片中的两个人之间可能存在怎样的相互关系。这种关系映射的一个有趣例子就是著名的 Kevin Bacon 六度分割游戏。然而,此类应用存在巨大商业价值。执法机构可以从两张图片入手,先使用 Rekognition 来识别当事人,然后再通过查询图形数据库来判断两名当事人是否彼此相识。同样地,酒店类公司也可以使用 Rekognition 和图形数据库来快速识别酒店内的任何名人,以及了解有哪些他们可能认识的其他名人在附近住宿。 在本博文中,我们将展示如何将 Rekognition 与图形数据库(我们将使用Neo4j 社区版)和使用 D3.js 库的 Jupyter Notebook 结合使用。 设置 要开始使用这项令人兴奋的组合技术,首先要从 AWS 实验室 Github 存储库获得一份项目副本。该项目结构主要包含两个方面: <project root> – 这是实际的 Jupyter Notebook 及所有依赖项所在的位置。 <project root>/cft – AWS CloudFormation 模板、示例属性,以及创建基础设施的示例命令。 您将需要添加一个新的或现有的 SSH 密钥。AWS CloudFormation 模板会安装 […]

Read More