是否可以获取serverless.yml模板,以便用VPC ID替换AWS账户中已经存在的VPC?
我和我的同事每个人都有我们自己的AWS帐户,这些帐户由我们公司通过单个VPC设置(并且我们无权创建自己的VPC),所以我希望我的serverless.yml能够每个人,获取该人帐户的VPC ID,并将其替换为serverless.yml
是否可以使用无服务器执行此操作?是否有必要使用环境变量对其进行参数化设置?
答案 0 :(得分:1)
如果VPC是通过Cloudformation模板创建的,则可以your own kernel来输入每个VPC ID。然后,在serverless.yml
文件中,您可以使用内置的固有函数export a stack output value来读取导出的vpc id的值。
如果您不使用Cloudformation或无法导出vpc ID,那么我建议将其作为参数添加到无服务器。我个人认为为VPC ID设置参数没有什么害处。
答案 1 :(得分:1)
编辑您的serverless.yml
尝试在功能或提供者部分添加vpc:
特定功能:
functions:
getAllTrucksTSPFleetilla:
handler: src/functions/get-all-trip-stop-parking.handler
vpc:
securityGroupIds:
- sg-xxxxxxx1
- sg-xxxxxxx2
subnetIds:
- subnet-xxxxxx1
- subnet-xxxxxx2
- subnet-xxxxxx3
在所有项目中:
provider:
name: aws
vpc:
securityGroupIds:
- sg-xxxxxxx1
- sg-xxxxxxx2
subnet-xxxxxx1
- subnet-xxxxxx2
- subnet-xxxxxx3
要获取安全组和相关信息,您需要转到aws控制台上的 VPC服务并找到此信息。
访问无服务器文档:sls vpc docs