2017-11-06 4 views
2

Ich frage mich, ob es eine Möglichkeit gibt, die Standard-VPC-ID mit CF zur Laufzeit herauszufinden. Es gibt keinen Pseudo-Parameter, den ich innerhalb der Vorlage verwenden könnte, um das herauszufinden, soweit ich das beurteilen kann. Mit Hilfe der cli Befehl kannSo finden Sie die Standard-VPC-ID zur Laufzeit mit CloudFormation

aws ec2 describe-vpcs --filter "Name=isDefault, Values=true" 

jedoch das Ergebnis erzielen, würde dies bedeuten, dass ich auf eine benutzerdefinierte Ressource Cloudformation erstellen und eine Lambda-Funktion verwenden nur die Standard-VPC-ID zur Laufzeit zu finden. Die Idee ist, dass ich in jedem AWS-Konto eine Rolle erstellen möchte, die verhindert, dass Benutzer EC2-Instanzen in die Standard-VPC starten.

+0

Soweit ich weiß, ist eine benutzerdefinierte Ressource der einzige Weg. – kichik

Antwort

0

Ich würde vorschlagen, dass Sie eine Kombination aus AWS Config verwenden und AWS Lambda automatisch Instanzen in der Standard-VPC erstellt zu beenden.

Ich habe es in einer Demo bei Re: Invent gesehen. Quelle: https://www.youtube.com/watch?v=sGUQFEZWkho

+0

Ich habe darüber nachgedacht, aber dies wäre eine reaktive Aktion. Ich muss eine benutzerdefinierte Benutzerrolle vom Standardtyp erstellen und dem Benutzer nicht erlauben, EC2-Aktionen in der Standard-VPC und in allen öffentlichen Subnetzen auszuführen. Ich denke über die Verwendung von Ressourcen-Tags als Bedingung in der Richtlinie nach. Ich habe etwas Ähnliches wie die folgende Richtlinienbedingung gedacht, verwende aber Subnetz-Tags in der Bedingung-Anweisung, wenn möglich anstelle eines EC2-Tags. "Bedingung": { "StringEquals": { "EC2: ResourceTag/username": "$ {aws: username}" } – gbaz

+0

Denken außerhalb der Box hier: warum nicht nur den Standard-VPC aus Ihren Konten löschen? –

+0

Einige Konten verwenden es bereits für Prod-Workloads, was zwar lahm ist, es aber einige Zeit dauern wird, die Anwendung, die dort ausgeführt wird, in die neuen benutzerdefinierten Subnetze zu verschieben. Außerdem muss ich bestimmten Benutzergruppen verbieten, EC2-Instanzen in öffentlichen Subnetzen über andere VPCs hinweg erstellen zu können. Derzeit erhalten alle Subnetze ein Namens-Tag, das angibt, ob das Subnetz wie folgt öffentlich oder privat ist: subnet-CIDR-REGION-Type (z. B. 10.0.4.0-ap-southeast-2-Public) – gbaz

Verwandte Themen