Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Aws lambda 如何使用无服务器框架管理生产、测试和开发环境_Aws Lambda_Serverless Framework_Serverless - Fatal编程技术网

Aws lambda 如何使用无服务器框架管理生产、测试和开发环境

Aws lambda 如何使用无服务器框架管理生产、测试和开发环境,aws-lambda,serverless-framework,serverless,Aws Lambda,Serverless Framework,Serverless,我计划使用aws lambda和无服务器框架构建一个企业应用程序 我想分离开发、测试和产品环境,并计划使用AWS参数存储 我不想让开发人员看到我的生产环境配置。如果开发人员运行命令serverless offline-s production start,则不应获取生产配置 只有在将无服务器功能成功部署到aws lambda后,才能获得此功能。根据您的问题,这里有一些注意事项: 要在无服务器框架上拥有不同的环境,您必须设置阶段。此值可以在执行sls命令时作为参数传递 如果您将代码保存在repo

我计划使用aws lambda和无服务器框架构建一个企业应用程序

我想分离开发、测试和产品环境,并计划使用AWS参数存储

我不想让开发人员看到我的生产环境配置。如果开发人员运行命令
serverless offline-s production start
,则不应获取生产配置


只有在将无服务器功能成功部署到aws lambda后,才能获得此功能。

根据您的问题,这里有一些注意事项:

  • 要在无服务器框架上拥有不同的环境,您必须设置阶段。此值可以在执行sls命令时作为参数传递
  • 如果您将代码保存在repo中,那么开发人员将可以访问所有配置。如果这真的很重要,您可以将生产配置保存在diff repo中,只有非常特定的人才能访问它,然后在serverless.yml中引用in。前任:
    custom:${file(./config/${opt:stage,'dev'}.json)}
    然后在您的配置文件夹中创建prod.json文件,但指向您创建的新repo的真实文件。注意:这将使您的项目更难维护
  • 考虑到您不希望开发人员在本地执行您的生产环境。您可以使用serverless offline的全局变量来阻止执行。你也可以通知他们不要这样做
以下是基于您的问题的良好实践和解决方案:

  • 考虑到您有一个生产环境要与公司中的给定组隔离,您应该创建VPC并相应地配置其资源访问

  • 然后创建具有不同访问权限的用户。当您的开发人员试图执行代码访问VPC中的资源(例如dynamoDB)时,他们没有访问权限,他们将被阻止

  • AWS配置以定义将执行SLS命令的用户

  • 您的开发团队仍然可以访问您的配置文件

    注意:在这种情况下,有权访问生产专有网络的人员/组必须进行部署

如果答案还不够,请您强调一下,在您的无服务器项目中,哪种类型的资源是敏感的?我认为DB是理所当然的,因为它是最常见的场景