亚马逊AWS官方博客

Tag: Amazon S3

S3 智能分层增加存档访问层

今天,我们将为 S3 智能分层发布两项新的优化,它们将自动存档很少访问的对象。这些新的优化将减少一次性存档具有不可预测访问模式且数月未访问的对象所需的手动工作量。

Read More

在 AWS 上构建自动驾驶和 ADAS 数据湖

本博客介绍了如何使用此参考架构构建自动驾驶数据湖。我们讨论的工作流范围从如何提取数据、为机器学习准备数据、将 ADAS 系统和车辆传感器的输出进行编目、对其进行标注、自动检测场景,到管理那些将其移动到有组织的数据湖构造所需的各种工作流。开发 AWS 自动驾驶和 ADAS 数据湖参考架构之前,我们曾与众多客户合作应对实现这一目标所面临的挑战。

Read More

利用 AWS SageMaker BlazingText 对不均衡文本进行多分类

本文使用了 SageMaker BlazingText 实现了文本多分类。在样本不均衡问题上,使用了回译和 EDA 两个方法对少类别样本进行了过采样处理,其中回译方法调用了 AWS Translate 服务进行了翻译再翻译,而 EDA 方法主要使用同义词替换、随机插入、随机交换、随机删除对文本数据进行处理。 本文也使用了AWS SageMaker 的自动超参数优化来为 BlazingText 的文本分类算法找到最优超参数。

Read More

使用 AWS Batch 轻松玩转遥感计算

随着卫星发射技术的成熟,以及大数据和人工智能技术的发展,遥感数据应用越来越多。AWS Open Data以及以AWS Batch 为代表的批量计算服务可以帮助客户随时启动数千台计算节点,帮助客户缩短项目周期,降低运维成本。本Blog旨在给客户使用AWS Open Data 以及AWS Batch 提供使用引导,降低他们的学习门槛。

Read More

使用 AWS Glue 和 Amazon Redshift 分析您的 Amazon S3 支出

AWS 成本和使用情况报告 (CUR) 会追踪您的 AWS 使用情况,并提供与之相关联的预计费用。您可以配置此报告为以小时或日为间隔显示数据;在账单收费期最后结束前,它至少每天会更新一次。成本和使用情况报告会自动发送到由您指定的 Amazon S3 存储桶,可以在那里直接下载。您还可以将该报告整合到 Amazon Redshift,也可以通过 Amazon Athena 进行查询,或者把它上传到 Amazon QuickSight。

Read More

使用 HBase on Amazon S3 设置只读副本集群

许多客户已经在享受使用HBase on Amazon S3的众多好处,包括更低的成本、更好的数据持久性和更便捷的可扩展性。美国金融业监管局 (FINRA) 已通过迁移到 HBase on Amazon S3架构将成本降低了 60%,并通过将存储与计算解耦以及将 S3 用作存储层获得了众多运营优势。HBase on Amazon S3允许您启动集群并立即开始对 S3 中的数据进行查询,而不必执行冗长的快照还原过程。

Read More

Amazon S3新版管理控制台的正确打开方式

Amazon Simple Storage Service(简称S3)是AWS在2006年发布的第一款云服务产品,S3作为对象存储具有海量存储、接口灵活、11个9持久性、价格便宜等特点,特别适合存放静态文件如图片、视频、日志以及备份文件等等,同时S3是AWS大数据解决方案中重要组成部分,以EMRFS的形式与EMR(AWS托管的Hadoop平台)结合提供计算与存储分离的灵活架构。 熟悉S3控制台的小伙伴一定发现,自从5月份开始,控制台的界面焕然一新,甚至有点无处下手,但熟悉起来后又有些爱不释手,下面我们将介绍下新版控制台带来了哪些新的功能,以及如何给你的工作带来极大效率提升。 新版控制台的操作说明,图文并茂,详见: http://docs.amazonaws.cn/AmazonS3/latest/user-guide/what-is-s3.html 一、创建存储桶 创建存储桶的时候除了配置桶名、存储桶区域之外,还可以配置版本控制、日志、标签以及访问权限,现在用户可以在新版控制台使用“从现有存储桶复制设置”的功能,选择相同配置的存储桶即可,避免重复设置。 二、上传对象 在控制台下除了正常的通过点击上传按钮选择上传文件完成上传外,新版控制台支持在存储桶界面下,直接将待上传的对象拖放到页面上。通过新版控制台上传单个文件支持最大78GB。 对存储桶中对象的上传、删除、重命名等操作,页面底部可以看到该操作的进度及其他操作的历史记录。 三、ACL 我们可以通过配置存储桶及对象的ACL来实现存储桶和对象的访问控制,老版控制台的部分名称容易让人引起歧义,以存储桶ACL为例,如下图所示,其中查看权限是指查看该存储桶权限的权限,即查看该存储桶ACL的权限,而不是指查看存储桶的权限,编辑权限同样是指编辑权限的权限,不是编辑存储桶的权限。 在新版控制台中很好的避免了这点误区,分对象访问和权限访问,这里以存储桶的ACL举例,见下图: 其中一个新功能是我们可以在管理用户处添加其他帐号的规范ID(https://docs.aws.amazon.com/zh_cn/general/latest/gr/acct-identifiers.html )或帐号的Email向该帐号中的IAM user/role授权访问,以实现跨帐号访问,需要注意的是对方帐号的IAM user/role拥有对该存储桶的操作权限取决于此处我们设置的ACL以及对方帐号中IAM user/role本身policy设定的权限。 四、标签Tag S3标签是随S3新版控制台一起发布的一个服务特性。标签可以帮助你对存储桶以及对象进行分类或标记,类似我们给EC2等资源添加标签一样,每个S3标签也是一个键值对,每个对象最多可添加10个标签键值对,键值对大小写敏感。通过使用标签,我们可以创建基于标签的IAM policy以实现细粒度的权限控制,比如标签为PHI的值为true时,仅供只读。同时,在使用S3数据生命周期管理、分析、指标等功能的时候,可以创建基于标签的过滤器,实现细粒度的资源管理。 S3 标签作为新服务特性,相应的API也同步发布,比如PUT Object tagging, GET Object tagging, DELETE Object tagging以及其他支持标签的API如PUT Object, GET Object, POST Object, PUT Object-Copy,详细可参考: http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/object-tagging.html 需要注意的是,标签遵循最终一致性模型。 五、生命周期管理 数据通常从创建后会经历频繁访问、低频访问、极少访问的数据热度周期,相对于热数据,冷数据适合以成本更低的方式存储,比如热数据存放在S3 standard,冷数据存放在S3-IA,归档数据存放在Glacier等,以达到成本最优的目标。我们可以使用S3数据生命周期管理通过配置相应的规则来实现数据的生命周期管理,随着S3标签的发布,现在我们可以创建基于前缀和/或基于标签的规则,以实现更细粒度的资源管理。详细操作步骤见: http://docs.amazonaws.cn/AmazonS3/latest/user-guide/create-lifecycle.html 六、存储类分析 存储类分析是新发布的功能,通过该工具,我们可以更加直观的了解到存储桶中的数据活跃情况,帮助我们决策何时将不常访问的数据从S3 Standard转换为S3-IA,即为配置数据生命周期管理提供数据支持。 同时,可以创建筛选条件,选择对整个桶中对象或者具有某些前缀或标签的对象进行分析,即对对象进行分类分析,需要注意的是,分析是从启用该功能后一段时间后才能看到结果(通常是24~48小时),并不是可以立刻可以看到分析结果。 通过存储类分析,我们可以可视化的了解到存储桶数据在过去30天的检索量,占比,以及多个时间范围段内数据存储与检索的情况,该数据每天更新,并且可以以csv的格式导出到S3存储桶以供下载,可使用Quicksight等BI工具进行展现。 csv中字段说明见: http://docs.amazonaws.cn/en_us/AmazonS3/latest/dev/analytics-storage-class.html#analytics-storage-class-export-to-file 配置存储类分析详细操作步骤见: http://docs.amazonaws.cn/AmazonS3/latest/user-guide/configure-analytics-storage-class.html […]

Read More

客户端直连S3实现分片续传思路与实践

Amazon S3是互联网存储解决方案,能让所有开发人员访问同一个具备可扩展性、可靠性、安全性和快速价廉的数据存储基础设施。Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 互联网上的任何位置存储和检索任何数量的数据。开发人员可以利用Amazon提供的REST API接口,命令行接口或者支持不同语言的SDK访问S3服务. 同时S3对于上传功能的API提供也是非常丰富的,与此同时,很多客户对于S3的断点续传也有了很深入的需求,本篇博客将会介绍如何使用S3的Javascript SDK来实现客户端浏览器到S3的断点续传功能. 安全考量 首先我们需要度量在浏览器客户端直连上传到S3这个场景下的安全问题,我们是一定不能把我们的AccessKey暴露到客户端浏览器的,但是上传到S3的API一定要提供AccessKey和SecretKey,因此这里我们将会利用生成临时的AccessKey和SecretKey(结合有效期)的方式来保证客户端的上传,这里介绍一篇关于利用TVM (Token Vending Machine)来生成临时Key并上传S3的文章,本文主要探讨关于S3的分片上传和断点续传的知识点. Javascript SDK和S3 API简介 从整体编程语言架构的层面上来讲,AWS的各个语言的SDK都主要划分为上层和下层的API, 上层API主要是针对一些用户必要的功能利用下层API所作的一层封装,掌握了这个原则之后我们就可以合理的利用AWS的上层API看能否实现自身的需求. Javascript SDK文档总结 在掌握SDK之前,我们应该先对SDK的文档和大致的结构有一个了解,这样才能方便我们更好的使用SDK, 下面列出了SDK的官网入门连接和API参考文档. API参考文档: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html S3 API参考文档: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html 构建SDK中的S3对象 首先,AWS的SDK都是先需要利用Credentials来构建对象的,这里我们构建S3的对象也是如此,但是请注意一定不能将自己的Key暴露在客户端或者提交到代码中,应该使用 TVM获取了Key之后再利用AWS.Credentials对象来构建S3的对象. 在构建S3对象时,也需要同时指定AWS的Region. 利用上层Javascript API构建简单的分片断点续传功能 接下来,我们一步一步的来创建上层API构建断点续传的实践. 1. 创建工程 这里我们以node.js平台的express来提供简单的静态服务. 本文不会涉及如何安装node.js,关于安装指南,可以参考官网nodejs.org 首先利用npm包管理器安装express模版生成器: npm install express-generator -g 完成后我们利用命令行生成项目: mkdir s3upload express –view=ejs 这里的–view=ejs主要指定ejs作为express的html模版引擎,方便我们的测试. 创建好之后的工程结构如下图: 2. 编写页面UI 这里我们通过引入<script […]

Read More

利用S3fs在Amazon EC2 Linux实例上挂载S3存储桶

背景介绍 Amazon S3是互联网存储解决方案,能让所有开发人员访问同一个具备可扩展性、可靠性、安全性和快速价廉的数据存储基础设施。Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 互联网上的任何位置存储和检索任何数量的数据。开发人员可以利用Amazon提供的REST API接口,命令行接口或者支持不同语言的SDK访问S3服务。 对于原来使用本地目录访问数据的应用程序,比如使用本地磁盘或网络共享盘保存数据的应用系统,如果用户希望把数据放到S3上,则需要修改数据的访问方式,比如修改为使用AWS SDK 或CLI访问S3中存储的数据。为了让用户原来的应用系统能在不做修改的情况下直接使用Amazon S3服务,需要把S3存储桶作为目录挂载到用户服务器的本地操作系统上。常用的挂载工具有S3fs和SubCloud等。本文主要介绍如何利用S3fs将S3存储桶挂载到Amazon EC2 Linux实例上。 S3fs介绍 S3fs是基于FUSE的文件系统,允许Linux和Mac Os X 挂载S3的存储桶在本地文件系统,S3fs能够保持对象原来的格式。关于S3fs的详细介绍,请参见:https://github.com/s3fs-fuse/s3fs-fuse 利用S3fs挂载S3存储桶 一、准备 使用拥有足够权限的IAM账号登录AWS控制台。 创建S3存储桶,给存储桶命名如“s3fs-mount-bucket”(如果使用已有存储桶,本步骤可略过)。      3. 创建具有该S3存储桶访问权限的 IAM 用户,并为该IAM用户创建访问密钥。 a) 关于如何创建IAM用户,请参见:http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_users_create.html#id_users_create_console b) 关于如何为IAM用户创建访问密钥,请参见:http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_credentials_access-keys.html c) 关于如何为IAM用户设置权限策略,请参见:http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/access_policies_create.html https://aws.amazon.com/cn/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/ 4. 创建并启动Amazon EC2 Linux实例 具体过程请参见:http://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/launching-instance.html 二、安装和配置S3fs 安装s3fs a) 使用Amazon EC2默认用户“ec2-user”和对应的私钥文件登录启动的Linux实例(请注意将下边例子中的私钥文件和ec2实例域名替换为用户自己的值) ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com b) 安装必要的软件包 sudo yum install […]

Read More