如何知道 Cloudformation 要创建多少个 Mount 目标
How to know how many Mount targets to create by Cloudformation
我在VPC
中通过cloudformation
创建了一个EFS
,这个VPC包含很少的EC2 instances
。
我还需要为每个子网创建挂载目标。
此cloudformation 模板可以在不同的AWS accounts
中执行。
如何知道要创建多少 Mount targets
资源?
我可以在账户 1 中有一个 vpc 和 3 subnets
,在账户 2 中有另一个 vpc 和 2 subnets
...
如何使模板通用以便它根据每个帐户环境运行?
"FileSystem" : {
"Type" : "AWS::EFS::FileSystem",
"Properties" : {
"FileSystemTags" : [
{
"Key" : "Name",
"Value" : "FileSystem"
}
]
}
},
"MountTarget1": {
"Type": "AWS::EFS::MountTarget",
"Properties": {
"FileSystemId": { "Ref": "FileSystem" },
"SubnetId": { "Ref": "Subnet1" },
"SecurityGroups": [ { "Ref": "MountTargetSecurityGroup" } ]
}
},
"MountTarget2": {
"Type": "AWS::EFS::MountTarget",
"Properties": {
"FileSystemId": { "Ref": "FileSystem" },
"SubnetId": { "Ref": "Subnet2" },
"SecurityGroups": [ { "Ref": "MountTargetSecurityGroup" } ]
}
},
据我了解,您希望能够跨账户重复使用同一模板,并根据账户所需的子网数量创建适当数量的 MountTargets。
有许多变量和条件适用,具体取决于子网的数量(ACL、路由表等)。您或许可以使用大量条件和参数来完成它,但模板会变得非常混乱。虽然这不是一个优雅的解决方案。
更好的方法是使用对流层创建模板。下面是一个 EFS 示例,可帮助您入门。 https://github.com/cloudtools/troposphere/blob/master/examples/EFS.py
我在VPC
中通过cloudformation
创建了一个EFS
,这个VPC包含很少的EC2 instances
。
我还需要为每个子网创建挂载目标。
此cloudformation 模板可以在不同的AWS accounts
中执行。
如何知道要创建多少 Mount targets
资源?
我可以在账户 1 中有一个 vpc 和 3 subnets
,在账户 2 中有另一个 vpc 和 2 subnets
...
如何使模板通用以便它根据每个帐户环境运行?
"FileSystem" : {
"Type" : "AWS::EFS::FileSystem",
"Properties" : {
"FileSystemTags" : [
{
"Key" : "Name",
"Value" : "FileSystem"
}
]
}
},
"MountTarget1": {
"Type": "AWS::EFS::MountTarget",
"Properties": {
"FileSystemId": { "Ref": "FileSystem" },
"SubnetId": { "Ref": "Subnet1" },
"SecurityGroups": [ { "Ref": "MountTargetSecurityGroup" } ]
}
},
"MountTarget2": {
"Type": "AWS::EFS::MountTarget",
"Properties": {
"FileSystemId": { "Ref": "FileSystem" },
"SubnetId": { "Ref": "Subnet2" },
"SecurityGroups": [ { "Ref": "MountTargetSecurityGroup" } ]
}
},
据我了解,您希望能够跨账户重复使用同一模板,并根据账户所需的子网数量创建适当数量的 MountTargets。
有许多变量和条件适用,具体取决于子网的数量(ACL、路由表等)。您或许可以使用大量条件和参数来完成它,但模板会变得非常混乱。虽然这不是一个优雅的解决方案。
更好的方法是使用对流层创建模板。下面是一个 EFS 示例,可帮助您入门。 https://github.com/cloudtools/troposphere/blob/master/examples/EFS.py