【每周快报】0220-0226 AWS 服务更新
前言
AWS 这周主要替各项服务新增支持,让用户在操作上能更加便利。其中重要更新包含了 AWS Lambda 现在支持 Saving Plan 的计价方案,而 AWS Step Function 现在可以将 Log 推送至 CloudWatch Log 了。除了上述几项服务,在 AWS EC2, AWS RDS, AWS ECS… 等多项服务中,也增添了许多支持及改善,希望能带给用户更棒的服务体验。
功能的增强或改动
AWS Lambda 新增支持 Saving Plan 计价方案
于去年新增的 Saving Plan 计价方式提供了新的成本优化选择,主要是针对 Amazon EC2 以及 AWS Fargate 这两项服务,目前已有不少用户开始使用。
如今 AWS Lambda 也加入了 Saving Plan 的计价方式,提供用户更多折扣模式。现在客户可于 Cost Explorer 中选择 Saving Plan 计价方式来使用 Lambda,最多能够节省 17% 的成本。
Amazon RDS Performance Insights 支持 Amazon RDS 新的版本
现在 MariaDB 10.3 版本的 Amazon RDS 可以透过 Amazon RDS Performance Insight 去帮助用户快速评估数据库 Workload,在最短的时间采取有利措施,免除以往收集性能数据需要大量人力及时 间去监视及维护。
参考来源至:Amazon RDS Performance Insights Supports Amazon RDS for MariaDB Version 10.3
Amazon Transcribe 新增支持自动内容编辑
Transcribe 是一个自动语音识别服务,能够将语音输入导出成文字。此次更新后,用户可以选是否将辨识结果中的个人身份信息(PII)自动删除。
删除的 PII 项目包括:身分证字号、信用卡号、姓名、电子邮件等。
参考来源至:Amazon Transcribe now supports automatic content redaction
36% EBS-optimized 的效能优化扩大支持其他 AWS Nitro System-based Amazon EC2
此效能的提升,能够帮助加速 Instance 的运作速度。对于 IOPS 密集型的工作,也能够让用户利用较小的 Instance size,在维持 EBS 优化的情形下,节省成本。此次更新之后,已经扩大支持 G4dn、I3en、Inf1、M5a/M5ad、R5a/R5ad、T3/T3a 以及 z1d Instances。
VMware 上的 Amazon RDS 现在可以回报联机状态
假设今天 AZ 联机断开,那么 Amazon RDS 就无法联机到 AZ。在这种状况下,你可以从 AWS RDS Console 中的 Custom AZ 看到 Disconnected 状态:
Amazon EC2 Spot Fleet Requests 新增 Tag 功能
用户可以在创建 Spot Fleet Request 的时候,利用 AWS Console、CLI 或是 SDK 的方式,将 Spot Fleet request 加上 Tag,以帮助用户分类及管理。例如:我们使用 AWS CLI 对 Spot Fleet Request 下标记: – key
: Environment & value
: Production – key
: Cost-Center & value
: 123
{
"SpotFleetRequestConfig": {
"AllocationStrategy": "lowestPrice",
"ExcessCapacityTerminationPolicy": "default",
"IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
"LaunchSpecifications": [
{
"ImageId": "ami-0123456789EXAMPLE",
"InstanceType": "c4.large"
}
],
"SpotPrice": "5",
"TargetCapacity": 2,
"TerminateInstancesWithExpiration": true,
"Type": "maintain",
"ReplaceUnhealthyInstances": true,
"InstanceInterruptionBehavior": "terminate",
"InstancePoolsToUseCount": 1,
"TagSpecifications": [
{
"ResourceType": "spot-fleet-request",
"Tags": [
{
"Key": "Environment",
"Value":"Production"
},
{
"Key": "Cost-Center",
"Value":"123"
}
]
}
]
}
}
注意:Spot Fleet request 上 Tag,并不会将 Spot Fleet 开启的 Instance 也加上 Tag。
参考来源至:Amazon EC2 now supports tagging EC2 spot fleet requests
AWS Step Function 支持将 Log 推送至 CloudWatch Log
以往用户必须点进去每个 Step 当中才能看到该 Step 的执行结果并进行除错。此次更新后,可以将 Log 推送至 CloudWatch Log 存放,不仅能让用户更快找到错误,也能针对这些动作进行自动化设置。
参考来源至:AWS Step Functions now supports CloudWatch Logs for standard workflows
AWS Health Service 新增 EC2 Auto Scaling 的相关通知
Heakth Service 提供 AWS 账号可能遇到的相关服务健康问题,让用户能够知道哪些服务当前遇到了问题正在紧急修复或维护当中。
用户也可以透过 AWS 控制台右上角的小铃铛接收到相关通知。
而此次更新后,Auto Scaling 相关的通知将被纳入 Health Service 中,例如:当用户的 Auto Scaling Group 因为缺少 Launch Template 或 Security Group 等因素而无法扩 展实例时,可以触发 Health Service API 传送通知给用户。
参考来源至:Amazon EC2 Auto Scaling now provides notifications via AWS Health Service
Amazon ECS 支持新的方式存取 AWS Secrets Manager
在实作 ECS 的时候,为了提高敏感数据的隐密性,我们会选择把数据放在 AWS Secrets Manager。以前只能透过最新 Version Key,才能提取存放在 AWS Secrets Manager 里面的敏感数据,像是在 ECS 上的 Database credentials、tokens,现在用户可以利用特定的 Version 或是 J SON Key 去存取,提供更多存取的选择。
参考来源至:Amazon ECS Now Supports AWS Secrets Manager Version and JSON Keys
Amazon ECR 改善并简化 Image API 配额,藉此提升新工作负载的启动速度
当用户对 ECR Repository 呼叫 docker push
或 docker pull
等常用指令时,会转换为 ECR API 呼叫,此类 API 呼叫的每秒使用的次数是具有上限的,原先此限制是每个 Repository 的 hard limit,超过上限便会降低提取的速率。
此次更新之后,ECR API 呼叫配额可从 Account level 来做调整,用户可更有效且弹性的运用 ECR API,改变成 soft limit 的概念。此外,用户可以利用 Service Quotas console 来查看 ECR API 的配额,用户可向 AWS 提出提高配额的需求,使建置及部署流程更加顺利。
参考来源至:Amazon ECR raises and simplifies image API quotas to start new workloads quicker
Amazon FSx for Lustre 发布永久性文件系统,并新支持 Amazon KMS,且可在传输过程中启用加密
此次更新之后,透过自动复制的方法,Amazon FSx for Lustre 现在可作为永久性文件系统,同时提升高可用及耐用性的效能,当灾难发生时,也可以从副本中快速复原,并且仍然保留短暂性文件系统的优点,可根据存取流量的多寡,自动扩展大小。
此外,平时放在 Amazon FSx for Lustre 中的数据,默认是受到由 KMS 管理的密钥所加密的,现在在数据传输的过程中,也可使用 KMS Key 来加密数据,以提高安全性。
AWS IAM 新增有利于控制权限的新参数
当用户要使用某一项 AWS Service 时,必须自身拥有存取该服务的权限或是藉由其他服务所具有的 IAM Role 来取得权限。举例来说,若要让某个 User 利用 CloudFormation 来部署 DynamoDB、VPC、EC2 组成的架构,要不 User 自身拥有部署那些服务的权限,要不 CloudFormation 的 Template 已 attach 足够权限的 Role,否则将无法部署成功。
此外,以往控管权限只能限制用户直接对服务(Service)或是能做的动作(Action)来管理。以上述的案例来说,通常会授与 User 所有 Template 会使用到的服务的权限,因此 User 想要直接操作 DynamoDB、VPC、EC2,是可以办得到的。但此授权方式便不符合最初只想让该 User 利用 CloudFormation 来部署,而非能够直接更动到那些服务的用意。
此次更新之后,用户可以利用 Service 作为代理的角色,仅需要部分权限,即可以访问后续需要使用到的服务。此授权方式便能更有效且更符合需求的控制,也会更加符合最小权限原则。
- 透过在 Policy 中的 Condition 设定
aws:CalledVia
,便可要求 request 是来自哪一项服务,同时可搭配使用CalledViaFirst
及CalledViaLast
来设定更多细节,如下图中的案例:。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "KmsActionsIfCalledViaChain",
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:region:111122223333:key/my-example-key",
"Condition": {
"StringEquals": {
"aws:CalledViaFirst": "cloudformation.amazonaws.com",
"aws:CalledViaLast": "dynamodb.amazonaws.com"
}
}
}
]
}
- 在此 Policy 中,用户对 KMS 提出的 request,必须第一个优先经过 CloudFormation,并且最后是经过 DynamoDB 来的请求才能够成功存取。而用户只能直接对 CloudFormation 操作,而不能直接更动 DynamoDB 与 KMS。
AWS Chatbot 新增支持 Amazon CloudWatch Metrics 及 Logs
此次更新之后,用户可以利用 Amazon CloudWatch Metrics 及 Logs 来帮助监控 AWS Chatbot 的部分动作,例如:设置 Chatbot 推送讯息到 Slack、交付失败… 等讯息的通知或警报,用户可以在 Console 里设置该功能。
参考来源至:AWS Chatbot Now Supports Amazon CloudWatch Metrics and Logs
Tag:Amazon EC2, Amazon EC2 Spot Fleet Requests, Amazon ECR, Amazon ECS, Amazon FSx for Lustre, Amazon KMS, Amazon RDS, Amazon RDS Performance Insights, Amazon Transcribe, AWS Chatbot, AWS CLI, AWS Console, AWS Health Service, AWS IAM, AWS Lambda, AWS Secrets Manager, AWS Step Function, CloudWatch Log, Custom AZ, EBS, EC2 Auto Scaling, Image API, Saving Plan, Tag, VMware