亚马逊AWS官方博客

新增 Amazon S3 加密和安全功能

早在 2006 年,当我宣布 S3 时,我写道:“此外,每个块都受 ACL (访问控制列表) 的保护,从而允许开发人员根据需要保持数据私有、共享以供读取或共享以供读写。” 起点是那个具有私有存储桶和用于授予访问权限的 ACL 的初始模型,此后我们添加了对存储桶策略、服务器访问日志记录、版本控制、API 日志记录、跨区域复制以及多个客户端和服务器端加密选项的支持,所有这些都是为了给您提供所需的工具,保护您的数据,同时允许您根据需要与客户和合作伙伴共享数据。我们还加入了人工智能和机器学习作为演绎元素,并推出了 Amazon Macie,这一工具可帮助您发现、分类和保护海量的内容。 今天,我们将要向 S3 中添加五个新的加密和安全功能: 默认加密 – 现在,您可以强制存储桶中的所有对象都必须以加密形式保存,而不必构造一个拒绝未加密对象的存储桶策略。 权限检查 – S3 控制台现在在每个可公开访问的 S3 存储桶旁边显示一个显眼的指示器。 跨区域复制 ACL 覆盖 – 当您跨 AWS 账户复制对象时,您现在可以指定对象获取一个新的 ACL,以便对目标账户进行完全访问。 涉及 KMS 的跨区域复制 – 您现在可以复制使用由 AWS Key Management Service (KMS) 管理的密钥进行加密的对象。 详细清单报告 – S3 清单报告现在包括每个对象的加密状态。该报告本身也可以加密。 让我们了解一下每个功能… 默认加密 您的 S3 对象有三个服务器端加密选项:SSE-S3 (使用由 […]

Read More

现已推出 – Amazon EC2 的计算密集型 C5 实例

我很高兴地宣布,新的计算密集型 C5 实例今天在三个 AWS 区域推出,有六种大小规格! 这些实例专用于计算密集型应用程序,例如批处理、分布式分析、高性能计算 (HPC)、广告服务、高度可扩展的多人游戏和视频编码。新实例提供了比 C4 实例高 25% 的价格/性能改进,对于某些工作负载可超过 50%。它们还有额外的每 vCPU 内存,而且 (对于可以利用新 AVX-512 指令的代码) 对于向量和浮点工作负载有两倍的性能。 多年来,我们一直在不停地工作,为客户提供可能的最佳网络、存储和计算性能,长期专注于将许多类型的工作分流到由 AWS 设计和建造的专用硬件上。C5 实例类型包含了我们的最新一代硬件分流,另外还在添加一个与我们的硬件密不可分地一起运行的新管理程序方面又迈出了一大步。新的管理程序允许我们让您访问主机硬件提供的所有处理能力,同时也使性能更加一致,并进一步提高了安全性的门槛。我们将在 AWS re:Invent 分享很多关于它的技术细节。 新实例 C5 实例有六种大小: 实例名称 vCPU RAM EBS 带宽 网络带宽 c5.large 2 4 GiB 最高 2.25 Gbps 最高 10 Gbps c5.xlarge 4 8 GiB 最高 2.25 Gbps 最高 10 Gbps c5.2xlarge […]

Read More

EC2 可转换预留实例更新 – 新的 1 年 CRI,合并和拆分

我们在大约一年前推出了 EC2 的可转换预留实例。可转换 RI 为您提供了大幅折扣 (与按需相比通常为 54%),并允许您更改与 RI 相关联的实例系列和其他参数 (如果需要更改)。 今天,我们推出具有 1 年期的可转换 RI,这是对现有的 3 年期的补充。我们还允许您交换部分 RI 以及执行批量交换,从而使可转换预留实例模型更加灵活。 新的 1 年期可转换 RI 具有 1 年期的可转换预留实例现已推出。这将给您更多选项和更多灵活性;您现在可以根据需要购买 1 年期和 3 年期可转换预留实例 (CRI) 的组合。有财政约束的初创公司将会发现这一选项颇具吸引力,而其他可能无法做出运行超过一年的承诺的企业也会觉得有吸引力。 合并和拆分可转换 RI 假设您开始在 M4 实例上运行 Web 和应用程序服务器并使用可转换 RI 来节约资金。稍后,在有了优化实践后,您可以将应用程序服务器迁移到 C4 实例。随着今天的推出,您可以用您的部分 M4 可转换 RI 来交换 C4 可转换 RI。您还可以合并两个或更多 CRI (可能用于较小的实例),获得一个 CRI 以用于较大的实例。 可转换预留实例的交换模型基于拆分、交换和合并。比方说,我拥有一个 3 […]

Read More

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