2016-11-30 4 views
1

Ich habe ein einfaches Cloud-Skript, das einen Server ("AWS :: EC2 :: Instance") und eine Elastic IP ("AWS :: EC2 :: EIP") erstellt, die an diesen Server angehängt wird .Cloudformation UserData mit Elastic IP

Das Subnetz ist mit einem igw verbunden.

Ich habe auch UserData innerhalb der Eigenschaften des Servers definiert. Das Problem ist, dass bis zum Anschluss des EIP an den Server keine Internetverbindung besteht. Da es sich um ein Internet-orientiertes Subnetz handelt und ich keine NAT-Box/Gateway konfiguriert habe, gibt es eine bewährte Vorgehensweise, um UserData zu verzögern, bis die EIP anlegt.

Es gibt ein Abhängigkeitsproblem hier: Server wird erstellt, EIP erstellt und an Server anhängen ("InstanceId": {"Ref": "Server"}), also glaube ich nicht, dass ich mit der EIP DependsOn kann .

Antwort

2

Können Sie DependsOn für die EC2-Erstellung hinzufügen, bis EIP erstellt wird. Ein Verweis auf EIP garantiert nicht, dass die Instanz wartet, bis EIP erstellt wird.

+1

Guter Gedanke. Ich habe ein paar Anpassungen gemacht, so dass die elastische ip zuerst erstellt wird, der Server zweite, und dann eine IP-Assoziation ("AWS :: EC2 :: EIPAssociation") dritte (mit DependsOn). Dies behebt das Problem. Interessanterweise könnte ich die Eigenschaft NetworkInterface/AssociatePublicIpAddress im CFN-Skript verwenden, damit dies automatisch geschieht. Ich habe das noch nicht getestet, aber wahrscheinlich morgen. Danke für die Hilfe! – Sam

Verwandte Themen