【每周快报】0514-0520 AWS 服务更新
焦点新闻
Amazon Forecast 支持填补丢失值
关于时间序列预测中时常会碰到某时段或某区间缺少数值,原因可能是格式问题或人为错误。例如:当我们在预测零售商店的产品需求,但该商品已经卖完了,所以暂时没有销售纪录,该笔资料则变成了遗失值。为了让模型可以更准确预测,因此我们常使用平均值、中位数等方法填补遗失值,藉此让数据更完整。
在过去我们需要先将时间序列的空值补好后再上传至 Amazon Forecast,而透过此次更新后,Amazon Forecast提供多种常见填补遗失值方法,例如:平均值、零、中位数等。
Forecast 支持填补遗失值的功能也会因为使用的预测方法不同而有些许的差异,以下是 Target time series 与 Related time series 两种预测方法的比较图。
填补丢失值只支持:Target time series 和 Related time series 这两种预测方式。
在选择此功能时记得注意一下逻辑上的问题,零售场景中,记录还有存货的商品的0 次销售与无库存的 0 次销售是不同的,因为后者并不代表客户对该商品不感兴趣,而只是因为没有库存而已。
因此,这个 0 可能会导致预测的值偏低,但如果使用 NaN 可能会忽略实际发生的 0 个可用商品的实际销售情况,并导致预测变量过高。
图片来源至:Handling Missing Values 参考来源至:Amazon Forecast now supports new automated data imputation options for the related and target time series datasets
EC2 Instance Connect 现在支持 Attribute Based Access Control (ABAC)
当用户想要通过 SSH 的方式连接到 EC2 时,其中一种方式是利用 Key Pair,验证用户是否具有权限可以访问 EC2。但 Key Pair 可能因为人为疏失导致遗失,或是意外被他人窃取等风险。因此 AWS 在 2019 年 6 月时,推出了 EC2 Instance Connect,让用户不再需要管理 Key Pair 也可以连入 EC2,并可利用 AWS IAM 管控权限。
此次更新后,用户可以用 Attribute Based Access Control(ABAC)的方式,在制定 IAM 授权时,依据资源/IAM User 所具备的 Tags 赋予 EC2 Instance Connect 的权限。可以做到针对「具有对应 Tags 的 User 才可存取具有相同 Tags 的资源」。
例如:User A 有 [Key: Name, Value: John]
的 Tag,那他能够利用 EC2 Instance Connect 连入的 Instances,必须也要具备 [Key: Name, Value: John]
的 Tag。更多Attribute Based Access Control (ABAC)
实作的范例,可参考 eCloudture Blog – 通过 AWS Tags 实作 Attribute-Based Access Control (ABAC)。
参考来源至:EC2 Instance Connect now supports Attribute-Based Access Control (ABAC)
AWS Client VPN 支持利用 SAML 2.0 做身份验证
过去 Client VPN 还未推出利用应用程序访问 AWS Client VPN 端点,仅能通过第三方 OpenVPN 来访问 AWS Client VPN 端点,连接 VPC 及内部部署网络,虽然 OpenVPN 可以提供基础的连接,但是缺少高级验证及管理功能。
为了解决这个通点,AWS 在今年 2 月时先推出适用于电脑的 Client VPN 应用程序,提供 Active Directory 及使用客户端的凭证进行身份验证。 此次更新后,再新增 SAML 2.0 方式验证身份,以便 IT 人员更有效、方便管理组织的应用程序。
参考来源至:AWS Client VPN now supports Federated Authentication via SAML 2.0 参考来源至:Authenticate AWS Client VPN users with SAML
Amazon DynamoDB 现在支持 String 和 Binary Attribute 为空值
DynamoDB 是存 放Key-value 资料的数据库,代表一笔资料必须要有 Key 与 Value 才能成立。例如要输入一笔名字,Key 定义成 Name
、其 Value 为 Leo
,这样你在 Table 上就能看到这笔数据,但是在此次更新前,如果仅输入 Key,却没有输入 Value,那么在 Table 上是不会看到这笔数据的。
此次更新后,当 DynamoDB Item 的 Attribute 资料属性是 String 或 Binary 时,支持其 Value 的值可以为 Null,提供更大的弹性!
如下范例,新增一笔 Item 时,可以先行宣告所需要描述产品的 Key:Description
& Value:""
,待日后新增上去即可,大大的增加与 DynamoDB 互动的弹性!在逻辑上不用再先行判断其 Key:Description
是否存在,或是转换成 undedined、magic number 等方式处理。
{
"itemId": 154, # Partition Key
"itemName": "东方风矮柜",
"price": "35000",
"Description": "" # 支持空值输入
}
需要注意以下几种限制:
- Partition key & sort key 不得为空值
- 有用在二级索引 local secondary indexes 或 global secondary indexes 的 attribute 也不得为为空值
其他服务更新
Amazon Redshift Data Lake 查询性能提升两倍
由于 Redshift 是针对数据仓储所提供的高效能服务,在面临庞大的数据量时,快速查询资料经常成为数据仓储所面临的挑战。Redshift 现在可以使用分布式 Bloom 过滤器启用高性能数据配对,可以有效地过滤来源数据中与配对关系不符合的数据,大幅减少了网络传输的数据量,提升了整体查询性能。
参考来源至:Amazon Redshift now leverages Bloom filters to improve data lake query performance by up to 2x
Amazon RDS for SQL Server 支持批插入文档
此次更新后,Amazon RDS for SQL Server 可以从 S3 存放 .csv、.xml、.txt 等文件,利用 Bulk Insert
功能,批量导入到 RDS 。
Amazon ECS for EC2 launch type现在支持 Environment files
原先用户在启用 ECS Container 时,会把环境变量以宣告的方式定义在 Task Definition 的字段中,当用户要修改环境变量时,就需建立新一版的 Task Definition、更新 ECS Service 后,重新部署到 Container。
此次更新后,用户可以把环境变量集中写在一份 Environment files,放在 S3 Bucket 里,当 ECS 在部署 Container 时,就可以直接抓取档案中的设定;需要修改时,也不需要一再创立新版的 Task Definition,只需更新 Environment files 即可。
參考來源至:Amazon Elastic Container Service now supports Environment files for the EC2 launch type
通过 AWS Backint Agent 将 SAP HANA 数据库备份与还原于 S3
AWS Backint Agent for SAP HANA 是针对在 Amazon EC2 执行个体上执行 SAP HANA 工作负载的 SAP 备份与还原的解决方案,AWS Backint Agent 可将 SAP HANA 数据库备份至 Amazon S3,并可以使用 SAP HANA Cockpit、SAP、HANA Studio 等 SAP 管理工具或 SQL 命令将其还原至 EC2 上。
参考来源至:Easily backup and restore your SAP HANA database to and from Amazon S3 with AWS Backint Agent
现在用户可利用 Amazon CloudFormation 部署更多服务
此次更新后,新增了以下服务可以利用 Amazon CloudFormation 部署,详细语法请参阅文件示例:
一旦服务加入 CloudFormation 支持,也意味着将可以通过 AWS CDK 以程式语言的方式进行宣告、配置,让我们一起期待吧!
参考来源至:AWS Global Accelerator now supports AWS CloudFormation 参考来源至:AWS Systems Manager enhances support for State Manager resources in AWS CloudFormation 参考来源至:AWS CloudFormation now supports blue/green deployments for Amazon ECS
AWS Elastic Beanstalk 现在支持 Traffic Splitting Deployment Policy
AWS Elastic Beanstalk 具有四种 deployment policies: * All at once * Rolling * Rolling with additional batch * Immutable
每一种部署的方式在「部署时机、应用程序需停机时间、rollback 机制,以及部署失败所产生的影响」都有不同的效果。
此次更新后,Elastic Beanstalk 新增 Traffic Splitting 部署方式,可帮助用户实现 canary testing。
当用户利用 Elastic Beanstalk 部署新版的应用程序时,可以使用切分流量的方式,根据新版应用程序的稳定程度,慢慢将终端用户的流量导入到新版应用程序中,以完成部署。而在 canary testing 的过程中,如果部署失败,也可触发 Elastic Beanstalk rollback 机制,让流量回到原有的应用程序之中,达到不影响用户体验的效果。
参考来源至:AWS Elastic Beanstalk adds Traffic Splitting Deployment Policy
AWS Transcribe 语音即时转文本支持 Vocabulary Filtering 功能
在去年 12 月推出的 Vocabulary Filtering 功能,主要是让用户在语音转文字时将特殊文字过滤,例如:不雅字词、不当用语等。用户可以定义欲过滤的词汇,并以 txt 文件上传至 AWS Transcribe,之后在进行语音转文字的任务时套用特定过滤器,即可过滤掉特定的文字内容。
而在此次更新后,Vocabulary Filtering 功能支持 real-time 即时的过滤不当文字。像是卡通在放映时,用户可以通过此服务自动转录合适的字幕,藉此避免不当文字对儿童的影响。
参考来源至:Amazon Transcribe now supports vocabulary filtering for real-time transcription
AWS Backup 添加备份选项
AWS Backup 如其名是一个备份服务,可以自动备份 AWS 服务中的资料,支持的服务有我们常使用的 EFS、DynamoDB、EC2、EBS、RDS 以及 Strorage Gateway 等。
此次更新后,提供了帐号级别的设定选项,让用户决定是否要启用该服务的备份功能,这样当 AWS Backup 有支持新服务的时候,可以直接在此设定,而不用去修改 Tag。
参考来源至:AWS Backup supports new options for customizing backup selections
Amazon QLDB 现在支持即时流流
此次更新后,Amazon QLDB 添加支持 Amazon Kinesis Data Streams,可以把存放在 QLDB 中的资料传入 Kinesis Data Streams 以实现实时资料串流。用户可以在收到数据变动的 Event 时,把数据传入 Kinesis Data Streams,再交由其他作为运算单元 AWS Service 来处理,例如:AWS Lambda、AmazonElasticsearch Service、AmazonEC2 等等,帮助实现即时分析的目的。