我有一个手动创建的安全组来访问Redis,并且正在使用AWS CloudFormation创建一个LAMP堆栈。我需要从Redis 更新Amazon EC2安全组,以允许从此LAMP堆栈进行访问,但我希望通过CloudFormation更新它-这可能吗?
我有一个手动创建的安全组来访问Redis,并且正在使用AWS CloudFormation创建一个LAMP堆栈。我需要从Redis 更新Amazon EC2安全组,以允许从此LAMP堆栈进行访问,但我希望通过CloudFormation更新它-这可能吗?
Answers:
可以使用SecurityGroupIngress更新现有的SecurityGroup
例如:
"SecurityGroupRedisIngress": {
"Type": "AWS::EC2::SecurityGroupIngress",
"Properties" : {
"GroupId": "sg-123456789",
"IpProtocol": "tcp",
"FromPort": "6379",
"ToPort": "6379",
"CidrIp": "1.2.3.4/0"
}
}
是的,您可以更新它。对云形成模板进行必要的更改,并使用必要的模板和参数文件或参数列表执行以下命令。
在使用以下命令对模板进行更改后,验证模板始终是一个很好的做法。一旦验证通过,就可以执行update stack命令。
aws cloudformation validate-template --template-body“ file:// mention_your_template_name(example.json)”
aws cloudformation update-stack --stack-name“提及堆栈名称” --template-body“ file:// mention_your_template_name(example.json)” --parameters“ file:// mention_your_parameter_file或list_of_parameters(example_parameters.json)”
更新模板后,打开aws cloudformation控制台,单击堆栈,然后在其下单击资源控制台,并注意已更新的资源。
您可以修改模板中的任何AWS资源,但是在处理RDS或类似内容时需要注意...检查AWS文档,因为在更新资源时它将重新创建这些资源。建议为数据库拍摄快照。但是对于安全组来说,这很好。