是否可以从 CloudFormation 更新现有的 EC2 安全组?

是否可以从 CloudFormation 更新现有的 EC2 安全组?

我有一个手动创建的安全组可以访问Redis,我正在创建一个 LAMP 堆栈阻止某些类型的 Cookie 的话会影响到您的网站体验。您可以随时单击此网站页脚中的 Cookie 首选项来对您的 Cookie 首选项进行更改。要了解有关我们及经批准的第三方如何在网站上使用 Cookie 的更多信息,请阅读 AWS Cookie 声明。我需要更新亚马逊 EC2Redis 的安全组允许从此 LAMP 堆栈进行访问,但我希望通过 CloudFormation 进行更新 - 这可能吗?

答案1

可以使用以下方法更新现有的 SecurityGroups安全组入口

例如:

"SecurityGroupRedisIngress": {
    "Type": "AWS::EC2::SecurityGroupIngress",
    "Properties" : {   
        "GroupId": "sg-123456789",
        "IpProtocol": "tcp",
        "FromPort": "6379",
        "ToPort": "6379",
        "CidrIp": "1.2.3.4/0"
    }
}

答案2

是的,您可以更新它。对您的云形成模板进行必要的更改,并使用必要的模板和参数文件或参数列表执行以下命令。

使用以下命令对模板进行更改后,验证模板始终是很好的做法。验证成功后,您可以执行更新堆栈命令。

aws cloudformation 验证模板 --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 文档,因为在更新资源时它会重新创建这些资源。建议对数据库进行快照。但对于安全组来说,这样做没问题。

相关内容