【每周快报】0402-0408 AWS 服务更新
前言
AWS 前两周主要针对数据库推出了许多新服务,这周则在机器学习领域推出了不少改动。像是 Amazon Personalize 新增了推荐评分功能,可以为客户推荐更贴合需求的商品。另外也对近期推出的新服务 – Amazon CodeGuru 增加了新的支持,现在用户可以通过 CloudFormation Template 来部署 Amazon CodeGuru Profiler 资源。
除了机器学习领域,容器服务在这周也发布了相当重要的新闻,Amazon EFS 正式支持 ECS 和 Fargate 了,帮助用户更专注在 Container Application 及核心事业的开发!
本篇文中也会提到 Amazon Chime – AWS的在线会议软件,随着疫情持续蔓延,网购或使用外送平台的人也越来越多,因此AWS 推出了 Amazon Chime Proxy Phone Sessions,这项服务可帮助双方联系而不透漏彼此个资,更加保护施用者的信息安全。上述服务外,还会为各位介绍 Amazon RDS Proxy、AWS Glue、AmazonCognito 等多项不同领域的新服务!
焦点新闻
Amazon EFS 正式支持 ECS 和 Fargate
以往在 ECS Tasks 中要额外挂载 Volumes 时,可以在 ECS Task Definition 以 Bind Mount 方式指定 Container Hosts File System Path 作为挂载到 ECS Tasks。
若要挂载 EFS File System 至 ECS Tasks,便需要先行将 EFS File System Mount 到 Container Hosts 上,用 UserData 以脚本方式在Host Launch 时挂载、或是先行宣告在 /etc/fstab
,再至 ECS Task Definition 中设定 Volume 信息给 ECS Tasks,让ECS Tasks执行时通过Container Hosts挂载EFS File System进来做档案共享。
现在发布 ECS 正式支持 EFS File System 为挂载点,不论底层是以 EC2 Container Hosts 或是 Fargate 托管的方式!
在 ECS Task Definition 中新增 Volume 并直接指定 EFS File System 为挂载点,让 ECS Task 在启动时直接把 EFS File System 挂进 Task 当中使用存取,不用再经由 Container Hosts!同时也支持EFS Access Point,多带入一层 File System Permission Config,简化了应用程序向 EFS 文件系统的访问设定。更可以与 AWS IAM 搭配使用、控管到 OS 级别的用户和群组以及通过 EFS Access Point 提出的访问请求。
不仅解决了像是 WordPress、JIRA、Jupyter Notebook…等会需要同时多个 Tasks 或是 Containers 以 File Sharing 形式同时存取的需求,搭配 Fargate 更可以抽象掉底层 Container Hosts,让用户更专注在 Container Application 、核心事业的开发。
参考来源至:Amazon ECS and AWS Fargate support for Amazon EFS File Systems now generally available
推出 Amazon Chime Proxy Phone Sessions
现在用户可利用 Amazon Chime Proxy Phone Sessions 作为 2 人沟通时的代理电话号码,意指当双方进行语音或是文字交谈时,在 Caller ID 的部分,双方并不会看到彼此的私人电话号码,而是看到 Amazon Chime 虚拟出来的电话号码,此种方法称为「numbermasking」。不仅让用户感受到更多的隐私,也降低私人号码被随意散播的可能性。此外,Proxy Phone Sessions 支持双方可进行长达 12 小时的沟通。
应用场景:现在为因应疫情,大众开始倾向运用快递的方式购物,减少外出与多人接触的机会。针对这些需求,Amazon Chime 可帮助送货员与顾客联系时,不需暴露任何一方的个人讯息,仅单纯交代递送地点等细节即可。
另外,Proxy number 的数量是 on demand (随需调整),因此用户可不用事先预估需要使用的号码量,也不必担心需要对未使用到的号码付额外的费用。
图片来源至:Twilio Docs – Phone Number Management 参考来源至:Introducing Amazon Chime Proxy Phone Sessions
Amazon Personalize 添加推荐评分功能
用户常使用 Amazon Personalize 来做网站、应用、广告与电子邮件的个性化推荐,原先用户只会收到推荐 item 的 ID,但并不知道这项推荐项目与被推荐者本身的关联程度,意指此推荐项目的适合程度。此次更新后,用户除了收到 item ID 之外,可选择一并附上评分 (score),分数越高的 item 代表适合的被推荐者的程度越高。
例如:以电影推荐来说,如果 A 用户对电影 1,2,3 按赞,而 B 用户则是喜欢电影 2,4,5,最后 C 用户已对电影 2,3 按赞,那 Personalize 有可能同时推荐电影 1,4,5 给用户 C,但电影 1 会得到较高的 score,因相符的程度较高,意即电影 1 被用户 C 喜欢的可能性最高。
此图仅作为示意图,实际情况依据使用情境不同而改变。
分数计算的方式是依据用户选择的 recipe,也就是不同的算法会运用不同的计算方式。更多算法的计算方式,可参阅官方博客。
参考来源至:Amazon Personalize now provides scores for recommended items
Amazon CloudWatch Contributor Insights 正式上市
Amazon CloudWatch Contributor Insights 在去年的 12 月发布预览版,这是一款诊断工具,透过 Contributor Insights 规则去分析 CloudWatch Logs 或其他 AWS 服务的 log,例如:可以快速诊断 DynamoDB Table 的流量,也可以知道最常存取的 key 是哪一把,有助于优化 DynamoDB 的成本及性能。
现在你可以直接从 DynamoDB Console 中选择其中的 Table,点击 Contributor Insights
:
默认状态下,这个功能是关闭的,你需要通过 Manage Contributor Insight
将它打开:
打开后,等待一段时间后,就可以看到 Table 的分析结果就会出来:
用户可以通过这个功能看到 AWS 默认指标的结果,如果不需要这个功能时,可以随时关闭它,并不会影响 DynamoDB 的运作。
参考来源至:Amazon CloudWatch Contributor Insights for Amazon DynamoDB is now generally available 参考来源至:CloudWatch Contributor Insights for DynamoDB – Now Generally Available
其他服务更新
AWS IoT Device Defender 提高监控级别
此次更新后,用户在设定监控层级时,会多一个 Dimensions 的选项,可以针对 MQTT Topic 层级的指标进行筛选。
支持的 MQTT Topic 指针有:接收的消息数量、訊息大小(byte)、发送的消息数量、来源 IP、授权失败的数量。
用户可以写死 Topic 名称,或通过万用字符来选择 Topic。
参考来源至:AWS IoT Device Defender now supports Dimensions for topic-based metric monitoring
Amazon RDS Proxy 添加支持 PostgreSQL 类型的 Database (Preview)
在 2019 re:Invent 有发布了Amazon RDS Proxy for MySQL,现在也开始支持 RDS PostgreSQL 、 Aurora PostgreSQL!
Database 运算资源非常珍贵,需要细微调整以最大化效能表现。以往的架构规划在访问 Database 时候都会直接和 Database 建立连接、占用一部分的运算资源;使用场景上若是透过 Lambda 去做访问的话,因为 Lambda 各自是一个独立运作的 Sandbox,在连线数量上更为庞大,有可能会影响到 Database 效能表现。
RDS Proxy 作为 Computing Unit 去访问 RDS 时中间的转介手,让 Computing Unit 和 RDS Proxy 建立大量的连接,将请求通过 RDS Proxy 转发到 RDS。在 RDS Database上面的连接数量会从 N 个 Computing Unit 减少至一个 RDS Proxy,大幅降低 Database 因为连接而被占用的运算资源,以最大化效能表现。
须注意目前 RDS Proxy 仍为 Preview 版本,会时常异动、调整、优化等,暂时不建议使用在生产环境。
更多与 Amazon RDS Proxy 相关讯息,请参阅Using Amazon RDS Proxy with AWS Lambda。
参考来源至:Amazon RDS Proxy with PostgreSQL Compatibility (Preview)
Amazon CodeGuru 添加两项优化
Amazon CodeGuru Profiler 添加支持 Amazon CloudFormation
Amazon CodeGuru 是近期新推出的服务,可帮助用户侦测应用程序代码的错误或能够优化的地方,进而使应用程序的运行更加顺畅及稳定。其中,AmazonCodeGuru Profiler 能帮助侦测当应用程序实际在运用 CPU 资源运行时的状态。
此次更新之后,用户可以利用 CloudFormation Template 来部署 Amazon CodeGuru Profiler 资源。藉由自动部署,除了免除人为在部署过程中容易发生的疏失之外,同时可以利用 CloudFormation Console 监测资源部署状况。
参考来源至:Amazon CodeGuru Profiler now includes support for AWS CloudFormation
简化 Amazon CodeGuru Profiler flame graphs 使用情况
Amazon CodeGuru Profiler 提供互动式可视化工具,可快速帮助用户找到应用程序在运行过程中,各项工作花费了多少时间,用户可针对花费较久的部分进行代码的优化。每一条水平的柱体就是一个 frame,代表应用程序中的一个 function,CodeGuru 在侦测期间,如果某一个 function 出现的次数越多,也就是执行时间越久,会有越宽的范围。
以下图为例,耗费时间较长的原因可能出自于该 function 使用到的其他函式,而主程序持续在等待前置函式完成(等待了 20 分钟),导致这项 function 时间拉长。使用者可基于此信息选择改进的主程序或是其他函数。
此次更新之后,AWS 优化了 Console 的界面,用户可利用滚轮来专注检视特定信息。此外,右上的概念缩图也可方便让用户知道目前显示的是 flame graphs 的哪一部分。
参考来源至:Amazon CodeGuru Profiler flame graphs are now easier to use
AWS Glue 新增两项优化
支持利用 Glue Spark ETL Jobs 对 Amazon DocumentDB with MongoDB compatibility 进行读写
现在用户可以利用 Glue Spark ETL Jobs 直接读取、转换、加载 Amazon DocumentDB (with MongoDB compatibility)或 MongoDB 中的资料,做完 ETL Jobs 整理完资料后再送入 Amazon S3 搭配 Amazon Redshift 等服务分析。
支持从 Glue Spark ETL Jobs 修改 Partitions
用户现在可以直接修改 Glue Spark ETL Jobs 中的 Partitions,而不用重新创建 Partitions 或新增 Table,可以帮助降低费用、一方面也降低了作业时间,不用重新跑 ETL Jobs。
参考来源至:AWS Glue now supports the ability to update partitions from Glue Spark ETL jobs
Amazon Cognito 添加以 Apple 帐户做 Federation 验证
Amazon Cognito Identity Pools 提供了与 Public Identity Providers 做 Federation 验证以取得用户身分,加以和Cognito Identity Pools 做信任取得相关操作权限。原先支持 Amazon、Amazon、Facebook、Google,Google 在 China Region 也有额外支持 WeChat。
(e.g. Amazon Cognito user pools, Login with Amazon, Sign in with Apple, Facebook, Google), you can specify your application identifiers in the Amazon Cognito identity pools (federated identities) console. This associates the application ID (provided by the public login provider) with your identity pool.
此次新增了 Apple 来让用户多一种方式,可以利用自身 Apple 帐号与 Amazon Cognito Identity Pools 沟通,可以至 Cognito Identity Pools 中新增 Authentication providers 为 Apple 并输入相关资讯,来让原先的验证模块多一个选择提供给用户。
参考来源至:Amazon Cognito Identity Pools now supports Sign in with Apple
VPC Endpoint Policy 支持 Condition Key
VPC Endpoint 提供给 VPC 内的资源能以 Private 路由方式,经过 AWS 骨干网络直接访问对应的 AWS Service。在 Endpoint 上面可以设定 Policy 来开放可以通过 Endpoint 针对什么资源执行什么动作。
此次更新后,VPC Endpoint 新增支持在 Policy 中可以加入 condition keys 做更为细节的条件式,以更细微的颗粒来控制访问权限。如下列举例:
ec2:resourceTag
以打在 VPC Endpoint 的 Resource Tag 为条件,符合其规则的才能通过该 VPC Endpoint 访问对应资源ec2:VpceServiceName
以 Endpoint Service Name 限制该 VPC Endpoint 仅能访问什么 AWS Services;如com.amazonaws.us-east-1.ec2
代表仅访问 EC2ec2: VpceServiceOwner
以 AWS Account IDs 为条件,限制 VPC Endpoint 与要访问的 AWS Services 需隶属于该 IDs 内的资源
以下范例为仅允许通过此 VPC Endpoint 调用指定的两个 API
{
"Statement": [
{
"Principal": "*",
"Action": [
"execute-api:Invoke"
],
"Effect": "Allow",
"Resource": [
"arn:aws:execute-api:us-east-1:123456789012:abcde12345/*",
"arn:aws:execute-api:us-east-1:123456789012:a1b2c3d4e5/*"
]
}
]
}
以下范例为仅允许通过此 VPC Endpoint 呼叫至指定的两个 API,且 VPC Endpoint 必须为 AWS Account ID 123456789012
底下之资源
{
"Statement": [
{
"Principal": "*",
"Action": [
"execute-api:Invoke"
],
"Effect": "Allow",
"Resource": [
"arn:aws:execute-api:us-east-1:123456789012:abcde12345/*",
"arn:aws:execute-api:us-east-1:123456789012:a1b2c3d4e5/*"
],
"Condition": {
"StringEquals": {
"ec2:VpceServiceOwner": "123456789012"
]
}
}
}
]
,}
可以参阅 此文档 – Actions, Resources, and Condition Keys for Amazon EC2 来查看关于更多 VPC Endpoint Condition Keys 信息,做更多不同的条件式设计。
参考来源至:Announcing support for fine-grained IAM permissions for PrivateLink interface endpoints
EC2 Dedicated Hosts 现在可以运行内含 Windows Server license 的 EC2 AMI
因应国家法规或企业政策的需求,用户针对不同使用场景,会运用 Dedicated host 来符合规定。原先用户皆需要透过 Bring Your Own License (BYOL) 的方式来将 License 放入运行的应用程序之中。但此方法有时会在企业做搬迁动作时,发生 License 并不适用于 Cloud Environment 的问题,用户需另外与 License 供应商确认,导致整体成本难以估算或过高。
此次更新之后,当用户在使用 EC2 Dedicated Hosts 时,如果再次遇到缺少 License 的情况,可直接启用内含 License 的 EC2AMI,帮助解决上述的问题,同时充分的使用既有的 License。
参考来源至:Announcing the ability to run Windows Server license included instances on EC2 Dedicated Hosts
AWS RoboMaker 改善模拟任务配置
使用 RoboMaker 进行机器人模拟时,会以 Simulation Unit(SU)作为计价标准,以往都是以任务为单位来进行模拟任务的设定,此次更新后,可以通过 SU 来作为模拟任务的终止条件,让用户在成本上做最大化的控管与优化。
参考来源至:AWS RoboMaker now supports configurable Simulation Unit limit
Amazon Transcribe Medical 现在支持批处理
此次更新后,可以批次处理转译工作,比起以往的即时转译来说,可应用场景更加多元,用户只需要将音档存于 S3,并于 Transcribe Medical 中指定该 bucket 便可进行批次转译作业。
参考来源至:Amazon Transcribe Medical now supports batch transcription of medical audio files
Amazon Sumerian 添加场景输出的格式
以往使用 Sumerian 打造 3D 场景或 AR 场景时,想要导出场景只有两种方式,一种是嵌入应用程序的 JSON,另一种则是转成公开的网址,但这两种方式都无法有效的打包整个场景组件或导出修改,只能够回到服务主控台中进行。
此次更新后多了一种新的导出格式:glTF,它是一个开源的 3D 模型格式,支持多种 3D 绘图工具,提供用户一个新的编辑选项。
用户能够直接在左上方的菜单中选择导出为 glTF 格式。
并会要用户选择想要导出的组件。
导出后便可于其他支持glTF 的编辑工具中开启与编辑。
参考来源至:Amazon Sumerian supports exporting your scenes to glTF
Amazon Managed Blockchain 现在支持 Amazon CloudWatch Logs
Amazon Managed Blockchain 现在开始可以直接把 Hyperledger Fabric peer node、chaincode,以及 certificate authority (CA) logs 推送到 CloudWatch Log Group 中储存。
不仅可以确保数据不会遗失(Enable之后,可设定 Log 永不会过期)、以比较低本的方式存放 Logs,更可以搭配 Logging Event、LogFilter 等功能来设置 CloudWatch Alarm 做更多的处理及应用。
参考来源至:Amazon Managed Blockchain now supports Amazon CloudWatch Logs
使用 Slack 接收关于 AWS CodeBuild,AWS CodeCommit,AWS CodeDeploy 与 AWS CodePipeline 通知
透过此次更新,用户可以通过使用 AWS ChatBot 在 Slack中接收有关 AWS CodeCommit、AWS CodeBuild、AWS CodeDeploy 与 AWS CodePipeline 的通知,像是 CodeCommit 中程式码的更新、建置完成的CodeBuild 项目、已成功部署的 CodeDeploy 项目与成功执行的 CodePipeline 流程。
Tag:Amazon Chime Proxy Phone Sessions, Amazon CloudFormation, Amazon CloudWatch Contributor Insights, Amazon CloudWatch Logs, Amazon CodeGuru, Amazon CodeGuru Profiler, Amazon CodeGuru Profiler flame graphs, Amazon Cognito, Amazon EFS, Amazon Managed Blockchain, Amazon Personalize, Amazon RDS Proxy, Amazon Sumerian, Amazon Transcribe Medical, Apple, AWS CodeBuild, AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline, AWS Glue, AWS IoT Device Defender, AWS RoboMaker, BYOL, CloudWatch Logs, Condition Key, Console, Container, Database, DynamoDB Table, EC2 AMI, EC2 Dedicated Hosts, ECS, Fargate, Federation, glTF, Glue Spark ETL Jobs, on demand, Partitions, PostgreSQL, Simulation Unit, Slack, SU, VPC Endpoint Policy, Windows Server license