亚马逊AWS官方博客

AWS 价目表 API 更新 – 新增查询和元数据函数

原始 AWS 价目表 API (如新增 – AWS 价目表 API中所述) 使您可以通过结构化 URL 访问 JSON 和 CSV 形式的价格。虽然这对某些类型的成本管理工具很有效,但文件的大小和复杂性使得它们难以下载,而且难以解析。今天,我们将要通过添加新函数来更新 API,使您可以执行精细价格查询,从而仅返回您需要的价格。这将使您能够在移动应用程序和基于浏览器的应用程序中使用这些价格。 新增函数 下面是新增函数: DescribeServices – 返回用于定义服务中的产品的属性键集合。例如,为 EC2 返回的键将包括 physicalProcessor、memory、operatingSystem、location 和 tenancy。 GetAttributeValues – 返回给定属性键的所有允许值。例如,operatingSystem 键的值包括 Windows、RHEL、Linux 和 SUSE;location 键的值包括 US East (N. Virginia) 和 Asia Pacific (Mumbai)。 GetProducts – 返回与基于服务名称和属性值的筛选条件表达式匹配的所有产品及其公开价格。 您可以从 AWS 开发工具包中访问这些函数。为了试用它们,我使用了 Python 和适用于 Python 的 AWS 开发工具包。我首先导入开发工具包并创建客户端: […]

Read More

Amazon S3 深度实践系列之二:如何实现 S3 数据跨区域高效可靠传输

背景 在Amazon S3 深度实践系列之一:S3 CLI深度解析及性能测试一文中,我们深度剖析了AWS CLI S3相关命令的实际工作原理及单机下载S3数据的基本性能测试情况。在实际工作场景中,很多客户会在AWS多个区域的S3桶里面存储大量数据,而且会遇到将数据批量从一个区域一次转移到另外一个区域的情形;因此,在本篇中,作者和大家一起来探讨下出现这样的需求我们如何进行架构设计及高效实现。 架构设计 存储在S3中的对象随着时间的推移,对象数量逐渐增加,而且总体的数据量也不断膨胀,如果碰到需要将数据从某一个区域的S3存储桶完全复制到另外一个S3存储桶里面,我们会遇到哪些挑战呢? 网络传输带宽的限制 存储桶里面所有对象的分析和列表 源存储桶和目标存储桶权限的设定 传输失败识别和重试的挑战 如何利用并发来加速传输及降低成本 如何判断目标存储桶中的对象和源存储桶中的对象差异及完整性 在通用架构设计环节,我们将复杂的问题分解成一系列的子问题进行分析,并讨论在不同场景下的具体实现时要考虑的因素。如下图所示,我们将该任务分解成独立的五个环节,从图上我们也可以看出来,如何实现大规模数据或任务的并发执行是每个环节能否高效完成的一个很关键的技术要求;而且,只有在步骤三执行数据传输任务时,才会涉及到具体场景中的技术限制,因此我们在执行数据传输任务章节来讨论,同区域不同存储桶之间,AWS海外不同区域存储桶之间,以及AWS海外和国内不同存储桶之间的具体技术考量点。 S3对象“清单” 了解源和目标存储桶里的S3 对象是非常重要的准备工作,该章节我们讨论,如何获得S3存储桶的所有对象列表,包含对象的基本的信息,比如最新版本的对象大小,ETag等等。 Amazon S3本身提供了存储桶管理功能之清单生成功能,该功能是一个异步的AWS后台定期执行,可以实现每天生成一个存储桶清单保存成Excel格式。 同时我们也看到很多用户提问,如何实现一个自定义的清单功能,满足大家对于对象变化比较频繁的存储桶对象的实时统计场景以及更多高级自定义的业务逻辑。 接下来我们来看看这两种方法的具体实现逻辑。 利用S3 CLI实现高效的清单功能 作者利用AWS S3 CLI实现高效的清单功能基于以下两个事实前提: s3api 的 list-objects-v2虽然文档中说明最多返回1000个对象,但实测可以获得所有对象列表 同样利用s3api 的 list-objects-v2的delimiter和prefix参数,我们可以实现类似文件夹目录逐级扫描功能 基于以上两个事实,我们实现桶清单的主要逻辑如下图所示: 输入参数主要是:bucket,region和IAM 配置的profile名字,profile默认为default;另外depth控制扫描的“目录”层级 当depth为零时,我们直接尝试利用list-objects-v2一次性获取存储桶中所有对象列表并生成一个json格式的文件(但当桶里面对象太多时,该操作会超时) 当depth为零即单线程无法直接生成存储桶清单时,我们就尝试如下迭代逻辑: 生成存储桶当前“目录”里面的所有对象和该目录中所有“子目录”列表 遍历上一步的“子目录”列表,迭代生成该目录下的对象列表和“子目录”列表 如果遍历的深度等于输入参数depth=n,或者“子目录”列表为空,那么停止遍历子目录,直接生成该层级“目录”里面所有的对象列表 以下是几个关键点实现的代码说明,首先,生成某个“目录”前缀下所有对象列表的AWS S3 CLI命令参考,如下命令将在操作系统后台执行并生成存储桶jason中“目录”前缀“qwikLabs/”下的所有对象列表(包括所有嵌套“子目录”中的所有对象): $ nohup aws s3api list-objects-v2 –bucket “jason” –prefix “qwikLabs/” –profile […]

Read More

如何使用Amazon EC2 Systems Manager自动创建数据一致的EBS快照(Part 2)

作者:王宇 上一期我们讨论了如何在不关机的前提下实现AWS上实例的数据一致性快照问题,传送门:《如何使用Amazon EC2 Systems Manager自动创建数据一致的EBS快照(Part 1)》 在本文的介绍中,我们将共同探索如何利用Amazon EC2 Systems Manager(SSM)和Microsoft VSS (Volume Shadow Copy Service)来创建数据一致的EBS快照。 SSM + VSS数据一致快照的原理 VSS (Volume Shadow Copy Service)是一个Windows操作系统内置的服务,用来协调与VSS兼容的应用程序(如SQL Server、Exchange Server等)的备份工作,如冻结或释放这些应用程序的I/O操作等。 VSS服务能够启动和监督副本拷贝的创建。“副本拷贝”是指一个逻辑卷在某一个时间点上的数据一致快照。比如:“C:”是一个逻辑卷,它与EBS快照不同。创建副本拷贝的步骤包括: 请求方向VSS发出创建副本拷贝的请求。 VSS provider创建并维护副本拷贝。 VSS写入器(writer)保证数据的一致性。写入器负责在VSS provider创建副本拷贝之前固化临时数据并冻结I/O操作,并在VSS provider完成创建后释放I/O操作。通常情况下,会为每一个与VSS兼容的应用程序分配一个独立的写入器(writer)。 我们可以使用Run Command在windows实例中运行一个PowerShell脚本: $EbsSnapshotPsFileName = “C:/tmp/ebsSnapshot.ps1” $EbsSnapshotPs = New-Item -Type File $EbsSnapshotPsFileName -Force Add-Content $EbsSnapshotPs ‘$InstanceID = Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/instance-id’ Add-Content $EbsSnapshotPs ‘$AZ = […]

Read More

利用 Amazon CloudWatch 监控 GPU 利用率

深度学习需要进行大量的矩阵相乘和向量运算,而 GPU (图形处理单元) 可以并行处理这些运算,因为 GPU 拥有数以千计的核心。Amazon Web Services 为您提供的 P2 或 P3 实例非常适用于运行深度学习框架,如 MXNet,该框架强调加速部署大型深度神经网络。 数据科学家和开发人员在微调网络时,希望优化其 GPU 的利用率,以使用最适当的批处理大小。在这篇博文中,我将向您展示如何使用 Amazon CloudWatch 指标监控 GPU 和内存的使用情况。至于 Amazon 系统映像 (AMI),我们建议您的实例使用 Amazon Deep Learning AMI。 要监控和管理已启用 GPU 的实例,目前常见的有益做法是使用 NVIDIA 系统管理接口 (nvidia-smi),这是一个命令行实用程序。用户可以利用 nvidia-smi 查询 NVIDIA GPU 设备的 GPU 利用率、内存消耗情况、风扇使用情况、功耗以及温度信息。 由于 nvidia-smi 的基础是 NVIDIA Management Library (NVML),所以我们可以使用这个基于 C 的 API 库捕捉相同的数据点,并作为自定义指标发送给 Amazon CloudWatch。如需了解有关此库的更多信息,请转至参考手册。在这篇博文中,我们将使用此库的 Python […]

Read More

不要错过:了解 AWS 的一些最新发布

如此多的发布和云创新,正在以令人难以置信的速度接踵而来。这篇迟来的博文会概要介绍今年夏天直到九月底发布的一些非常棒的服务和功能。 今天我希望与您分享的发布和功能有: 对 RDS MySQL 和 Amazon Aurora 的数据库用户使用 AWS IAM 进行身份验证 Amazon SES 声誉控制面板 Amazon SES 打开和单击跟踪指标 解决方案构建器团队推出的无服务器映像处理程序 解决方案构建器团队推出的 AWS Ops Automator 现在就让我们来深入了解一下吧! 对 RDS MySQL 和 Amazon Aurora 的数据库用户使用 AWS IAM 进行身份验证 您是否一直希望能够使用 AWS IAM 管理对 Amazon RDS 数据库实例和集群的访问权限?现在您的梦想成真了。Amazon RDS 已发布了这个功能,您可以使用 IAM 管理对 Amazon RDS for MySQL 和 Amazon Aurora 数据库的访问权限。 对于这个全新服务功能,最令我欣喜的是它非常容易上手。要使用 IAM […]

Read More

全新 – AWS Direct Connect 网关 – 跨区域 VPC 访问

准备写这篇文章时,我回顾了一下 2012 年当我们推出 AWS Direct Connect 时我写过的博客文章。应企业客户的要求,我们创建了 Direct Connect 让他们建立到 AWS 区域的专用连接,以追求更高的私密性、更多数据传输带宽和更易预测的数据传输性能。从开始时的一个 AWS 区域、一个 colo,Direct Connect 现在遍布每个公有 AWS 区域,并且可从分散在全球各地的数十个 colo 进行访问 (上次统计超过 60 个位置)。我们的客户现已全心投入于 Direct Connect,我们也添加了一些功能,例如 链接聚合、Amazon EFS 支持、CloudWatch 监控和 HIPAA 资格。仅在过去五周内,我们就已在休斯顿 (德克萨斯州)、温哥华 (加拿大)、曼彻斯特 (英国)、堪培拉 (澳大利亚) 和 珀斯 (澳大利亚) 增加了 Direct Connect 位置。 如今,我们通过增加 Direct Connect 网关让 Direct Connect 变得更简单但更强大。我们还在为所有区域中的 Direct Connect 客户提供创建公有虚拟接口的能力,公有虚拟接口可以接收我们的全局 IP 路由,并且可以访问我们的服务的公有终端节点和更新 […]

Read More

Apache MXNet 版本添加了对新的 NVIDIA Volta GPU 和 Sparse Tensor 的支持

我们对 Apache MXNet 版本 0.12 的发布感到很兴奋。MXNet 社区的参与者密切合作,为用户带来了新的增强功能。在此版本中,MXNet 添加了两项新的重要功能: 对 NVIDIA Volta GPU 的支持,这使用户能够大大减少神经网络模型的训练和推理时间。 对 Sparse Tensor 的支持,这使用户能够以最有利于存储和计算的方式使用稀疏矩阵训练模型。 对 NVIDIA Volta GPU 架构的支持 MXNet v0.12 版本添加了对 NVIDIA Volta V100 GPU 的支持,这使客户训练卷积神经网络的速度比 Pascal GPU 的速度快 3.5 倍。训练神经网络涉及数万亿次的浮点数 (FP) 乘法与加法运算。这些计算通常已使用单精度 (FP32) 完成以实现较高的准确度。但是,最近的研究表明,用户可以通过使用半精度 (FP16) 数据类型的训练获得与使用 FP32 数据类型的训练相同的准确度。 Volta GPU 架构引入了 Tensor Core。每个 Tensor Core 每个时钟周期可执行 64 次乘法和加法混合运算,约为每个 CUDA 核心在每个时钟周期内执行的 […]

Read More

混合云架构顿悟时刻

每周,我都会与好几个高管会面,他们正在使用云改变技术为其业务带来价值的方式。开始使用云的动机各不相同,但在我的谈话中,一个始终如一的主题是云可让组织将更多的资源投放在其核心业务上、更快地移动且更安全。 这种转变不会在一夜之间发生,我经常将这个过程称为旅程。在此期间,您的企业仍然需要运营现有 IT 资产以保持业务正常运行。虽然我提及的大多数企业都正在将其 IT 项目组合中的部分或全部项目迁移到云,但他们也意识到,云并不是一个“全有或全无”的价值主张。当每个企业都意识到这一点时,他们就能够将其本地 IT 资产与云联系起来,并利用这种联系逐渐将其 IT 项目组合的重心迁移到云。 去年,我写了有关云中的混合架构的三个神话的文章,时至今日,我在与高管讨论混合云架构时仍会遇到这些问题。如果您仍在梳理有关您的组织的混合云架构的观点,我建议您考虑一下我在那篇文章中提到的要点。 这篇文章的其余内容详述了当我担任 Dow Jones 的首席信息官以及我们首次实现混合云架构时,我的团队和我的“顿悟”时刻。 混合顿悟时刻 2012 年,我的老板 (随后成为了 Dow Jones 的首席执行官) 提出了一个假设,我们都认为这是一个巨大的商机:如果华尔街日报 (Dow Jones 旗舰 B2C 产品之一) 的所有订户拥有全球大部分财富,Factiva 和 Dow Jones Newswires (Dow Jones 的 B2B 产品) 的所有订户管理全球大部分财富,那么我们可以为他们提供一种用于相互联系和通信的机制来创建一个有价值的平台。 我们从零开始,并且想快速行动。我们组建了一个非常小的工程师和设计师团队来构建这个概念,让他们能够自由地选择他们认为可以完成这项工作的工具。6 周后,通过几个开源的自动化 AWS 服务以及大量的艰苦工作,我们便启动并运行了一个高可用性且不受灾难影响的应用程序。我们新发现的将技术交付给业务的能力很快成为了我们的“英雄”项目,并帮助我们鼓励我的团队和管理层利益相关者与我们一起踏上旅程。 随着我们将此应用程序集成到我们的更多产品中,我们发现还需要将它与我们的一些仅限内部使用的身份管理系统集成。这些系统中的一些系统不会 (也不应) 公开到 Internet 上,因此无法通过我们的在公共 Internet 中的 AWS 上运行的应用程序进行访问。 我们的网络、基础设施和开发团队的工程师已开始寻找解决这个问题的方法。经过一番研究,我们发现我们可利用 Amazon VPC 在我们内部的 IP […]

Read More

向员工传授云知识时需要考虑的 11 个注意事项

告诉我,我会忘掉。教导我,我会记住。让我参与,我能掌握。- Benjamin Franklin 我在上一篇文章中提到,只要让员工接受适当的教育,您就拥有了充分发挥云技术优势所需的资源。 那么,您 (首席变更管理官) 该如何教育员工,以便他们能够加快您的云之旅?每个组织的云之旅都将是独一无二的,但根据我的观察,取得成功的组织还是有一些共通之处的。以下是有关这些共通之处的 11 个注意事项: 1. 从有意义但很基本的事情做起。 当您的团队完成对业务至关重要的事情后,他们会即刻明白云技术的实际优势。我见过有些公司将工作重点放在了无足轻重的小事上面,结果,他们取得的进展比预想的要慢。当然,您肯定不希望在头几个项目上冒太大的风险,但您需要从足够重要、能够展示业务收益的项目开始。这样的项目有很多 — 简单的网站、移动应用程序、简化数据访问的 API 或文件备份/灾难恢复改进项目。如果将团队教育扎根于实际应用之中,他们就能更快地将学到的知识应用于更多的项目。 2. 利用 AWS 培训。 我在以前的文章中提到过 AWS 提供的几个很好的培训项目。这些项目帮助了成百上千家公司掌握了云技能。AWS 将每次培训合作都当成是改进的机会,开发了多样化的课程和各种授课机制,允许组织定制满足其特定需求的培训。我在道琼斯工作时,我们团队里的几乎每一位技术人员都接受过培训,这些培训内容后来汇总成了 AWS 技术基础知识课程。除了帮助我们的员工获得新技能以外,这些培训还打消了他们刚刚踏上云之旅时出现的莫名恐惧感。 3. 给团队一些时间进行试验。 营造试验文化是云之旅的下一条最佳实践,在激励员工学习时,这一点非常有用。创新来自于试验。借助云技术,您不必进行大量前期投资就能尝试各种新想法,这可帮助您的团队创造出颠覆性的行业产品。给您的团队一些自由度,让他们以新的方式实现现有项目。 4. 设定鼓励学习和试验的目标。 大多数公司会为员工设定目标和/或关键绩效指标,并将这些目标与绩效挂钩。这些现有机制是强化您的策略并产生您所期望的行为的良好途径。您可以围绕各种主题设置目标,例如:相关培训课程的完成度、释放了多少预算、采用适当的云架构后运营卓越性有多大改善等。这样做可以传递“领导层真心希望为每个人创造试验和学习机会”的信号。 5. 设定时间限制和前进步伐。 当您转向试验文化时,这一点尤为重要。毕竟,结果才是最重要的。您可以通过设定每个项目的截止日期来帮助团队成员在试验和运用其已学到的知识之间取得平衡。有时,您的团队可能会因为这些约束而作出妥协。随着云之旅进程的深入,您需要制定一个应对此类妥协的机制。但是,您的团队将一刻不停地学习和提高技能,以便为下一个项目做好准备。 6. 发现并消除变革阻力。 所有这些注意事项都旨在为员工提供帮助他们获得成功所需的工具,以减少员工对变革的抵制。但即使做好所有这一切,您的组织中还是会有人继续抵制变革。在阐明目的一文中,我对这一挑战作了说明。您需要理解团队的忧虑,心平气和地看待做得好和做得不好的地方,并迅速消除不必要的摩擦。这引出了我要讲述的下一个要点。 7. 不要害怕赋予员工新的角色。 以有意义的方式迁移到云不仅仅是技术转型,同样也是一场文化变革。我发现,给予员工担任新角色的机会可以帮助他们克服对变革的抵制。我一直偏向于首先检视公司内部,因为系统知识非常宝贵,通常是不必要的损失。在 Bloomberg 的 11 年任期里,我担任过六种差异极大的角色。拥有如此多的机会是我一直呆在 Bloomberg 的主要原因之一。寻找为员工提供新机会的方法可加强他们的参与感,有助于留住员工。 8. 向员工指明其在组织整体蓝图中的作用。 当您知道自己在组织大局中的作用时,很容易对自己的工作感到兴奋。请务必考虑到每一个角色,并传达其在团队中的重要作用。我再强调一下,了解组织如何将其目标与部门和/或个人目标协调一致,并找到一种方法来针对每个角色进行调整。 9. 参加行业活动,了解他人在做些什么。 大多数人可从他人的成功和失败经历中学到很多东西。到目前为止,我从事为大型公司制定云支持技术战略的工作已经五年多了。但令我惊讶的是,每次出席 AWS re:Invent、AWS 峰会及其他技术活动,我还是能学到不少的知识。请给您的员工一些时间,让他们梳理知识、了解新思想。了解各种各样的想法 (即使是您确定不会赞同的想法) 是创造教育机会和加强您的策略的良好途径。 10. 向您的合作伙伴学习。 […]

Read More

产品更新 – Amazon EC2 P3 实例多达 8 个 NVIDIA Tesla V100 GPUs 提供支持

自从我们于 2006 年发布最初的 m1.small 实例以来,在客户需求的推动以及不断发展的先进技术的支持下,我们后续推出了各种强调计算能力、超频性能、内存大小、本地存储和加速计算的实例。 新的 P3 现在,我们正在打造下一代 GPU 加速的 EC2 实例,这些实例将会在 4 个 AWS 区域提供。P3 实例由多达 8 个 NVIDIA Tesla V100 GPU 提供支持,可用于处理计算密集型的机器学习、深度学习、计算流体动力学、计算金融学、地震分析、分子模拟和基因组学工作负载。 P3 实例使用运行速度可高达 2.7 GHz 的 Intel Xeon E5-2686v4 定制处理器。有三种大小的实例可供选择 (所有均仅限 VPC 和 EBS): 模型 NVIDIA Tesla V100 GPU GPU 内存 NVIDIA NVLink vCPU 主内存 网络带宽 EBS 带宽 p3.2xlarge 1 16 GiB […]

Read More