【每周快報】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、Amazon Cognito 等多項不同領域的新服務!
焦點新聞
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 虛擬出來的電話號碼,此種方法稱為「number masking」。不僅讓使用者感受到更多的隱私,也降低私人號碼被隨意散播的可能性。此外,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 是近期新推出的服務,可幫助使用者偵測應用程式程式碼的錯誤或能夠優化的地方,進而使應用程式的運行更加順暢及穩定。其中,Amazon CodeGuru 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、Facebook、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 的 EC2 AMI,幫助解決上述的問題,同時充分的使用既有的 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、Log Filter等功能來設置 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, Partitions, PostgreSQL, Simulation Unit, Slack, SU, VPC Endpoint Policy, Windows Server license