簡體   English   中英

如何使用無服務器框架管理生產,測試和開發環境

[英]How to manage production, test and development environments with serverless framework

我計划使用aws lambda和無服務器框架構建企業應用程序。

我想將開發,測試和生產環境分開,我打算為其使用AWS Parameter存儲。

我不想讓開發人員了解我的生產環境配置。 如果開發人員運行serverless offline -s production start命令,則不應獲取生產配置。

僅當無服務器功能已成功部署到aws lambda時,才應獲取該文件。

以下是基於您的問題的一些注意事項:

  • 要在無服務器框架上具有不同的環境,您必須設置階段。 執行sls命令時,可以將該值作為參數傳遞。
  • 如果您將代碼保存在存儲庫中,則開發人員將可以訪問所有配置。 如果這確實很重要,則可以將生產配置保留在差異存儲庫中,只有非常特定的人員才能訪問它,然后在serverless.yml中進行引用。 例如: custom: ${file(./config/${opt:stage, 'dev'}.json)} ,然后在config文件夾中創建prod.json文件,但指向新倉庫中的真實倉庫之一您創建的。 注意:這會使您的項目難以維護。
  • 考慮到您不希望開發人員在本地執行生產環境。 您可以使用無服務器脫機的全局變量來阻止執行。 您還可以隨后告知不要這樣做。

根據您的問題,以下是一種好的做法和解決方案:

  • 考慮到您要與公司中的給定組隔離的生產環境,應創建VPC並相應地配置其資源訪問權限。
  • 然后,您創建具有差異訪問權限的用戶。 當您的開發人員嘗試執行代碼以訪問他們無權訪問的VPC中的資源(例如,dynamoDB)時,它們將被阻止。
  • AWS配置為定義哪個用戶將執行SLS命令。
  • 您的開發團隊仍然可以訪問您的配置文件。

    注意:在這種情況下,有權訪問生產VPC的人員/組將必須進行部署。

如果答案不足夠,您能否在您的無服務器項目中加強對哪種類型的資源敏感? 我認為這是數據庫,因為這是最常見的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM