AWS CloudFormation本身并不是基础设施的一部分,而是一种基础设施即代码(IaC)工具。因此,它本身既不可变也不可变。
使用CloudFormation创建的资源可以是可变或不可变的,具体取决于模板中定义资源的方式。
例如,以下示例模板的EC2实例是可变的。
Resources:
MyEC2Instance:
Type: AWS::EC2::Instance
Properties:
InstanceType: t2.micro
ImageId: ami-0c55b159cbfafe1f0
如果您想要创建不可变的基础设施,可以使用AWS的其他服务,例如AWS Elastic Beanstalk或AWS Lambda等托管服务。这些服务处理了许多基础设施组件,比如负载均衡器和容器等,您只需要上传代码即可。
需要注意的是,不可变基础设施的优点是可以轻松重新部署整个基础设施,而不必担心更改会影响到先前的部署。但是,对于需要进行某些类型的更改的情况,可变基础设施可能更加合适。