2

Ich erstelle von cloudformation ein EFS in einem VPC, enthält diese VPC einige EC2 instances.Wie Sie wissen, wie viele Mount-Ziele durch Cloudformation erstellt werden

Ich muss auch Mount-Ziele für jedes Subnetz erstellen.

Diese Cloud-Vorlage kann in verschiedenen AWS accounts ausgeführt werden. Wie zu wissen, wie meny Mount targets Ressourcen zu erstellen?

ich einen VPC Konto 1 mit 3 subnets, einem anderen VPC Konto 2 mit 2 subnets ...

Wie machen die Vorlage generic so haben kann, dass es zu jeder Account Umwelt nach mir geht?

"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" } ] 
     } 
    }, 

Antwort

0

Wie ich verstehe, wollen Sie in der Lage sein, diese gleiche Vorlage über Konten wieder zu verwenden und die entsprechende Anzahl von MountTargets von einem Konto erforderlich basierend auf der Anzahl von Subnetzen zu erstellen.

Es gibt viele Variablen und Bedingungen, die je nach Anzahl der Subnetze (ACL, Routetables usw.) gelten. Sie könnten es vielleicht mit einer großen Anzahl von Bedingungen und Parametern erreichen, aber die Vorlage würde ziemlich unordentlich werden. Obwohl das keine elegante Lösung ist.

Der bessere Ansatz wäre die Erstellung Ihrer Vorlage mit Troposphäre. Hier sehen Sie ein Beispiel für EFS, mit dem Sie beginnen können. https://github.com/cloudtools/troposphere/blob/master/examples/EFS.py

Verwandte Themen