【每周快報】0430-0512 AWS 服務更新
前言
AWS 在 2019 年底推出了 Local Zone,而在這個月初也在美國新增了三個地區,讓使用者可以享受更棒的服務體驗。除了新增 Local Zone 之外,AWS 也針對其他服務做了不少更新與支援。像是 AWS CDK 近期推出了 CDK V2,此版本讓使用者不需要隨時注意不同 library 之間的版本是否相容,只需下載單一個 package 就可以了。此外,CDK 還新增支援 Go 語言,讓其使用者可以更加熟悉、快速的部署 AWS 資源。
上述服務外,AWS 還針對許多服務的計價方式、服務功能與支援…等,都推出了些新方案與改動!
焦點新聞
AWS 推出新的 Local Zones:Boston(波士頓)、Houston(休斯敦),以及 Miami(邁阿密)
Local Zone 是在 2019 年的 AWS re:Invent 中推出的新基礎設施,作為 AZ 的延伸,讓當地的使用者可以享受更低延遲性的體驗。針對使用 AWS 核心服務(例如:Amazon EC2、Amazon EBS、 Amazon VPC 等等)所建構的應用程式,將資源建立在 Local Zone 可降低系統整體的延遲性。
此次更新後,AWS 在三個地方新增了 Local Zone,分別是 Boston(波士頓)、Houston(休斯敦),以及 Miami(邁阿密)。
而這三個 Local Zone 皆隸屬於 N. Virginia Region (us-east-1) 之下,如果要使用這三個新的 Local Zone 的使用者,需切換到 N. Virginia Region 才可選用。
參考來源至:Announcing the General Availability of AWS Local Zones in Boston, Houston, and Miami
圖片來源至:AWS Local Zones Are Now Open in Boston, Miami, and Houston
AWS SAM CLI 新增支援 CDK – preview
AWS SAM 和 AWS CDK 都是用於使用基礎結構即代碼(IaC)創建應用程式的開源框架;AWS SAM 使用的是以 JSON 或 YAML 為模板的方式進行部署,而 AWS CDK 則是使用 Python 或 Node 等高階程式語言進行定義模板的新方法。
以往使用者能透過 SAM CLI 來測試與打包、部署 CloudFormation 模板於本地,而透過 CDK 所產生的模板則無法於本地進行測試,此次更新後使用者可以透過 SAM CLI 於本地測試 CDK 專案,
參考來源至:AWS SAM CLI now supports AWS CDK applications – public preview
AWS 推出 Cloud Development Kit (AWS CDK) v2(Preview)
在 AWS CDK v2 中,最主要的更動是 AWS 把以往 v1 裡,各個服務所使用的 library 統整在一個名為 aws-cdk-lib
的 package。之後使用者就不需要依據部署的資源,一個個 library 得下載、引用,甚至隨時注意不同 library 之間的版本是否存在差異,現在只要下載單一個 package 就可以了。
除此之外,AWS 也將 constructs programming model 統整成一個名為 constructs
、獨立的 library,同時也已經套用至 cdk8s 以及 terraform-cdk。更多關於 CDK v2 的功能,可參閱附註的參考來源。
CDK 新增支援 Go 語言(Preview)
除了上述的更動,CDK 新增支援 Go 語言,讓習慣使用 Go 語言開發的使用者,可以更加熟悉、快速的部署 AWS 資源。
參考來源至:AWS Cloud Development Kit (AWS CDK) v2 and Go CDK is now available for Developer Preview、Announcing AWS Cloud Development Kit v2 Developer Preview
Amazon DevOps Guru 正式 GA
Amazon DevOps Guru 主要透過 CloudWatch、Config、CloudTrail、 CloudFormation 以及 X-Ray 等多個數據來源整合為單一控制台,讓使用者查詢和視覺化這些監控數據,以減少使用者在多個服務中切換的繁瑣過程。
使用者可直接於 Amazon DevOps Guru 中啟用此功能,大概會花數小時的時間來蒐集並彙整這些資訊,假設使用者目前的架構為一個 Serverless 無伺服器環境,API Gateway + Lambda + DynamoDB:
倘若架構中有錯誤,我們會習慣從每個服務依序去查看 log,確認是哪一個部分有錯誤,但這個 Trail 的過程對於開發者來說不夠友善。啟用 Amazon DevOps Guru 後,使用者可以直接從 Amazon DevOps Guru Console,看到整個架構中不同階段的 Insights report。
參考來源至:Amazon DevOps Guru now generally available with additional capabilities
其他服務更新
AWS Snow Family 推出長期性的計價方案
AWS Snow Family 是一系列可幫助使用者搬遷大量資料至 AWS 機房的實體裝置,例如:Snowcone、Snowball、Snowmobile。
此次更新後,如果想長期使用 Snow Family 服務的使用者,可透過 AWS Console 或是直接呼叫 AWS API 來傳送請求。Snow Family 長期計價方案有分為以 1 年或 3 年為期,並可得到與 On-demand 相比,最高 62% 的折扣(需要預付費用)。
以往使用者如果想申請長期性的 snow job,需要自行聯絡 AWS 銷售人員來辦理,不僅花費較長的處理時間,使用者也難以了解當前處理的進度。現在透過 Console,就可以快速的追蹤、下訂長期性的 Snow Family 裝置。
參考來源至:AWS Snow Family now enables you to order, track, and manage long-term pricing Snow jobs
AWS Glue DataBrew 現在可以和 Amazon AppFlow 整合以快速連結其他第三方 SaaS 應用程式與 AWS Services 裡的資料 (Preview)
AWS Glue DataBrew 是一個方便使用者準備、清理資料的工具,透過內建多達 250 種以上的處理方式,主打不用寫任何程式碼,也可以快速整理好資料以利後續分析。而 Amazon AppFlow 則是可以連結其他第三方 SaaS 軟體(例如:Salesforce、Zendesk、Slack 以及 ServiceNow)至 S3 bucket、Redshift 的服務。
此次更新後,透過兩者的整合,使用者可快速地將放置在其他第三方 SaaS 軟體裡的資料,在連結放置 S3 bucket 後,讓 Glue DataBrew 進行資料處理,加速整體數據分析的流程。
Amazon ECS on AWS Fargate 支援單一個 Task 最高 200GiB 的臨時存儲空間
Ephemeral storage(臨時存儲空間)是 Container 內部短暫性的儲存空間,通常 Container Application 會將程式運行過程中的暫時性資料存放在此空間裡,或是 Docker image 打包的程式碼、工具包、參數設定⋯等,一開始也會暫存在 ephemeral storage。
隨著越來越多使用者開始利用 Container 運行各式各樣的應用程式,Fargate 原先支援 20GB 的 ephemeral storage 漸漸無法滿足使用者的需求,像是利用 Container 運行機器學習、數據分析⋯等需要較大儲存空間的應用程式,使用者只好選擇 EC2 Instance 為 Container 的 Host,自行選擇擁有較大 ephemeral storage 的 Instance Type 以滿足需求,同時自行負責管理 Compute Layer 的維運。
此次更新後,Fargate 支援單一個 Task 最高 200GiB 的 ephemeral storage。有上述較大 ephemeral storage 需求的使用者,也可以選擇 Fargate 來運行 Container,同時也省去自行管理 Compute Layer 的麻煩。
以下的展示,是 AWS 官方透過 AWS Copilot CLI 啟用的 Fargate Container Application,進入到 Container 的 shell,列出 Container 內部儲存空間
參考來源至:Amazon ECS on AWS Fargate now allows you to configure the size of ephemeral storage for your Tasks
圖片來源至:Amazon ECS on AWS Fargate now enables customers to configure ephemeral storage up to 200GiB
Amazon CloudFront 推出新功能 – CloudFront Functions
CloudFront Functions 是一個新的 Serverless 邊緣運算資源,讓使用者可以在現有的 CloudFront 節點上運行 JavaScript 腳本。
CloudFront Functions 主要能夠讓使用者:
– 操作、檢查 Cache-Key、轉換 HTTP 請求(URL、Header、cookie、query string)
– 重新導向 URL
– 做 request 的 authorization
CloudFront Functions 與原先的 Lambda@Edge 在設計上有些許的區別,CloudFront Functions 僅針對 request header 進行操作,無法取得 body 內的資訊;效能面上 CloudFront Functions 可用的 memory 僅有 2MB,遠不及 Lambda@Edge,但在延遲方面 CloudFront Functions 遠低於 Lambda@Edge。
CloudFront Functions | Lambda@Edge | |
---|---|---|
Runtime support | JavaScript
(ECMAScript 5.1 compliant) |
Node.js, Python |
Execution location | 218+ CloudFront
Edge Locations |
13 CloudFront
Regional Edge Caches |
CloudFront triggers supported | Viewer request
Viewer response |
Viewer request
Viewer response Origin request Origin response |
Maximum execution time | Less than 1 millisecond | 5 seconds (viewer triggers)
30 seconds (origin triggers) |
Maximum memory | 2MB | 128MB (viewer triggers)
10GB (origin triggers) |
Total package size | 10 KB | 1 MB (viewer triggers)
50 MB (origin triggers) |
Network access | No | Yes |
File system access | No | Yes |
Access to the request body | No | Yes |
Pricing | Free tier available;
charged per request |
No free tier; charged per request
and function duration |
參考來源至:Amazon CloudFront announces CloudFront Functions, a lightweight edge compute capability
Amazon RDS 新增支援跨區域自動備份
適用於 Oracle、PostgreSQL 及 SQL Server 的 Amazon Relational Database Service(RDS)開始支援跨區域的自動備份,此功能擴展了現有的 RDS 備份功能,讓使用者能夠將 snapshot 和 log 自動複製到另一個 AWS Region,並且能夠使用該區域中的 AWS KMS – CMK 進行加密,讓使用者又多了一個 DR 的新功能。
參考來源至:Amazon RDS for Oracle and Amazon RDS for PostgreSQL now support Amazon RDS Encrypted Cross-Region Automated Backups、Amazon RDS for SQL Server supports Managed Disaster Recovery (DR) with Amazon RDS Cross-Region Automated Backups
Amazon EBS Container Storage Interface (CSI) 驅動程式 正式 GA
Amazon EBS CSI 是一個讓使用者可以更加便利管理正在 Amazon Elastic Kubernetes(EKS) 及 自己建立的 Kubernetes Cluster 中運行的 EBS,現在開始可以將 CSI 驅動程式安裝在 1.17 版本以上的 EKS 中,進行 EBS Snapshot、調整 EBS 大小等等。
參考來源至:Amazon EBS Container Storage Interface (CSI) driver is now generally available
Amazon SageMaker Data Wrangler 新增支援跨帳號讀取 S3 資料及分散式數據處理
SageMaker Data Wrangler 透過介面讓使用者可以簡單、輕鬆地完成資料前處理的工作,其中包含 data selection、cleaning、exploration 和 visualization 等工作。Sagemaker Data Wrangler 的 data selection tool 可以讓使用者輕鬆選擇要導入 ML 訓練的資料。
SageMaker Data Wrangler 已經支援來自 Athena、S3、Redshift 與 Lake Formation 作為 Data Source,未來也將會支援 snowflake、mongoDB 跟 databircks 等資料來源。
此次更新後,使用者可以透過 SageMaker Data Wrangle 來跨帳號存取 S3 資料,並支援 1000 列數據來進行分散式作業。
Amazon EMR on Amazon EKS 提供 Pod Templates 簡化 Spark 工作程序
K8s 是近年來非常火活的架構,讓使用者可以方便地去操作系統架構面的元件,更專注在開發上。而 EKS 就是在 Amazon 上提供的 K8s 服務,它提供許多功能,讓使用者可以更方便去控管 K8s 架構。
在前陣子,Amazon 宣布可以將 EMR 建置在 EKS 上,可以讓使用者提高資源使用率,此次更新後,可以使用 Pod Templates 簡化管理架構,假設要在 EMR 上跑 Spark,透過 Pod Templates 可以將 Spark 的 Worker 配置在 On-Demand 的 EC2,確保它不會中斷,然後將 Spark 的 Executor 配置在 Spot 的 EC2,更有效地控管成本!
AWS Systems Manager 新增 Incident Manager 功能
Incident Manager 是 AWS Systems Manager 的新功能,可以幫助使用者快速地解決應用程式可用性及效能的問題。
當 Amazon CloudWatch 及 Amazon Eventbridge 偵測到問題時,可以透過 Incident Manager 執行預先配置的自動化處理計畫,像是透過 SMS、AWS Chatbot 啟用聊天通知維運人員,也能同時觸發 AWS Systems Manager Automation 去做自動化修復,所以 Incident Manager 其實就是提供了一個集中管理的介面,讓維運人員更加方便去管理這些資源自動化處理的配置,你也可以將此功能加進去 AWS Systems Manager OpsCenter 裡,將所有在 AWS System Manager 裡的配置集中管理,且能跟像是 Jira Service Desk和 ServiceNow 這類第三方事件管理服務同步,提供使用者更大的操作彈性。