亚马逊AWS官方博客

Elasticsearch 分片分配探秘

在这篇文章中,我们讨论了在 Elasticsearch 中执行分片放置和均衡决策所依据的算法。每次重新路由调用都要经历分配未指定的分片、移动必须从当前节点撤出的分片以及尽可能重新平衡分片的过程。这些操作可保持集群持久平衡。

Read More

使用 Amazon Kinesis Data Firehose 和 Amazon EMR 中的 Apache Spark 优化流式数据处理

对于大多数公司而言,处理不断增加的数据量并整合新数据源充满挑战。 通常,AWS 客户会收到来自各种连接设备和传感器的海量消息,这些消息必须先经过有效注入和处理,之后才能执行进一步分析。 通常 Amazon S3 是适合保存所有类型数据的地点。 但是,数据在 Amazon S3 中的存储方式会对后续数据处理的效率和成本产生重大影响。 具体而言,如果 Apache Spark 处理的是大量小文件而不是较少的大文件,则可能会因文件操作量大而承受巨大负担。 在这些文件中,用于打开每个文件、读取元数据信息和关闭文件都会占用几毫秒时间。大量文件操作占用的总时间较多,这会导致处理缓慢。这篇博文将介绍如何使用 Amazon Kinesis Data Firehose 将传送到 Amazon S3 的大量小消息合并为较大消息。 这样可以加快运行 EMR 服务 中运行的 Spark 的的处理速度

Read More

使用高级 Amazon CloudWatch 指标和 AWS Lambda 通过空闲检查和自动资源终止优化 Amazon EMR 成本

许多客户在开发环境中使用 Amazon EMR 运行大数据工作负载,例如 Apache Spark 和 Apache Hive 查询。数据分析师和数据科学家经常使用这些类型的集群,并将它们称为分析 EMR 集群。用户常常会忘记在完成工作后终止这些集群。这将导致集群空闲运行,进而增加不必要的成本。
在这篇博文中,我们将提出一种解决方案来减少这方面的成本。我们实施了一个 bash 脚本,将其安装在 EMR 集群的主节点上,并将该脚本计划为每 5 分钟运行一次。该脚本可监控集群并每 5 分钟向 CloudWatch 发送一次自定义指标 EMR-INUSE(0=非活动;1=活动)。如果 CloudWatch 在一些预定义数据点收到 0(非活动),则将触发警报,然后执行终止集群的 AWS Lambda 函数。

Read More

通过 Amazon EMR 重新配置动态修改集群

如果您是使用长期运行的 Amazon EMR 集群的开发人员或数据科学家,您将面临快速变化的工作负载。这些变化通常需要不同的应用程序配置才能在集群上以最佳方式运行。
通过重新配置功能,现在可以更改正在运行的 EMR 集群上的配置。从 EMR 版本 emr-5.21.0 开始,该功能允许您在不创建新集群或通过 SSH 手动连接到每个节点的情况下修改配置。

Read More

借助 AWS Step Functions 将回调 URL 用于批准电子邮件

这篇博文将向您展示如何创建 Step Functions 状态机,以使用 sfn-callback-urls 应用程序完成电子邮件批准步骤。可以在 AWS Serverless Application Repository 中找到该应用程序。该状态机会发送一封包含批准/拒绝链接的电子邮件,随后发送确认电子邮件。您可以轻松针对自己的使用案例扩展此状态机。

Read More

物联网设备在 OTA 场景下利用证书方式进行 AWS 平台资源的授权访问

为了保证物联网设备能够保持在功能上随时更新,并且在出现问题的时候及时得到修复。小到智能手环,空气净化器, 大到家用汽车,设备厂商无不是通过提供OTA(Over-The-Air)功能来提高用户满意度。在做设备的OTA升级之前,设备厂商通常会提前把需要设备加载的固件保存在可以被设备访问的存储空间里(如果是AWS,通常会保存在S3对象存储里),然后通知用户有新的固件可供升级。接下来用户通过Web或移动端去控制设备下载固件并完成升级过程。

Read More

认证授权专题(一) : Cognito, OIDC 实现 S3 精细化权限控制

S3 是一个对象存储服务,非常适合存储海量文件。它不仅支持从服务器端上传/下载 S3 中的内容, 同时允许客户从客户端直接上传/下载 S3 中的资源。在实际应用过程中,我们经常遇到这样的需求:只允许用户 上传/下载/删除/修改(CRUD) 自己的文件。本文将探讨利用 Amazon Cognito Identity Pool, OpenID Connect 实现精细化权限控制,限制用户只能访问自己的文件。

Read More

认证授权专题(二) : AWS STS, OpenID Connect 实现 S3 精细化权限控制

S3 是一个对象存储服务,非常适合存储海量文件。它不仅支持从服务器端上传/下载 S3 中的内容, 同时允许客户从客户端直接上传/下载 S3 中的资源。在实际应用过程中,我们经常遇到这样的需求:只允许用户 上传/下载/删除/修改(CRUD) 自己的文件。 本文将探讨如何利用 AWS STS, OpenID Connect 实现精细化权限控制,实现用户只能上传和查看自己在 S3 中的文件。

Read More