Crea, aggiorna ed elimina CloudFormation pile con e AWS CLI PowerShell - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea, aggiorna ed elimina CloudFormation pile con e AWS CLI PowerShell

I seguenti esempi da riga di comando mostrano come eseguire CloudFormation azioni individuali con and. AWS CLI PowerShell Questi esempi includono solo le azioni più comunemente utilizzate. Per un elenco completo, consulta la Guida AWS CloudFormation APIdi riferimento.

Annullare un aggiornamento dello stack

Utilizzate il cancel-update-stack comando per annullare un aggiornamento dello stack. Per ulteriori informazioni, consulta Annullare un aggiornamento dello stack.

CLI
AWS CLI

Per annullare un aggiornamento dello stack in corso

Il cancel-update-stack comando seguente annulla un aggiornamento dello stack nello stack: myteststack

aws cloudformation cancel-update-stack --stack-name myteststack
PowerShell
Strumenti per PowerShell

Esempio 1: annulla un aggiornamento sullo stack specificato.

Stop-CFNUpdateStack -StackName "myStack"
  • Per API i dettagli, vedere CancelUpdateStackin AWS Tools for PowerShell Cmdlet Reference.

Rollback di un aggiornamento

Utilizzare il continue-update-rollback comando per continuare a ripristinare un aggiornamento. Per ulteriori informazioni, consulta Rollback di un aggiornamento.

CLI
AWS CLI

Per riprovare a eseguire un aggiornamento, eseguire il rollback

L'continue-update-rollbackesempio seguente riprende un'operazione di rollback da un aggiornamento dello stack precedentemente non riuscito.

aws cloudformation continue-update-rollback \ --stack-name my-stack

Questo comando non produce alcun output.

PowerShell
Strumenti per PowerShell

Esempio 1: continua il rollback dello stack denominato, che dovrebbe trovarsi nello stato 'UPDATE_ ROLLBACK _FAILED'. Se il rollback continuato ha esito positivo, lo stack entrerà nello stato '_ _'. UPDATE ROLLBACK COMPLETE

Resume-CFNUpdateRollback -StackName "myStack"

Creare uno stack

Utilizzare il create-stack comando per creare uno stack. Devi fornire il nome dello stack, la posizione di un modello valido e i parametri di input. I nomi delle chiavi dei parametri distinguono tra maiuscole e minuscole. Se digiti erroneamente il nome della chiave di un parametro, CloudFormation non crea lo stack e segnala che il modello non contiene quel parametro.

Per impostazione predefinita, il describe-stacks comando restituisce i valori dei parametri. Per evitare che vengano restituiti valori di parametri sensibili come le password, includi una NoEcho proprietà impostata su TRUE nel CloudFormation modello.

Importante

L'utilizzo dell'attributo NoEcho non maschera le informazioni memorizzate nei seguenti elementi:

  • La sezione dei Metadata modelli. CloudFormation non trasforma, modifica o oscura le informazioni incluse nella Metadata sezione. Per ulteriori informazioni, consulta Metadata.

  • Sezione dei modelli Outputs. Per ulteriori informazioni, consulta Outputs.

  • Attributo Metadata di una definizione di risorsa. Per ulteriori informazioni, consulta Attributo Metadata.

Si consiglia vivamente di non utilizzare questi meccanismi per includere informazioni sensibili, come password o segreti.

Importante

Invece di incorporare informazioni riservate direttamente nei CloudFormation modelli, consigliamo di utilizzare parametri dinamici nel modello di pila per fare riferimento a informazioni sensibili archiviate e gestite all'esterno CloudFormation, ad esempio nel AWS Systems Manager Parameter Store o. AWS Secrets Manager

Per ulteriori informazioni, consulta la procedura Non incorporare le credenziali nei modelli consigliata.

Gli esempi seguenti mostrano come creare un nuovo stack con il nome, il modello e i parametri di input specificati.

CLI
AWS CLI

Per creare uno stack AWS CloudFormation

Il create-stacks comando seguente crea uno stack con il nome myteststack utilizzando il sampletemplate.json modello:

aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json --parameters ParameterKey=KeyPairName,ParameterValue=TestKey ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2

Output:

{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }

Per ulteriori informazioni, consulta Stacks nella Guida per l'AWS CloudFormation utente.

  • Per API i dettagli, vedere CreateStackin AWS CLI Command Reference.

PowerShell
Strumenti per PowerShell

Esempio 1: crea un nuovo stack con il nome specificato. Il modello viene analizzato a partire dal contenuto fornito con parametri di personalizzazione ('' e PK1 'PK2' rappresentano i nomi dei parametri dichiarati nel contenuto del modello, '' e PV1 'PV2' rappresentano i valori di tali parametri. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «» e «ParameterKey». ParameterValue Se la creazione dello stack fallisce, non verrà ripristinato.

New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true

Esempio 2: crea un nuovo stack con il nome specificato. Il modello viene analizzato a partire dal contenuto fornito con parametri di personalizzazione ('' e PK1 'PK2' rappresentano i nomi dei parametri dichiarati nel contenuto del modello, '' e PV1 'PV2' rappresentano i valori di tali parametri. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «» e «ParameterKey». ParameterValue Se la creazione dello stack fallisce, verrà ripristinato.

$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"

Esempio 3: crea un nuovo stack con il nome specificato. Il modello è ottenuto da Amazon S3 URL con parametri di personalizzazione ('PK1' rappresenta il nome di un parametro dichiarato nel contenuto del modello, 'PV1' rappresenta il valore del parametro. I parametri di personalizzazione possono essere specificati anche utilizzando «Key» e «Value» anziché «» e «ParameterKey». ParameterValue Se la creazione dello stack fallisce, verrà ripristinato (come specificare - DisableRollback $false).

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

Esempio 4: crea un nuovo stack con il nome specificato. Il modello è ottenuto da Amazon S3 URL con parametri di personalizzazione ('PK1' rappresenta il nome di un parametro dichiarato nel contenuto del modello, 'PV1' rappresenta il valore del parametro. I parametri di personalizzazione possono essere specificati anche utilizzando «Key» e «Value» anziché «» e «ParameterKey». ParameterValue Se la creazione dello stack fallisce, verrà ripristinato (come specificare - DisableRollback $false). La notifica specificata AENs riceverà gli eventi pubblicati relativi allo stack.

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
  • Per API i dettagli, vedere CreateStackin AWS Tools for PowerShell Cmdlet Reference.

In alternativa, è possibile specificare la AWS Systems Manager posizione di un file modello.

AWS CLI

Il create-stack comando seguente crea uno stack con il nome myteststack utilizzando un AWS Systems Manager documento per il modelloURL.

aws cloudformation create-stack --stack-name myteststack \ --template-url "ssm-doc://arn:aws:ssm:us-east-1:123456789012:document/documentName"

Output:

{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }

Crea una pila che includa le trasformazioni

Usa il deploy comando per creare uno stack che includa le trasformazioni.

Per creare una pila da un modello che include trasformazioni, è necessario utilizzare un set di modifiche. Invece di creare un set di modifiche e quindi avviarlo, utilizzate il deploy comando per combinare questi passaggi in un unico comando.

AWS CLI

Il deploy comando seguente crea uno stack con il nome, il modello e i parametri di input specificati.

aws cloudformation deploy --stack-name myteststack \ --template /path_to_template/my-template.json \ --parameter-overrides Key1=Value1 Key2=Value2

Eliminazione di uno stack

Utilizzate il delete-stack comando per eliminare uno stack. Per ulteriori informazioni, consulta Eliminare uno stack dalla console CloudFormation.

CLI
AWS CLI

Per eliminare una pila

L'delete-stackesempio seguente elimina lo stack specificato.

aws cloudformation delete-stack \ --stack-name my-stack

Questo comando non produce alcun output.

  • Per API i dettagli, vedere DeleteStackin AWS CLI Command Reference.

PowerShell
Strumenti per PowerShell

Esempio 1: elimina lo stack specificato.

Remove-CFNStack -StackName "myStack"
  • Per API i dettagli, vedere DeleteStackin AWS Tools for PowerShell Cmdlet Reference.

Se l'eliminazione fallisce e restituisce uno DELETE_FAILED stato, puoi scegliere di eliminare lo stack con la forza utilizzando l'opzione. --deletion-mode Questi sono i seguenti valori che possono essere usati condeletion-mode:

  • STANDARD: elimina lo stack normalmente. Questa è la modalità di eliminazione predefinita.

  • FORCE_DELETE_STACK: elimina lo stack e salta tutte le risorse che non riescono a eliminare.

AWS CLI

La seguente forza di delete-stack comando elimina lo myteststack stack utilizzando il valore con il parametro: FORCE_DELETE_STACK deletion-mode

aws cloudformation delete-stack --stack-name myteststack \ --deletion-mode FORCE_DELETE_STACK

Questo comando non produce alcun output.

Dopo l'usoFORCE_DELETE_STACK, è possibile utilizzare il list-stack-resources comando per elencare le risorse che sono state ignorate durante il processo di eliminazione dello stack. Le risorse conservate mostreranno lo stato _. DELETE SKIPPED Per ulteriori informazioni, consulta Elenca le risorse dello stack.

Descrivi gli eventi dello stack

Usa il describe-stack-events comando per descrivere gli eventi dello stack. Per ulteriori informazioni, consulta Monitora l'avanzamento dello stack.

CLI
AWS CLI

Per descrivere gli eventi dello stack

L'describe-stack-eventsesempio seguente visualizza i 2 eventi più recenti per lo stack specificato.

aws cloudformation describe-stack-events \ --stack-name my-stack \ --max-items 2 { "StackEvents": [ { "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "EventId": "4e1516d0-e4d6-xmpl-b94f-0a51958a168c", "StackName": "my-stack", "LogicalResourceId": "my-stack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "ResourceType": "AWS::CloudFormation::Stack", "Timestamp": "2019-10-02T05:34:29.556Z", "ResourceStatus": "UPDATE_COMPLETE" }, { "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "EventId": "4dd3c810-e4d6-xmpl-bade-0aaf8b31ab7a", "StackName": "my-stack", "LogicalResourceId": "my-stack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "ResourceType": "AWS::CloudFormation::Stack", "Timestamp": "2019-10-02T05:34:29.127Z", "ResourceStatus": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS" } ], "NextToken": "eyJOZXh0VG9XMPLiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==" }
PowerShell
Strumenti per PowerShell

Esempio 1: restituisce tutti gli eventi relativi allo stack per lo stack specificato.

Get-CFNStackEvent -StackName "myStack"

Esempio 2: restituisce tutti gli eventi relativi allo stack per lo stack specificato utilizzando il paging manuale a partire dal token specificato. Il token iniziale per la pagina successiva viene recuperato dopo ogni chiamata con $null che indica che non rimangono altri eventi da recuperare.

$nextToken = $null do { Get-CFNStack -StackName "myStack" -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)

Descrivi una risorsa dello stack

CLI
AWS CLI

Per ottenere informazioni su una risorsa dello stack

L'describe-stack-resourceesempio seguente visualizza i dettagli della risorsa denominata MyFunction nello stack specificato.

aws cloudformation describe-stack-resource \ --stack-name MyStack \ --logical-resource-id MyFunction

Output:

{ "StackResourceDetail": { "StackName": "MyStack", "StackId": "arn:aws:cloudformation:us-east-2:123456789012:stack/MyStack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "MyFunction", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "Metadata": "{}", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } }
PowerShell
Strumenti per PowerShell

Esempio 1: restituisce la descrizione di una risorsa identificata nel modello associato allo stack specificato dall'ID logico yDBInstance «M».

Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"

Descrivi le risorse dello stack

CLI
AWS CLI

Per ottenere informazioni su una risorsa dello stack

L'describe-stack-resourcesesempio seguente visualizza i dettagli delle risorse nello stack specificato.

aws cloudformation describe-stack-resources \ --stack-name my-stack

Output:

{ "StackResources": [ { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "bucket", "PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf", "ResourceType": "AWS::S3::Bucket", "Timestamp": "2019-10-02T04:34:11.345Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "Timestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "functionRole", "PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E", "ResourceType": "AWS::IAM::Role", "Timestamp": "2019-10-02T04:34:06.350Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } ] }
PowerShell
Strumenti per PowerShell

Esempio 1: restituisce le descrizioni AWS delle risorse per un massimo di 100 risorse associate allo stack specificato. Per ottenere i dettagli di tutte le risorse associate a uno stack, usa Get-CFNStackResourceSummary, che supporta anche la paginazione manuale dei risultati.

Get-CFNStackResourceList -StackName "myStack"

Esempio 2: restituisce la descrizione dell'EC2istanza Amazon identificata nel modello associato allo stack specificato dall'ID logico «Ec2Instance».

Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"

Esempio 3: restituisce la descrizione di un massimo di 100 risorse associate allo stack contenente un'EC2istanza Amazon identificata dall'ID di istanza «i-123456". Per ottenere i dettagli di tutte le risorse associate a uno stack, usa Get-CFNStackResourceSummary, che supporta anche la paginazione manuale dei risultati.

Get-CFNStackResourceList -PhysicalResourceId "i-123456"

Esempio 4: restituisce la descrizione dell'EC2istanza Amazon identificata dall'ID logico «Ec2Instance» nel modello per uno stack. Lo stack viene identificato utilizzando l'ID della risorsa fisica di una risorsa che contiene, in questo caso anche un'EC2istanza Amazon con ID di istanza «i-123456". È inoltre possibile utilizzare una risorsa fisica diversa per identificare lo stack in base al contenuto del modello, ad esempio un bucket Amazon S3.

Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"

Descrivi gli stack

CLI
AWS CLI

Per descrivere le pile AWS CloudFormation

Il describe-stacks comando seguente mostra informazioni di riepilogo per lo myteststack stack:

aws cloudformation describe-stacks --stack-name myteststack

Output:

{ "Stacks": [ { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896", "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Tags": [], "Outputs": [ { "Description": "Name of S3 bucket to hold website content", "OutputKey": "BucketName", "OutputValue": "myteststack-s3bucket-jssofi1zie2w" } ], "StackStatusReason": null, "CreationTime": "2013-08-23T01:02:15.422Z", "Capabilities": [], "StackName": "myteststack", "StackStatus": "CREATE_COMPLETE", "DisableRollback": false } ] }

Per ulteriori informazioni, consulta Stacks nella Guida per l'AWS CloudFormation utente.

  • Per API i dettagli, vedere DescribeStacksin AWS CLI Command Reference.

Go
SDKper Go V2
Nota

C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

// StackOutputs defines a map of outputs from a specific stack. type StackOutputs map[string]string type CloudFormationActions struct { CfnClient *cloudformation.Client } // GetOutputs gets the outputs from a CloudFormation stack and puts them into a structured format. func (actor CloudFormationActions) GetOutputs(stackName string) StackOutputs { output, err := actor.CfnClient.DescribeStacks(context.TODO(), &cloudformation.DescribeStacksInput{ StackName: aws.String(stackName), }) if err != nil || len(output.Stacks) == 0 { log.Panicf("Couldn't find a CloudFormation stack named %v. Here's why: %v\n", stackName, err) } stackOutputs := StackOutputs{} for _, out := range output.Stacks[0].Outputs { stackOutputs[*out.OutputKey] = *out.OutputValue } return stackOutputs }
  • Per API i dettagli, vedi DescribeStacksin AWS SDK for Go APIReference.

PowerShell
Strumenti per PowerShell

Esempio 1: restituisce una raccolta di istanze Stack che descrivono tutti gli stack dell'utente.

Get-CFNStack

Esempio 2: restituisce un'istanza Stack che descrive lo stack specificato

Get-CFNStack -StackName "myStack"

Esempio 3: restituisce una raccolta di istanze Stack che descrivono tutti gli stack dell'utente utilizzando il paging manuale. Il token iniziale per la pagina successiva viene recuperato dopo ogni chiamata con $null che indica che non rimangono altri dettagli da recuperare.

$nextToken = $null do { Get-CFNStack -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
  • Per i API dettagli, vedere DescribeStacksin Cmdlet Reference.AWS Tools for PowerShell

Procurati un modello

CLI
AWS CLI

Per visualizzare il corpo del modello per una AWS CloudFormation pila

Il get-template comando seguente mostra il modello per lo myteststack stack:

aws cloudformation get-template --stack-name myteststack

Output:

{ "TemplateBody": { "AWSTemplateFormatVersion": "2010-09-09", "Outputs": { "BucketName": { "Description": "Name of S3 bucket to hold website content", "Value": { "Ref": "S3Bucket" } } }, "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": { "AccessControl": "PublicRead" } } } } }
  • Per API i dettagli, vedere GetTemplatein AWS CLI Command Reference.

PowerShell
Strumenti per PowerShell

Esempio 1: restituisce il modello associato allo stack specificato.

Get-CFNTemplate -StackName "myStack"
  • Per API i dettagli, vedere GetTemplatein AWS Tools for PowerShell Cmdlet Reference.

Elenca le risorse dello stack

CLI
AWS CLI

Per elencare le risorse in una pila

Il comando seguente visualizza l'elenco delle risorse nello stack specificato.

aws cloudformation list-stack-resources \ --stack-name my-stack

Output:

{ "StackResourceSummaries": [ { "LogicalResourceId": "bucket", "PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf", "ResourceType": "AWS::S3::Bucket", "LastUpdatedTimestamp": "2019-10-02T04:34:11.345Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "LogicalResourceId": "functionRole", "PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E", "ResourceType": "AWS::IAM::Role", "LastUpdatedTimestamp": "2019-10-02T04:34:06.350Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } ] }
PowerShell
Strumenti per PowerShell

Esempio 1: restituisce le descrizioni di tutte le risorse associate allo stack specificato.

Get-CFNStackResourceSummary -StackName "myStack"

Esempio 2: restituisce le descrizioni di tutte le risorse associate allo stack specificato utilizzando la paginazione manuale dei risultati. Il token iniziale per la pagina successiva viene recuperato dopo ogni chiamata con $null che indica che non rimangono altri dettagli da recuperare.

$nextToken = $null do { Get-CFNStackResourceSummary -StackName "myStack" -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
  • Per i API dettagli, vedere ListStackResourcesin Cmdlet Reference.AWS Tools for PowerShell

Elenca pile

Usa il list-stacks comando per elencare le pile. Per elencare solo le pile con i codici di stato specificati, includi l'--stack-status-filteropzione. È possibile specificare uno o più codici di stato dello stack per l'--stack-status-filteropzione. Per ulteriori informazioni, consulta Codici di stato dello stack.

CLI
AWS CLI

Per elencare le pile AWS CloudFormation

Il list-stacks comando seguente mostra un riepilogo di tutti gli stack con uno stato di: CREATE_COMPLETE

aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE

Output:

[ { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896", "TemplateDescription": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "StackStatusReason": null, "CreationTime": "2013-08-26T03:27:10.190Z", "StackName": "myteststack", "StackStatus": "CREATE_COMPLETE" } ]
  • Per API i dettagli, vedere ListStacksin AWS CLI Command Reference.

PowerShell
Strumenti per PowerShell

Esempio 1: restituisce informazioni di riepilogo per tutti gli stack.

Get-CFNStackSummary

Esempio 2: restituisce informazioni di riepilogo per tutti gli stack attualmente in fase di creazione.

Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"

Esempio 3: restituisce informazioni di riepilogo per tutti gli stack attualmente in fase di creazione o aggiornamento.

Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")

Esempio 4: restituisce informazioni di riepilogo per tutti gli stack attualmente in fase di creazione o aggiornamento utilizzando l'impaginazione manuale dei risultati. Il token iniziale per la pagina successiva viene recuperato dopo ogni chiamata con $null che indica che non rimangono altri dettagli da recuperare.

$nextToken = $null do { Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS") -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
  • Per i API dettagli, vedere ListStacksin Cmdlet Reference.AWS Tools for PowerShell

Aggiornare uno stack

Utilizzare il update-stack comando per aggiornare uno stack. Per ulteriori informazioni, consulta Aggiorna direttamente gli stack.

CLI
AWS CLI

Per aggiornare gli stack AWS CloudFormation

Il update-stack comando seguente aggiorna il modello e i parametri di input per lo mystack stack:

aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,ParameterValue=SampleKeyPair ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2

Il update-stack comando seguente aggiorna solo il valore del SubnetIDs parametro per lo mystack stack. Se non si specifica un valore di parametro, viene utilizzato il valore predefinito specificato nel modello:

aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2

Il update-stack comando seguente aggiunge due argomenti di notifica dello stack allo mystack stack:

aws cloudformation update-stack --stack-name mystack --use-previous-template --notification-arns "arn:aws:sns:use-east-1:123456789012:mytopic1" "arn:aws:sns:us-east-1:123456789012:mytopic2"

Per ulteriori informazioni, consulta gli aggiornamenti AWS CloudFormation dello stack nella Guida per l'AWS CloudFormation utente.

  • Per API i dettagli, vedere UpdateStackin AWS CLI Command Reference.

PowerShell
Strumenti per PowerShell

Esempio 1: aggiorna lo stack 'myStack' con il modello e i parametri di personalizzazione specificati. 'PK1' rappresenta il nome di un parametro dichiarato nel modello e 'PV1' ne rappresenta il valore. I parametri di personalizzazione possono essere specificati anche utilizzando «Key» e «Value» anziché «ParameterKey» e «ParameterValue».

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

Esempio 2: aggiorna lo stack 'myStack' con il modello e i parametri di personalizzazione specificati. 'PK1' e 'PK2' rappresentano i nomi dei parametri dichiarati nel modello, '' e PV1 'PV2' rappresentano i valori richiesti. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «ParameterKey» e «ParameterValue».

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

Esempio 3: aggiorna lo stack 'myStack' con il modello e i parametri di personalizzazione specificati. 'PK1' rappresenta il nome di un parametro dichiarato nel modello e 'PV2' ne rappresenta il valore. I parametri di personalizzazione possono essere specificati anche utilizzando «Key» e «Value» anziché «ParameterKey» e «ParameterValue».

Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }

Esempio 4: aggiorna lo stack 'myStack' con il modello specificato, ottenuto da Amazon S3, e i parametri di personalizzazione. 'PK1' e 'PK2' rappresentano i nomi dei parametri dichiarati nel modello, '' e PV1 'PV2' rappresentano i valori richiesti. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «ParameterKey» e «ParameterValue».

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

Esempio 5: aggiorna lo stack 'myStack', che in questo esempio si presume contenga IAM risorse, con il modello specificato, ottenuto da Amazon S3, e i parametri di personalizzazione. 'PK1' e 'PK2' rappresentano i nomi dei parametri dichiarati nel modello, '' e PV1 'PV2' rappresentano i valori richiesti. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «ParameterKey» e «ParameterValue». Gli stack contenenti IAM risorse richiedono di specificare il parametro -Capabilities "CAPABILITY_IAM" altrimenti l'aggiornamento avrà esito negativo e verrà generato un errore ''. InsufficientCapabilities

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"
  • Per API i dettagli, vedere UpdateStackin AWS Tools for PowerShell Cmdlet Reference.

Convalida il modello

Usa il validate-template comando per verificare la presenza di errori di sintassi nel file modello.

Durante la convalida, verifica CloudFormation innanzitutto se il modello è valido. JSON In caso contrario, CloudFormation verifica se il modello è validoYAML. Se entrambi i controlli falliscono, CloudFormation restituisce un errore di convalida del modello.

CLI
AWS CLI

Per convalidare un modello AWS CloudFormation

Il validate-template comando seguente convalida il sampletemplate.json modello:

aws cloudformation validate-template --template-body file://sampletemplate.json

Output:

{ "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Parameters": [], "Capabilities": [] }

Per ulteriori informazioni, vedere Working with AWS CloudFormation Templates nella Guida per l'AWS CloudFormation utente.

PowerShell
Strumenti per PowerShell

Esempio 1: convalida il contenuto del modello specificato. L'output descrive in dettaglio le funzionalità, la descrizione e i parametri del modello.

Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"

Esempio 2: convalida il modello specificato a cui si accede tramite Amazon URL S3. L'output descrive in dettaglio le funzionalità, la descrizione e i parametri del modello.

Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template
  • Per API i dettagli, vedere ValidateTemplatein AWS Tools for PowerShell Cmdlet Reference.

Di seguito è riportato un esempio di risposta che produce un errore di convalida.

{ "ResponseMetadata": { "RequestId": "4ae33ec0-1988-11e3-818b-e15a6df955cd" }, "Errors": [ { "Message": "Template format error: JSON not well-formed. (line 11, column 8)", "Code": "ValidationError", "Type": "Sender" } ], "Capabilities": [], "Parameters": [] } A client error (ValidationError) occurred: Template format error: JSON not well-formed. (line 11, column 8)
Nota

Il comando validate-template è progettato per controllare solo la sintassi del modello. Non garantisce che i valori delle proprietà specificati per una risorsa siano validi per tale risorsa. Né determina il numero di risorse presenti quando verrà creato lo stack.

Per verificare la validità operativa, devi tentare di creare lo stack. Non esiste una sandbox o un'area di test per gli AWS CloudFormation stack, quindi ti verranno addebitate le risorse create durante i test.

Esempio di disponibilità

Non riesci a trovare quello che ti serve? Richiedi un nuovo esempio utilizzando il link Fornisci feedback in fondo a questa pagina.