Weitere AWS SDK Beispiele sind im Repo AWS Doc SDK Examples
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWS CloudFormation Beispiele für die Verwendung von Tools für PowerShell
Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von AWS Tools for PowerShell with Aktionen ausführen und allgemeine Szenarien implementieren AWS CloudFormation.
Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.
Themen
Aktionen
Das folgende Codebeispiel zeigt die VerwendungGet-CFNStack
.
- Tools für PowerShell
-
Beispiel 1: Gibt eine Sammlung von Stack-Instanzen zurück, die alle Stacks des Benutzers beschreiben.
Get-CFNStack
Beispiel 2: Gibt eine Stack-Instanz zurück, die den angegebenen Stack beschreibt
Get-CFNStack -StackName "myStack"
-
APIEinzelheiten finden Sie unter DescribeStacks AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Get-CFNStackEvent
- Tools für PowerShell
-
Beispiel 1: Gibt alle stapelbezogenen Ereignisse für den angegebenen Stack zurück.
Get-CFNStackEvent -StackName "myStack"
-
APIEinzelheiten finden Sie unter DescribeStackEvents AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Get-CFNStackResource
- Tools für PowerShell
-
Beispiel 1: Gibt die Beschreibung einer Ressource zurück, die in der Vorlage identifiziert wurde, die dem angegebenen Stack durch die logische ID yDBInstance „M“ zugeordnet ist.
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
-
APIEinzelheiten finden Sie unter DescribeStackResource AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Get-CFNStackResourceList
- Tools für PowerShell
-
Beispiel 1: Gibt die AWS Ressourcenbeschreibungen für bis zu 100 Ressourcen zurück, die dem angegebenen Stack zugeordnet sind. Um Details zu allen Ressourcen zu erhalten, die einem Stack zugeordnet sind, verwenden Sie Get-CFNStackResourceSummary, das auch manuelles Paging der Ergebnisse unterstützt.
Get-CFNStackResourceList -StackName "myStack"
Beispiel 2: Gibt die Beschreibung der EC2 Amazon-Instance zurück, die in der Vorlage identifiziert wurde, die dem angegebenen Stack durch die logische ID „Ec2Instance“ zugeordnet ist.
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
Beispiel 3: Gibt die Beschreibung von bis zu 100 Ressourcen zurück, die dem Stack zugeordnet sind, der eine EC2 Amazon-Instance enthält, die durch die Instance-ID „i-123456“ identifiziert wird. Um Details zu allen Ressourcen zu erhalten, die einem Stack zugeordnet sind, verwenden Sie Get-CFNStackResourceSummary, das auch manuelles Paging der Ergebnisse unterstützt.
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
Beispiel 4: Gibt die Beschreibung der EC2 Amazon-Instance zurück, die durch die logische ID „Ec2Instance“ in der Vorlage für einen Stack identifiziert wird. Der Stack wird anhand der physischen Ressourcen-ID einer darin enthaltenen Ressource identifiziert, in diesem Fall auch einer EC2 Amazon-Instance mit der Instance-ID „i-123456“. Abhängig vom Inhalt der Vorlage könnte auch eine andere physische Ressource verwendet werden, um den Stapel zu identifizieren, z. B. ein Amazon S3 S3-Bucket.
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
-
APIEinzelheiten finden Sie unter DescribeStackResources AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Get-CFNStackResourceSummary
- Tools für PowerShell
-
Beispiel 1: Gibt Beschreibungen aller Ressourcen zurück, die dem angegebenen Stack zugeordnet sind.
Get-CFNStackResourceSummary -StackName "myStack"
-
APIEinzelheiten finden Sie unter ListStackResources AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Get-CFNStackSummary
- Tools für PowerShell
-
Beispiel 1: Gibt zusammenfassende Informationen für alle Stapel zurück.
Get-CFNStackSummary
Beispiel 2: Gibt zusammenfassende Informationen für alle Stapel zurück, die gerade erstellt werden.
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
Beispiel 3: Gibt zusammenfassende Informationen für alle Stapel zurück, die gerade erstellt oder aktualisiert werden.
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
-
APIEinzelheiten finden Sie unter ListStacks AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Get-CFNTemplate
- Tools für PowerShell
-
Beispiel 1: Gibt die Vorlage zurück, die dem angegebenen Stack zugeordnet ist.
Get-CFNTemplate -StackName "myStack"
-
APIEinzelheiten finden Sie unter GetTemplate AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Measure-CFNTemplateCost
- Tools für PowerShell
-
Beispiel 1: Gibt einen AWS einfachen Monatsrechner URL mit einer Abfragezeichenfolge zurück, die die Ressourcen beschreibt, die zum Ausführen der Vorlage erforderlich sind. Die Vorlage wird aus dem angegebenen Amazon S3 abgerufen URL und der einzelne Anpassungsparameter angewendet. Der Parameter kann auch mit 'Key' und 'Value' anstelle von '' und ParameterKey '' angegeben werden. ParameterValue
Measure-CFNTemplateCost -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Region us-west-1 ` -Parameter @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" }
Beispiel 2: Gibt einen AWS einfachen Monatsrechner URL mit einer Abfragezeichenfolge zurück, die die Ressourcen beschreibt, die für die Ausführung der Vorlage erforderlich sind. Die Vorlage wird anhand des bereitgestellten Inhalts analysiert und die angewendeten Anpassungsparameter angewendet (in diesem Beispiel wird davon ausgegangen, dass der Vorlageninhalt zwei Parameter deklariert hätte, 'KeyName' und 'InstanceType'). Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und 'ParameterKey' angegeben werden. ParameterValue
Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" },` @{ ParameterKey="InstanceType"; ParameterValue="m1.large" })
Beispiel 3: Verwendet New-Object, um den Satz von Vorlagenparametern zu erstellen, und gibt einen AWS einfachen Monatsrechner URL mit einer Abfragezeichenfolge zurück, die die für die Ausführung der Vorlage erforderlichen Ressourcen beschreibt. Die Vorlage wird anhand des bereitgestellten Inhalts mit Anpassungsparametern analysiert (in diesem Beispiel wird davon ausgegangen, dass der Vorlageninhalt zwei Parameter deklariert hätte, '' und KeyName ''). InstanceType
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "KeyName" $p1.ParameterValue = "myKeyPairName" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "InstanceType" $p2.ParameterValue = "m1.large" Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" -Parameter @( $p1, $p2 )
-
APIEinzelheiten finden Sie unter EstimateTemplateCost AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. New-CFNStack
- Tools für PowerShell
-
Beispiel 1: Erzeugt einen neuen Stack mit dem angegebenen Namen. Die Vorlage wird anhand des bereitgestellten Inhalts mit Anpassungsparametern analysiert ('PK1' und 'PK2' stehen für die Namen der im Vorlageninhalt deklarierten Parameter, 'PV1' und 'PV2' stehen für die Werte für diese Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und 'ParameterKey' angegeben werden. ParameterValue Wenn die Erstellung des Stacks fehlschlägt, wird er nicht zurückgesetzt.
New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true
Beispiel 2: Erstellt einen neuen Stack mit dem angegebenen Namen. Die Vorlage wird anhand des bereitgestellten Inhalts mit Anpassungsparametern analysiert ('PK1' und 'PK2' stehen für die Namen der im Vorlageninhalt deklarierten Parameter, 'PV1' und 'PV2' stehen für die Werte für diese Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und 'ParameterKey' angegeben werden. ParameterValue Wenn die Erstellung des Stacks fehlschlägt, wird er zurückgesetzt.
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "PK1" $p1.ParameterValue = "PV1" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "PK2" $p2.ParameterValue = "PV2" New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( $p1, $p2 ) ` -OnFailure "ROLLBACK"
Beispiel 3: Erzeugt einen neuen Stack mit dem angegebenen Namen. Die Vorlage wird von Amazon S3 URL mit Anpassungsparametern abgerufen ('PK1' steht für den Namen eines Parameters, der im Inhalt der Vorlage deklariert ist, PV1 '' steht für den Wert für den Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Wenn die Erstellung des Stacks fehlschlägt, wird er zurückgesetzt (genauso wie bei der Angabe von - DisableRollback $false).
New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
Beispiel 4: Erzeugt einen neuen Stack mit dem angegebenen Namen. Die Vorlage wird von Amazon S3 URL mit Anpassungsparametern abgerufen ('PK1' steht für den Namen eines Parameters, der im Inhalt der Vorlage deklariert ist, PV1 '' steht für den Wert für den Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Wenn die Erstellung des Stacks fehlschlägt, wird er zurückgesetzt (genauso wie bei der Angabe von - DisableRollback $false). Die angegebene Benachrichtigung AENs empfängt veröffentlichte Ereignisse im Zusammenhang mit dem Stack.
New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
-
APIEinzelheiten finden Sie unter CreateStack AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Remove-CFNStack
- Tools für PowerShell
-
Beispiel 1: Löscht den angegebenen Stapel.
Remove-CFNStack -StackName "myStack"
-
APIEinzelheiten finden Sie unter DeleteStack AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Resume-CFNUpdateRollback
- Tools für PowerShell
-
Beispiel 1: Setzt das Rollback des benannten Stacks fort, der sich im Status 'UPDATE_ ROLLBACK _FAILED' befinden sollte. Wenn das fortgesetzte Rollback erfolgreich ist, wechselt der Stack in den Status 'UPDATE_ ROLLBACK _COMPLETE'.
Resume-CFNUpdateRollback -StackName "myStack"
-
APIEinzelheiten finden Sie unter ContinueUpdateRollback AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Stop-CFNUpdateStack
- Tools für PowerShell
-
Beispiel 1: Bricht ein Update auf dem angegebenen Stack ab.
Stop-CFNUpdateStack -StackName "myStack"
-
APIEinzelheiten finden Sie unter CancelUpdateStack AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Test-CFNStack
- Tools für PowerShell
-
Beispiel 1: Testet, ob der Stack einen der Zustände UPDATE _ _COMPLETE, ROLLBACK _COMPLETE, CREATE _ COMPLETE oder ROLLBACK UPDATE _ erreicht hatCOMPLETE.
Test-CFNStack -StackName MyStack
Ausgabe:
False
Beispiel 2: Testet, ob der Stack den Status UPDATE _ COMPLETE oder _ UPDATE ROLLBACK _ erreicht hatCOMPLETE.
Test-CFNStack -StackName MyStack -Status UPDATE_COMPLETE,UPDATE_ROLLBACK_COMPLETE
Ausgabe:
True
-
APIEinzelheiten finden Sie unter CFNStackAWS Tools for PowerShell Test-In-Cmdlet-Referenz.
-
Das folgende Codebeispiel zeigt, wie Sie es verwenden. Test-CFNTemplate
- Tools für PowerShell
-
Beispiel 1: Überprüft den angegebenen Vorlageninhalt. In der Ausgabe werden die Funktionen, die Beschreibung und die Parameter der Vorlage detailliert beschrieben.
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
Beispiel 2: Validiert die angegebene Vorlage, auf die über ein Amazon S3 URL zugegriffen wurde. In der Ausgabe werden die Funktionen, die Beschreibung und die Parameter der Vorlage detailliert beschrieben.
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
-
APIEinzelheiten finden Sie unter ValidateTemplate AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Update-CFNStack
- Tools für PowerShell
-
Beispiel 1: Aktualisiert den Stack 'myStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' steht für den Namen eines in der Vorlage deklarierten Parameters und 'PV1' für seinen Wert. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.
Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
Beispiel 2: Aktualisiert den Stack 'myStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, 'PV1' und 'PV2' stehen für ihre angeforderten Werte. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.
Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
Beispiel 3: Aktualisiert den Stack 'myStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' steht für den Namen eines in der Vorlage deklarierten Parameters und 'PV2' für seinen Wert. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
Beispiel 4: Aktualisiert den Stack 'myStack' mit der angegebenen Vorlage, die von Amazon S3 abgerufen wurde, und den Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, 'PV1' und 'PV2' stehen für ihre angeforderten Werte. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.
Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
Beispiel 5: Aktualisiert den Stack 'myStack', von dem in diesem Beispiel angenommen wird, dass er IAM Ressourcen enthält, mit der angegebenen Vorlage, die von Amazon S3 abgerufen wurde, und den Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, 'PV1' und 'PV2' stehen für ihre angeforderten Werte. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Bei Stacks, die IAM Ressourcen enthalten, müssen Sie den Parameter -Capabilities "CAPABILITY_IAM" angeben. Andernfalls schlägt die Aktualisierung mit einem Fehler 'InsufficientCapabilities' fehl.
Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"
-
APIEinzelheiten finden Sie unter UpdateStack AWS Tools for PowerShellCmdlet-Referenz.
-
Das folgende Codebeispiel zeigt die Verwendung. Wait-CFNStack
- Tools für PowerShell
-
Beispiel 1: Testet, ob der Stack einen der Zustände UPDATE _ _COMPLETE, ROLLBACK _COMPLETE, CREATE _ COMPLETE oder ROLLBACK UPDATE _ erreicht hatCOMPLETE. Wenn sich der Stack nicht in einem der Zustände befindet, ruht der Befehl zwei Sekunden lang, bevor er den Status erneut testet. Dies wird wiederholt, bis der Stack einen der angeforderten Zustände erreicht hat oder die Standard-Timeout-Periode von 60 Sekunden abgelaufen ist. Wenn der Timeout-Zeitraum überschritten wird, wird eine Ausnahme ausgelöst. Wenn der Stack innerhalb des Timeout-Zeitraums einen der angeforderten Zustände erreicht, wird er an die Pipeline zurückgegeben.
$stack = Wait-CFNStack -StackName MyStack
Beispiel 2: In diesem Beispiel wird insgesamt 5 Minuten (300 Sekunden) gewartet, bis der Stack einen der angegebenen Zustände erreicht. In diesem Beispiel wird der Status vor dem Timeout erreicht und das Stack-Objekt wird daher an die Pipeline zurückgegeben.
Wait-CFNStack -StackName MyStack -Timeout 300 -Status CREATE_COMPLETE,ROLLBACK_COMPLETE
Ausgabe:
Capabilities : {CAPABILITY_IAM} ChangeSetId : CreationTime : 6/1/2017 9:29:33 AM Description : AWS CloudFormation Sample Template ec2_instance_with_instance_profile: Create an EC2 instance with an associated instance profile. **WARNING** This template creates one or more Amazon EC2 instances and an Amazon SQS queue. You will be billed for the AWS resources used if you create a stack from this template. DisableRollback : False LastUpdatedTime : 1/1/0001 12:00:00 AM NotificationARNs : {} Outputs : {} Parameters : {} RoleARN : StackId : arn:aws:cloudformation:us-west-2:123456789012:stack/MyStack/7ea87b50-46e7-11e7-9c9b-503a90a9c4d1 StackName : MyStack StackStatus : CREATE_COMPLETE StackStatusReason : Tags : {} TimeoutInMinutes : 0
Beispiel 3: Dieses Beispiel zeigt die Fehlerausgabe, wenn ein Stack innerhalb des Timeout-Zeitraums (in diesem Fall der Standardzeitraum von 60 Sekunden) keinen der angeforderten Zustände erreicht.
Wait-CFNStack -StackName MyStack -Status CREATE_COMPLETE,ROLLBACK_COMPLETE
Ausgabe:
Wait-CFNStack : Timed out after 60 seconds waiting for CloudFormation stack MyStack in region us-west-2 to reach one of state(s): UPDATE_ROLLBACK_COMPLETE,CREATE_COMPLETE,ROLLBACK_COMPLETE,UPDATE_COMPLETE At line:1 char:1 + Wait-CFNStack -StackName MyStack -State CREATE_COMPLETE,ROLLBACK_COMPLETE + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (Amazon.PowerShe...tCFNStackCmdlet:WaitCFNStackCmdlet) [Wait-CFNStack], InvalidOperationException + FullyQualifiedErrorId : InvalidOperationException,Amazon.PowerShell.Cmdlets.CFN.WaitCFNStackCmdlet
-
APIEinzelheiten finden Sie unter CFNStackAWS Tools for PowerShell Wait-in-Cmdlet-Referenz.
-