使 serverless.yml 使用现有的 vpc
make serverless.yml use existing vpc
是否可以获得 serverless.yml 模板,以便用 VPC id 替换 AWS 账户中已存在的 VPC?
我和我的同事每个人都有自己的 AWS 账户,这些账户由我们公司使用单个 VPC 提供(我们没有创建自己的 VPC 的权限)所以我希望我的 serverless.yml能够为每个人获取该人帐户的 VPC id,并将其替换为 serverless.yml
有没有办法做到这一点或使用无服务器,或者是否有必要使用环境变量对其进行参数化?
如果 VPC 是通过 Cloudformation 模板创建的,您可以export a stack output value for each of your VPC Ids. Then within your serverless.yml
file you can use the built-in intrinsic function Fn::ImportValue读取导出的 vpc id 的值。
如果您不使用 Cloudformation 或无法导出 vpc id,那么我建议将其作为参数添加到无服务器。我个人认为为 VPC ID 添加参数没有什么坏处。
编辑您的 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
是否可以获得 serverless.yml 模板,以便用 VPC id 替换 AWS 账户中已存在的 VPC?
我和我的同事每个人都有自己的 AWS 账户,这些账户由我们公司使用单个 VPC 提供(我们没有创建自己的 VPC 的权限)所以我希望我的 serverless.yml能够为每个人获取该人帐户的 VPC id,并将其替换为 serverless.yml
有没有办法做到这一点或使用无服务器,或者是否有必要使用环境变量对其进行参数化?
如果 VPC 是通过 Cloudformation 模板创建的,您可以export a stack output value for each of your VPC Ids. Then within your serverless.yml
file you can use the built-in intrinsic function Fn::ImportValue读取导出的 vpc id 的值。
如果您不使用 Cloudformation 或无法导出 vpc id,那么我建议将其作为参数添加到无服务器。我个人认为为 VPC ID 添加参数没有什么坏处。
编辑您的 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