【每周快報】0604-0610 AWS 服務更新
前言
AWS 這周推出了適用於各種企業規模的 AWS CodeArtifact,這項服務讓主管透過批准可使用的套件來管理應用程式的套件更新,有助於企業掌握存取控制和版本更新。在機器學習領域,AWS 則為 Amazon Personalize 新增了推薦篩選器,現在推薦篩選器能夠篩選出使用者已購買的產品,來提高個人化推薦的準確率。大數據方面在這周也有些服務更新,現在 Amazon Redshift 支援將資料查詢結果存放至 S3 了。本周新聞也將提及 Amazon Elasticsearch Service、Amazon EC2、AWS Config 等不同領域的服務更新。
焦點新聞
新推出 AWS CodeArtifact:全託管的軟體工件存儲庫(software artifact repository)服務
Software artifact repositories 及其相關的 package managers 是開發過程中重要的一環。
使用 software artifact repositories 來下載和引用預先建置好的軟體程式庫,可幫助簡化開發和建置程序。然而,對於使用多個 software artifact repositories 來控制軟體版本,或是用以分割使用者存取權限的組織,管理 software artifact repositories 就成了一大挑戰。
如果是具有相依性的兩個 software artifact repositories,任何變更都必須小心控制,避免產生使用上的漏洞。透過使用集中式 repositories,組織可以更容易地管理存取控制和版本變更,並在軟體版本更新時,可以讓團隊確信新版本已獲得 IT 管理者的核准使用。
AWS CodeArtifact 是全託管、多語言的 software artifact repositories 服務,可協助管理者存放和共用用於開發、建置和部署程序中使用的軟體套件。使用者可以在單個 CodeArtifact repositories 配置來自 Maven,npm 和 Python 的 repositories。此外,CodeArtiFact 可以和許多常見的構建工具和軟體管理器一起使用,例如:Maven 和 Gradle(for Java),npm 和 yarn(for Javascript),以及 pip 和 twine(for Python),可幫助確保團隊的使用者都是使用最新版的軟體。
另外,CodeArtifact 支援多項 AWS 服務:
- Identity and Access Management (IAM):幫助管理者授權使用者能夠存取 repositories 的權限
- CloudTrail:可用於了解 repositories 產生的變動(例如:更新、移除及存取)
- Key Management Service (KMS):可幫助管理者控制用於加密 packages 的 Key
參考來源至:Introducing AWS CodeArtifact: A fully managed software artifact repository service
Amazon Elasticsearch Service 提供即時異常偵測功能
Amazon Elasticsearch Service 在此之前有提供靜態的 Rule-based 的異常檢測規則,但並不適用於各種使用場景,容易造成錯誤發生時無法即時得知。
此次更新後,Elasticsearch Service 提供即時異常檢測功能,該功能由 Open Distro for Elasticsearch 提供,利用機器學習來偵測即時串流資料的異常,並基於 RCF (Random Cut Forests),一種無監督式的演算法來訓練結果,以在問題逐漸形成時,預測錯誤發生。
資料來源至:Real-time anomaly detection support in Amazon Elasticsearch Service
Amazon Personalize 新增推薦篩選器
以往客戶會自己寫程式碼去比對每個使用者的推薦清單與實際上該使用者購買的產品進行比較、評估以提高個人化推薦的準確率,但手動比對是一項耗時且容易出錯的任務。
此次更新後,推薦篩選器能夠篩選出使用者使用者已購買產品、已觀看影片或已取用的其他數位內容推薦,進而提高個人化推薦的準確率。
實際作法會透過使用 Personalize 主控台或 API,並選擇特定 DSL (網域特定語言) 建立篩選器。接著可以設定當使用 GetRecommendations 或 GetPersonalizedRanking API 查詢即時推薦或者透過批次處理推論任務以批次模式產生推薦時套用此篩選器。
範例:利用以下 schema 建立用於個人化推薦的 Dataset。其中的 EVENT_TYPE
表示過去消費者與每個產品之間曾經發生過的互動事件,例如:購買過、瀏覽過、下載過..等等。
{
"type": "record",
"name": "Interactions",
"namespace": "com.amazonaws.concierge.schema",
"fields": [
{
"name": "ITEM_ID",
"type": "string"
},
{
"name": "USER_ID",
"type": "string"
},
{
"name": "TIMESTAMP",
"type": "long"
},
{
"name": "EVENT_TYPE",
"type": "string"
},
{
"name": "EVENT_VALUE",
"type": [
"null",
"float"
]
}
],
"version": "1.0"
}
建立完成後,使用者可以利用 personalize 獨有的表達式來建立符合個人需求 / 使用場景的 filter,以篩選個人化推薦的建議。
-
刪除消費者過去已購買過的產品:
EXCLUDE itemId WHERE INTERACTIONS.event_type in (“Purchase”)
-
刪除消費者過去已觀看、已點擊、已下載過的產品:
EXCLUDE itemId WHERE INTERACTIONS.event_type in (“View”,”Click”,”Download”)
資料來源至:Introducing Recommendation Filters in Amazon Personalize 範例來源至:AWS Blog – Introducing Recommendation Filters in Amazon Personalize
服務更新
Amazon EC2 新增 Instance Type:C5a Instance & G4dn Bare Metal Instances
Amazon EC2 C5a Instance 具有第二代 AMD EPYC 處理器,且運行頻率可高達 3.3 GHz,可為 Computing 密集型 workload(例如:批次處理、數據轉換及分析、log 分析等等)提供更好性價比,不僅比同類 Instance 擁有更高的性能,同時降低了 10% 的成本費用。C5a Instance 具有八種 Instance Size,最多可擁有 96 個 vCPU 和最多 192 GiB 的 memory。
G4dn Bare Metal Instances 具有多達 8 個 NVIDIA T4 GPU,可為 GPU-based 的 ML inference 提供最佳的性價比,可用於訓練不太複雜的 ML model,或是其他需要訪問 NVIDIA libraries(例如:CUDA,CuDNN 和 NVENC)的圖形應用程序。
參考來源至:Now Available, Amazon EC2 C5a instances featuring 2nd Generation AMD EPYC Processors
AWS Config 新增九項 config rule
AWS Config 會針對使用者在帳號中開啟的服務組態設定進行監控,例如:S3 bucket policy 的變動(會紀錄時間與變動前後的差異)、Security Group 中 Inbound/Outbound Rule 的變動等,幫助使用者評估資源設定是否符合合規性。
使用者也可主動新增 Config Rule 來針對某項資源設定進行監控,倘若不符合 Rule 中設定的規則,則視為「不合規」,並能夠發出訊息告知使用者不合規的狀況發生。
而 AWS 基於使用者常用或是實用的場景,有提供預設的 Config Rule,此次更新則新增了九項 Config Rule:
- SNS_ENCRYPTED_KMS:監控 SNS Topic 中的訊息是否有透過 KMS 加密。
- SECURITYHUB_ENABLED:監控 AWS 帳戶是否有啟用 Security Hub。
- S3_DEFAULT_ENCRYPTION_KMS:監控 S3 Bucket 是否透過 KMS 加密。
- S3_BUCKET_DEFAULT_LOCK_ENABLED:監控 S3 Bucket 的 default 加密是否有啟用。
- REDSHIFT_REQUIRE_TLS_SSL:監控帳號中的 Redshift Cluster 是否需要 TLS / SSL 加密才能連接到 SQL Client 端。
- RDS_SNAPSHOT_ENCRYPTED:監控 RDS Snapshot 是否有加密。
- EC2_EBS_ENCRYPTION_BY_DEFAULT:監控 EBS 預設加密是否啟用。
- DYNAMODB_TABLE_ENCRYPTED_KMS:監控 DynamoDB Table 是否加密。
- DYNAMODB_PITR_ENABLED:監控是否啟用 DynamoDB 的 PITR (Point in Time Recovery) 備份。
AWS Elemental MediaConvert 提供 VP8 和 VP9 影像編碼
在這個串流影音流行的時代,網路上有許多串流影片平台,像是 Youtube、Netflix、Apple TV+⋯等等,高質量的影片已成為各個平台標準配備,而使用者利用網路存取大量的高質量影片,為了維持使用者體驗在最佳的狀態,那麼資料壓縮的技術成為最關鍵的主因。
此次更新後 AWS Elemental MediaConvert 加入屬於主流的影像編碼技術— VP8 與 VP9,在同樣流量下製作的影片,使用 VP9 壓縮的影像,與其他主流編碼技術相比,VP9 影像較為清晰,進而降低資料流量、節省空間,來提升影像的畫質與傳輸速度。
參考來源至:WebM outputs with VP8 and VP9 video now available with AWS Elemental MediaConvert
Amazon Redshift 支援將資料查詢結果存放至 S3
Amazon Redshift 是專為存放 PB 級資料存儲服務,非常適合用在大量數據存儲。此次更新後,使用者可以將 Redshift 查詢的結果寫入到 S3 的 External Table,且 External Table 裡的 Matadata 會自動更新,也可以將 Matadata 存放在 AWS Glue、AWS Lake Formation、或是自己的 Hive Metastore data 目錄下。
現在開始,可以利用 CREATE EXTERNAL TABLE AS SELECT
將資料寫入到新創建的 External table,及利用 INSERT INTO
將資料寫入到現有的 External table。
參考來源至:Amazon Redshift now supports writing to external tables in Amazon S3
使用 CDN Authorization 來保護 AWS Elemental MediaPackage VoD Endpoints
此次更新後,使用者可以利用 CDN Authorization 來保護對 VOD content 的請求。MediaPackage 會在提供任何內容之前辨識 content request 是否包含特定的 HTTP origin header 和授權代碼,如果辨識結果是正確的,才會回覆 VOD 的內容,藉此確保終端使用者不能直接訪問 AWS Elemental MediaPackage。
使用者在 VOD Endpoints 上啟用此功能時,也要在 CDN 的內容請求中設定靜態標頭。
參考來源至:Secure AWS Elemental MediaPackage VOD Endpoints using CDN Authorization
AWS Backup 支援 Amazon Aurora Snapshots
原先使用者在製作 Aurora Snapshots 作為備份檔案時,需要自行準備一份自動備份的腳本,在指定時間執行來完成備份的動作;或是也可以自己手動備份。
此次更新後,使用者可以透過 AWS Backup 備份、管理 Aurora Snapshots,藉由 AWS Backup 來統一 AWS Account 中所有服務的 Snapshot 作業。如需要將 Aurora Snapshots 從一個 Region 複製到另一個 Region,利用 AWS Backup 也可以輕鬆地做到,幫助使用者降低備份過程中的複雜性。
新增用於監控 ElastiCache for Redis 的 CloudWatch metrics
CloudWatch 推出更多用於監控 ElastiCache for Redis 的 metrics,包含已使用的 memory 比例、緩存命中率、Redis 指令的 latencies..等等。詳細 metrics 列表,請參考 AWS 官方文件:Redis 的指標。
參考來源至:Announcing new CloudWatch metrics for ElastiCache for Redis
Tag:Amazon Aurora Snapshots, Amazon EC2, Amazon EC2 C5a Instance, Amazon Elasticsearch Service, Amazon Personalize, Amazon Redshift, AWS, AWS Backup, AWS CodeArtifact, AWS Config, AWS Elemental MediaConvert, AWS Elemental MediaPackage VoD Endpoints, CDN Authorization, CloudTrail, CloudWatch Metrics, ElastiCache for Redis, IAM, Instance Type, KMS, S3, software artifact repository, VP8, VP9