AWS Lambda 服務增加VPC和Python支持
在AWS的re:Invent 2015大會上,亞馬遜網絡服務重點關注對其現有服務的改善和擴展,其中就包括了AWS Lambda。自從今年早先時候AWS推出Lambda服務以來,開發人員一直都在要求擁有在VPC后設置一個Lambda集群的能力,或者最起碼能夠為 Lambda功能配置安全組。這僅僅只是Lambda服務近期新增AWS功能中的一項。
對于Lambda服務的普通用戶來說,在AWS虛擬私有云計算(VPC)后部署服務的功能可能并不會讓他們感覺有多么興奮。但是,如果您正在使用 Lambda來訪問被限制在防火墻(例如MySQL或其他傳統的關系型數據庫)后的資源,那么這是一個巨大的進步。通過把AWS Lambda置于VPC之后,當在DynamoDB中檢測到數據記錄發生變化時,DynamoDB流就可以觸發一個AWS Lambda功能,從而自動更新Aurora數據庫。這也意味著用戶可以限制訪問Lambda功能,所以這些功能只能在內部網絡中被調用——此舉增加了額外的系統安全性。
雖然大部分的現代資源并不是根據IP地址范圍來進行過濾的,但是更老的技術是這么做的。AWS Lambda中的VPC支持允許訪問密鑰身份驗證框架來訪問IP限制的資源。Lambda可以通過VPC被部署在防火墻內,從而訪問傳統平臺;開發人員可以直接通過Lambda安全地使用新的外部客戶端。
使用MySQL、Lambda和瀏覽器應用程序
如果開發人員正在使用Lambda 服務、AWS SDK以及Java腳本程序來開發無服務器的網絡應用程序,使用DynamoDB作為后端數據庫,那么就不應該有任何問題。但是,為了使用一個諸如 MySQL或Amazon Aurora這樣的關系型數據庫,可創建一個橋型應用程序或者打開RDS MySQL實例。這可以打開MySQL,一個用于實現零日漏洞的臭名昭著目標以防進一步的攻擊。一般情況下,在一個開發端口上運行MySQL實例是一個糟糕的安全措施。
但是,運行Lambda服務是一個偉大的方法,它去除了一個后端,用戶就不需要編寫驗證MySQL的中間層,并為在Lambda外進行訪問提供了一 個安全的方法。幸運的是,將Lambda功能置于VPC中可讓開發人員配置安全組并確保MySQL集群只使用特定Lambda功能。此舉可顯著減少曝光并 確保 MySQL實例得到合適保護。
確保只有授權用戶能夠訪問Lambda功能仍然是非常重要的,但是很幸運使用亞馬遜Cognito和IAM角色可以很容易地確保其安全性。
針對Lambda功能的調度功能
另一項改善就是提供了調度AWS Lambda功能的能力。這使得開發人員能夠定期允許后臺任務以取代使用任務實例或諸如Cloud Cron之類的工具來運行腳本程序。Lambda服務還增加了它的最長運行時間至五分鐘。
例如,如果一家公司需要定期從博客網站讀取RSS訂閱,那么他們就可以在AWS Lambda中通過觸發一個自動調度功能來排隊讀取博客列表中的所有待讀取訂閱內容,從而實現這一功能。該公司就可以安排主機功能每隔若干個小時從 DynamoDB讀取數據,然后針對每一個博客觸發Lambda函數讀取訂閱。
由于目前Lambda對設置了100個并發函數調用的限制,該公司就需要首先對這些調用進行排隊處理。但是一旦AWS取消了這一限制,那么用戶就可以通過主機調度函數觸發這些調用。
支持Python
AWS Lambda目前支持Python,如果你正在現有環境中使用Python,那么這一點是非常重要的。但是,這也暗示AWS將在未來增加對額外編程語言的支持——甚至可能是對Docker的支持。
原文鏈接:http://www.searchcloudcomputing.com.cn/showcontent_91291.htm