【每周快報】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 或是 JSON 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