【 焦點新聞 】0331-0413 AWS 服務更新
焦點新聞
AWS Lambda 推出 Function URLs:內建的 HTTPS 端點
AWS Lambda 是一種無伺服器、event-driven 的運算服務,讓使用者可以不需要管理任何基礎設施,就可以執行自定義的程式碼,是許多開發者愛用的服務之一。然而,Lambda Function 要能夠順利的觸發執行,需要透過其他 AWS 服務產生的事件,或是去呼叫 Lambda API 來觸發執行(需具有 lambda:InvokeFunction
的權限),Lambda Function 本身並沒有公開的 endpoint 可以直接傳送 request。
現在 AWS Lambda 推出 Function URLs 這項新的功能,讓每個 Lambda Function 在啟用之後,都可以具有一個 HTTPS endpoint,而使用者可以仍透過 resource-based policy 來做到權限控管,限定特定的身份可以呼叫此 HTTPS endpoint。
這項功能現在已支援所有可使用 AWS Lambda 的 AWS Region,不論是新創建的 Lambda Function 或是先前已存在的,都可以使用。
使用者只需要在 Configuration 即可找到 Function URLs 的設定,可以將 AuthType
設定為 AWS_IAM
便可以授權給特定的 IAM Role 或是 IAM User 才可以利用 HTTPS endpoint 來觸發;或是可以設定成 NONE
,使 endpoint 可以公開存取(同時預設也會將 resource-based policy 設為 public)。
除了授權以外,Function URLs 也替使用者處理好 CORS 的問題,如果是使用者想授權的對象並非 IAM User 或是 IAM Role,可以利用 CORS 來篩選具有特定 Header、透過特定 medthod,或是特定來源的 request 才可以被接受。設定完成後,就會看到屬於該 Function 的 HTTPS endpoint。
而這項功能對於測試是一項很方便的功能,使用者不用額外串接 API Gateway,可以直接透過第三方的工具(例如:Postman)或是直接在 Terminal 利用 curl
指令來觸發。
以 Lambda 的範例程式碼為例,在啟用 Function URLs 之後,甚至可以直接利用瀏覽器來公開存取,這給了使用者在測試程式碼上,給了很大的彈性。
參考來源至:AWS Lambda Function URLs: built-in HTTPS endpoints for your Lambda functions
Amazon Redshift 推出與 Microsoft Azure Active Directory 及 Microsoft Power BI 整合
Amazon Redshift 是一項資料倉儲的服務,使用 SQL 來進行跨資料來源儲存、操作資料庫和分析結構化和半結構化資料,而 Amazon Redshift 也是許多使用者進行大數據分析時,經常使用的服務之一;將大量資料經過資料前處理,並儲存在 Amazon Redshift 後,便可以利用人工智慧及機器學習的技術來找到隱藏在資料中的趨勢、模式,進而預測未來走向。
此次 AWS 推出 RedShift 與 Microsoft Azure Active Directory 的整合,使用者可以利用 Microsoft Azure Active Directory 作為身份驗證與授權的機制。
藉由 Microsoft Power BI 桌面版來登入使用者的 Azure AD 後,取得讀取 Redshift 資料的權限,接著就可以產生 Power BI Report,甚至也可以再透過 Gateway Connector 來推送到 Power BI 網頁版產生視覺化圖表。
參考來源至:Amazon Redshift announces native integration with Microsoft Azure Active Directory and Microsoft Power BI、Integrate Amazon Redshift native IdP federation with Microsoft Azure AD and Power BI
除此之外,Amazon Redshift 也推出 role-based access control (RBAC) 權限控制方式
除了上述提到 Redshift 與 Azure AD 的整合授權以外,Redshift 也推出了 RBAC 的權限控制方式,管理者可以針對專案需求、資源區隔、角色權責來授權,而不需要針對單一個人來客製化其所需的權限。
舉例來說:User 1
是專案 A 的開發者之一,而 User 2
是專案 A 及專案 B 的參與者;另外,從其職位的權責來看,User 1
只能看到 Table I
跟 Table II
,而 User 2
能夠看到所有的 Table。同時也有其他和 User 1
和 User 2
相同職位的團隊成員們。
像這樣複雜的狀況,管理者該如何授權呢?如果針對每個人去看其該具有的權限,那不僅需要經常性的調整,也容易在過程中發生授權錯誤的狀況。
此次更新後,使用者可改成針對 Role
來授權,像是上述的狀況,管理者可以針對專案 A、專案 B、職位 1 及職位 2,各自設立一個 Role,接著只需要分配每個使用者應具有哪些 Role 來授權即可。如此一來,不僅 Role 重複利用性高,當有新進人員時,也不需要特別為單一人員客製化,而是直接掛上 Role;相反的,當要移除權限,也只需要移除使用者的 Role 即可。
另外,Role 是可以以巢狀方式承襲上一層級 Role 的權限,如下圖:Role 2
包含 Role 1
;而 Role 3
又包含 Role 2
,因此管理者如果授權 Role 3
給任一使用者,意味著授權所有的權限。
參考來源至:Amazon Redshift announces support for role-based access control (RBAC)、Simplify management of database privileges in Amazon Redshift using role-based access control
其他服務更新
AWS Console 提供更好的使用者體驗
針對 EC2 啟用 Instance 的設定過程,推出新的 Console 畫面。以往使用者需要切換 3-5 個畫面才會來到所有設定的最後一步,不僅繁雜,當使用者要回頭修改時,也要一直往回跳頁。因此現在推出「一頁式」的 Console 畫面,使用者可以在單一畫面就把所有的設定完成,較為簡潔、方便。
持續往下滑,就可以設定好全部的細項。
除了 EC2 Console 的改善以外,AWS Console 推出 Unified Settings,讓使用者可以設定初始的語言,以及設定訪問每個服務的初始 Region,使用起來更加友善。
- 只需要從頁面右上角的帳號資訊那裡,就可以找到 Settings。
- 除了初始的語言、Region 以外,也可以設定常用的服務列表,單純顯示圖示,或是也要顯示服務名稱。
參考來源至:Amazon EC2 now provides a new and improved launch experience on the EC2 Console、Announcing Unified Settings in the AWS Management Console
-
AWS Fargate now delivers faster scaling of applications:AWS Fargate 調高其一分鐘內可啟用的 Task 數量,減少使用者突然需要大量 Task 所需的時間,比以往快上 16 倍之多。
-
Amazon ECS now allows you to run commands in a Windows container running on AWS Fargate:使用者現在可透過 ECS Exec 直接對運行在 AWS Fargate 上的 Windows Container 下指令,而無需與 Container Host 溝通,幫助偵錯及狀態診斷。
-
Announcing the AWS Controllers for Kubernetes for Amazon MemoryDB Preview:AWS 推出 AWS Controllers for Kubernetes for Amazon MemoryDB 來讓使用 Kubernetes 的使用者可以直接運用 MemoryDB 資源,儲存應用程式的資料在 in-memory 資料庫,加速其運算。