【每周快報】1029-1104 AWS 服務更新
前言
AWS 在去年底的 re:Invent 上宣布了 AWS Nitro Enclave 服務,而這個服務在十月終於正式推出囉!AWS Nitro Enclave 讓使用者可以建立一個隔離的運算環境,進一步保護高度敏感的資料,很適合像是醫療產業或是金融業這類具有較敏感資料的產業。另外,許多人熟悉的 Amazon Spot Instance 在這周推出 Capacity Rebalancing,它能夠在發現機器即將中斷的時候,先開好 Spot Instance,進而降低應用程式效能的問題。
這周我們還會介紹量子運算服務、資料庫、物聯網、機器學習等各個領域所推出的新功能或支援,同時我們也會分享這些服務更新帶來的改善與影響。
焦點新聞
Application Load Balancers (ALB) 支援點對點 HTTP/2 gRPC 協議
gRPC 使用 HTTP/2 進行傳輸,它提供了 HTTP/2 的優勢,例如更小的網路使用量和高效的二進制序列化壓縮,對多種語言的支持以及雙向串流等功能。基於這些效能優勢,開發者們已開始將 gRPC 使用於 Client 端通訊服務,並已成為微服務間彼此溝通的首選協議。
此次更新後,Application Load Balancer (ALB) 支援 gRPC 協議,使用者將可以在微服務或啟用 gRPC 的 Client 端之間路由和負載平衡 gRPC 流量,讓使用者不需要調整架構便能接軌並管理 gRPC 流量,且無需更改 Client 端或服務上的任何底層基礎架構。
如果要在 ALB 使用這個功能,必須選擇 HTTPS 作為 listener protocol、選擇 gRPC 作為 Target group 的 protocol,並將 Instance 或 IP 註冊到 Target group 作為分流目標。ALB 提供了基於內容的路由功能,讓使用者可以確認 gRPC Request,並根據 Request Header 路由到對應的 Target group。在 Target group 中, ALB 將使用 gRPC Health check 方式來確認 Target 的可用性,並提供 gRPC access log 來監控流量。
參考來源至:Application Load Balancers enables gRPC workloads with end to end HTTP/2 support
圖片來源至:New – Application Load Balancer Support for End-to-End HTTP/2 and gRPC
AWS Nitro Enclave 正式 GA
有許多企業常在雲端處理高敏感性的資訊,像是個人身份資訊、醫療、財務或是著作等資訊,雖然在靜態及傳輸過程中會透過加密及存取控制來保護這些資訊,但是在處理過程時,這些資訊需要被解密,為了降低資訊外洩,可能會將專門處理資訊的 EC2 放在同一個 VPC 裡面,並限制它的存取權限,刪除不必要的軟體,以達到高度隔離環境的安全性需求。
AWS 為了更容易創建及管理高度隔離環境,推出 AWS Nitro Enclaves — 一個透過 Nitro Hypervisor 技術來提供使用者建立隔離的運算環境的服務,進一步保護和安全處理高度敏感的資訊。
Nitro Enclaves 提供了安全的環境,它就像是在一台 EC2 上開了一個小房間,在 EC2 上執行的程序、應用程式和使用者,皆無法存取自己以外的其他資料,而且 Nitro Enclaves 非常靈活,能夠讓使用者完全控制分配給隔離環境的記憶體以及運算資源。不僅如此,Nitro Enclaves 還可以與 AWS Key Management Service 合作,可進行敏感資訊的處理,以達到保護資料目的。
Amazon Spot Instance 推出 Capacity Rebalancing
Spot Instance 享有比 On-Demand Instance 價格還更高的折扣,但是物美價廉的狀況下,勢必會有一些缺點,那就是 Spot Instance 是會被中斷的。在中斷的前 2 分鐘,AWS 會通知該台機器即將被收回、關閉,也因此使用 Spot Instance 具有一定風險,使用者需要設計應變對策來降低工作中斷的影響。
面對動態的需求變化,在工作效能及價格的考量下,對於 Spot 使用者而言,運行有中斷容忍能力的工作負載極為重要。近年來 AWS 陸續推出了 Spot Fleet 搭配多樣的 Spot 請求策略,例如做混合配置 Instance 的請求,搭配多種 Instance 類型及 Spot、On-Demand 的比例調配,或是在選擇當下價格最為划算或是平均分散在各個 AZ 裡的費用策略,進而幫助使用者更便利、彈性地去配置 Spot Instance。
而使用者在乎的還有另一個面向:維持應用程式的可用性,搭配 Auto Scaling 去自動請求或刪除 Spot Instance,但是會發現一個問題,那就是當 Spot Instance 被中斷收回後,Auto Scaling 才會開始長新的 Spot Instance;這個時候可能會對其他的 Spot Instance 造成負擔,進而導致應用程式效能低落,這並不是使用者所樂見的。
在此次更新後,推出 Capacity Rebalancing 解決了這個問題,當 Spot Instance 要被中斷時, AWS 會發送通知至 EC2 新的 metadata events/recommendations/rebalance
,搭配 Rebalance recommendation ,當該 Spot Instance 收到 Spot Interruption Notice
的時候會後續接應的 rebalance action 去動作。
讓使用者在收到通知的當下提前做準備,例如:提早開好新的 Spot Instance 接應工作、處理 Request、並停止發送 Request 到可能被中斷的 Spot Instance 或是提前將 Spot Instance 做備份;而不是等到 Spot Instance 被收回後才後知後覺,提供給使用者在 Spot 上更大的操作彈性。
須注意僅支援更新發布後,新請求的 Spot Instance。
參考來源至:Introducing EC2 Instance rebalance recommendation for EC2 Spot Instances
其他服務更新
Amazon Braket 新增支援 Private Link
Amazon Braket 是一項全託管的量子運算服務,幫助使用者探索當前量子運算技術的潛在應用,此服務提供了一個開發環境來設計量子演算法,並在模擬的量子計算機上對其進行測試,並在不同類型的量子運算硬體上運行。
此次更新後,使用者可於私有 VPC 環境中開啟 VPC Endpoint 來與 Braket 進行溝通,透過此作法能夠讓此流量維持在 AWS 的內部網路中,而不用透過網際網路存取。
Amazon SES 現在提供列表和訂閱管理功能
Amazon Simple Email Service (SES) 是一個電子郵件服務,使用者可以使用 SMTP 或一個 AWS SDK 將 SES 直接整合到使用者的系統或應用程序中。
此次更新後,使用者可以創建和管理聯絡人列表,其中每個列表都包括收件者的訊息內容,聯絡人列表是代表客戶帳戶中不同業務的列表,並且該列表可以包含多個 Topic。
此外,使用者還可以設定 SES,在電子郵件中新增「取消訂閱」按鈕,以使收件者能夠取消訂閱。
參考來源至:Amazon SES now offers list and subscription management capabilities
AWS Site-to-Site VPN 新增支援健康通知
每條 AWS Site-to-Site VPN 都有兩個通道作為達到 HA 的設置,當如果沒有照著 AWS 最佳實踐使兩條 VPN tunnels 都呈現 On 狀態,或者 VPN 因為更換了 endpoint 而暫時失去 High Availability(HA)的狀態,則 AWS 現在會通過 Personal Health Dashboard(PHD)發送通知。
若使用者僅建立了一個通道的 VPN 並連續運行超過一個小時,則每週會發送一次通知,來提醒使用者架構有單點故障的可能性。
參考來源至:AWS Site-to-Site VPN now supports health notifications
AWS Database Migration 新增 Amazon DocumentDB 資料庫轉換
AWS Database Migration 是一個可以搬遷資料庫的服務,不管是關聯式資料庫、NoSQL 資料庫或其他類型的資料庫存儲,都可以透過 AWS DMS 安全地將資料搬遷到雲端上、或者是搬遷回地端,不僅如此使用者也可以透過它轉移其他類型資料庫,像是將 MySQL 轉換成 PostgreSQL,或是其他 NoSQL 資料庫。
此次更新後,AWS DMS 支援從 Amazon DocumentDB Cluster 搬遷、轉換到任何 AWS DMS 支援的資料庫引擎。
AWS Database Migration Service 支援適用於 Amazon DocumentDB 和 MongoDB 的並行負載
此次更新後,當使用 Amazon DocumentDB 和 MongoDB 作為 AWS DMS 來源時,使用者可以利用 AWS DMS 細分資料庫範圍,進行並行負載(Parallel Full Load)。因此使用者可以將資料拆分成更小的單位,並在同一個 migration task 中並行處理及上傳多個單位,加快大型資料的搬遷速度,甚至可以將搬遷效率提高達 3 倍。
Amazon API Gateway 新增支援停用 REST API 預設端點
以往 API Gateway 在 Deploy 後會自動生成 API Endpoint,其取名方式為 https://{restapi_id}.execute-api.{region}.amazonaws.com
,對於想要客製化 API 端點名稱的使用者來說,可以透過 Custom Domain 來作為 API Alias 或是 CNAME,但卻無法將預設的端點停用,造成 API 有多個 Entry point。
此次更新後,不但 HTTP API 可以停用 Default API Enpoint ,使用者現在也可以停用 REST API 的 Default API Enpoint,讓所有的流量僅能透過使用者的 Custom Domain 進入、流向統一的進出口。
參考來源至:Amazon API Gateway now supports disabling the default REST API endpoint
AWS CodeArtifact 新增支援資源標籤
AWS CodeArtifact 是一個全託管的程式碼套件管理服務,讓使用者儲存、發布和共享開發過程中所使用到的套件。
此次更新後,使用者可以利用 Tag 來對 CodeArtifact repository 和 Domain 進行分類,且使用者還能並用 IAM policy 來管理其存取權限,增強了 CodeArtifact 中套件的權限控管能力。
AWS IoT SiteWise 支援 CloudFormation 部署
IoT SiteWise 是一個針對工業設備進行大規模收集、儲存、和監控 IoT 數據的服務,提供視覺化的介面讓使用者針對數據的每一個流向進行條件設定與觸發動作。
此次更新後,使用者可以透過 CloudFormation Template 創建 IoT SiteWise 中的元件,而不必透過 Console 手動開啟或自己撰寫腳本,以降低人為錯誤發生。
Amazon Transcribe 新增支援語言
Amazon Transcribe 是一項可將語音轉為文字的服務,除了可一次性的轉譯一段語音,也可以進行即時(real-time)轉譯,可幫助使用者生成即時字幕。舉例來說:對於新聞業者,當記者正在進行 Live 即時採訪時,如果將 Amazon Transcribe 結合在系統裡面,就可以近乎即時地將當前講者所說的話,同步出現字幕在畫面的下方,以此提升使用者體驗。
此次更新後,Transcribe 可以進行即時性 辨識德語、義大利語,當使用者說出德語或義大利語的當下,Transcribe 可以近乎即時的轉譯成文字,使用者可於 Console 中測試,或是透過 API 呼叫來進行轉譯。
參考來源至:Amazon Transcribe now supports German, Italian and 2 more AWS regions for streaming audio
AWS Client VPN 推出 self service portal 以下載 VPN profiles 及桌面版應用程式
AWS Client VPN 是以 Client 端為基礎的 VPN 服務,讓使用者可以安全地存取 AWS 資源,以及自身內部環境中的資源。如果使用者要開始使用 AWS Client VPN,除了要在 AWS 端創建 VPN endpoint 之外,Client 端也需要具有 VPN client 以及由 Client VPN 管理員提供的 Client VPN endpoint configuration file 才可以建立連線。
此次更新後,AWS 推出了 Client VPN 的自助式服務端口 (self service portal),可幫助 Client 快速的下載或更新 VPN client application 及 VPN profile,對於 Client 而言,使用 self service portal 來進行前置作業的準備動作,會相對簡單許多。
參考來源至:AWS Client VPN announces self service portal to download VPN profiles and desktop applications
圖片來源至:AWS Client VPN Documentation – How AWS Client VPN works
Amazon RDS for SQL Server 新增支援 Database Mail
Database Mail 是 Microsoft SQL Server 中常用的功能之一。Database Mail 讓使用者可以利用 SMTP server,將訊息從 SQL Server 發送到 Client 端。
Database Mail 常見的使用案例有以下幾種:
- 發送客製化文字訊息
- 發送查詢的結果或報告 (query result / report)
- 利用程式碼發送與 Database 操作相關的通知
此次更新後,RDS for SQL Server 也支援使用者可以利用 Database Mail 功能,結合了 Amazon SES 作為 SMTP server,發送信件給 Client。
在開始使用之前,使用者需要先在 Amazon SES 產生 SMTP Credentials,並記錄下 Server Name, Port, SMTP-username, SMTP-password
,以寫入 RDS for SQL Server。
- 創立 SMTP Credentials 時,請記得要下載儲存,一旦關閉頁面後,就無法再次獲取。
- 接著將 SMTP server 相關的資訊寫入 RDS for SQL Server 即可。
Amazon Kinesis Data Streams 提高數據保存時間
Amazon Kinesis Data Streams 是一個數據即時串流服務,例如常見的網站點擊流(Clickstream)、IoT 數據、Database 事件、IT Log 等等。
而原先當數據傳輸進入 Kinesis Data Streams 時,最高可保存 168 小時,若需要將數據保留超過 168 小時,使用者必須另外將數據存放到像是 S3 的儲存空間,或是寫入自身應用程式,以確保數據不會遺失。
此次更新後,Kinesis Data Streams 支援 保存至 1 年的時間,使用者不僅可以利用 Kinesis Data Streams 串接即時數據,同時也可以存放歷史數據,以便同步進行分析,有助於簡化某些架構及管理上的不便。
參考來源至:Amazon Kinesis Data Streams enables data stream retention up to one year
Tag:ALB, Amazon API Gateway, Amazon Braket, Amazon DocumentDB, Amazon Kinesis Data Streams, Amazon RDS for SQL Server, Amazon SES, Amazon Spot Instance, Application Load Balancers, AWS Client VPN, AWS CodeArtifact, AWS Database Migration, AWS Database Migration Service, AWS IoT SiteWise, AWS Nitro Enclave, AWS Site-to-Site VPN, Capacity Rebalancing, CloudFormation, Database Mail, HTTP/2 gRPC, Nitro Hypervisor, Private Link, Rest API, self service portal, SQL, VPN profiles