将我的数据库定义和我的应用程序服务器定义放在同一个云端文件中有优点和缺点:
优点:
缺点:
所以我现在正在以另一种方式 – 有一个定义RDS排列的云信息文档,以及一个定义我的应用程序层的单独的cloudformation文档。 也有利弊:
优点:
缺点:
它是困扰着我的第二种方法的第一个con – 必须在我的应用程序堆栈工作之前手动编辑我的数据库堆栈。 所以我不能在适当的时候进入一个新的应用程序堆栈,而不必在适当的时间进入,并进行必要的编辑。
有没有办法让我的应用程序堆栈重新configuration现有的数据库堆栈与必要的数据库安全组设置?
您可以在应用程序CF模板以及应用程序安全组中指定RDS所使用的安全组的入口/出口,尽pipeRDS CF堆栈的资源尚未由应用程序CF堆栈调配。 http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html 。
然后,您将拥有一个SecurityGroup资源ID的参数,您可以在入口中为参考GroupId以及从应用程序安全组(DestinationSecurityGroupId)出站。 (虽然你可以在那里硬编码的资源ID,如果你想这么做…..) http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html 。