AWS Serverless 共享配置資料
無伺服器環境中的配置資料共享
在微服務架構中,服務和函式之間的通訊至關重要。
一個服務需要配置或連線資料才能與其他服務進行通訊。
在程式碼中處理配置資料或秘密是開發人員面臨的常見問題。
這些包括連線字串、日誌記錄選項和輸出。
這些資料可能是敏感的,因此請勿無意中將其檢入原始碼或分發。
在處理敏感資料(如配置資料)時,有幾種部署選項
- 這些資料可以硬編碼在您的程式碼中
- 您可以使用環境變數
- 您可以使用這些資料的執行時載入
切勿在應用程式程式碼中硬編碼秘密或配置資料。
執行時載入資料會增加延遲,並將敏感資料排除在您的程式碼之外。
這是一個最佳實踐。
無伺服器環境中的配置資料共享影片
W3schools.com 與 Amazon Web Services 合作,為我們的學生提供數字培訓內容。
環境變數
環境變數是一個動態命名的項,可以改變程式的行為。
使用 Lambda 時,請將配置引數與程式碼分開。
AWS Key Management Service 可以加密這些值。
由於環境變數是函式特定的,因此無法設定 Lambda 函式。
必須更新所有使用環境變數的 Lambda 函式。
AWS Systems Manager Parameter Store
配置資料的一種解決方案是 AWS Systems Manager Parameter Store。
它是一個免費的、完全託管的、集中的儲存系統,用於配置資料管理。
Parameter Store 透過版本控制跟蹤所有引數更改。
切勿在程式碼或環境變數中保留敏感資料。
使用 Systems Manager 引數來儲存您的秘密和共享配置設定。
但是,Parameter Store 可能會增加延遲。
因此,您應該對函式進行基準測試,以確定最佳技術。
解決效能問題的一種技術是使用 AWS X-Ray。
相關閱讀
什麼是 AWS Secrets Manager?AWS Systems Manager FAQ
使用 AWS Systems Manager Parameter Store 與 AWS Lambda 共享秘密
AWS Lambda 環境變數