【发布时间】:2019-05-10 16:36:16
【问题描述】:
如果我使用我的 serverless.yml 文件创建 VPC 和子网并稍后再次部署它,是否会再次创建 VPC?或者只推送增量更改。
【问题讨论】:
标签: amazon-web-services aws-lambda serverless-framework
如果我使用我的 serverless.yml 文件创建 VPC 和子网并稍后再次部署它,是否会再次创建 VPC?或者只推送增量更改。
【问题讨论】:
标签: amazon-web-services aws-lambda serverless-framework
Serverless.yml 文件编译为有效的 CloudFormation。如果是第一次创建,它只会创建一个新的 VPC。如果在文件中更改了其配置的某些部分,它将更新现有配置。如果没有任何改变,它根本不会触及 VPC。当您部署 CloudFormation 模板时,该服务会查找当前部署的堆栈与您在文件中描述的堆栈之间的差异。这就是它如何计算出要执行的操作。
所以,答案是否。它不会在后续部署中复制您的 AWS 资源。
【讨论】:
我对无服务器框架一无所知,但如果它像其他答案所暗示的那样正确地基于 CloudFormation,那么这就是 CloudFormation 的真实情况:
这取决于您是否更改了需要替换的基础资源的属性。对于VPC,请在此处查看属性列表:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html
您可以看到对 CidrBlock 的更新需要替换 - 这意味着将创建一个新的 VPC,然后删除旧的 VPC。
对于Subnet,请参阅https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html——CidrBlock、AvailabilityZone 和 VpcId 需要替换。显然,如果 VPC 被重新创建,子网也会被重新创建。
【讨论】: