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à.
Esempi di comandi di funzionamento CloudFormation dello stack per e AWS CLI PowerShell
I seguenti esempi da riga di comando mostrano come eseguire CloudFormation azioni individuali con and. AWS CLI PowerShell Questi esempi seguenti includono solo le operazioni più comunemente utilizzate. Per un elenco completo, consulta cloudformation nella AWS CLI Command Reference.
Gli esempi di questa guida utilizzano la convenzione di una barra rovesciata (\) per indicare che una lunga riga di comando continua sulla riga successiva.
Argomenti
Annulla l’aggiornamento di uno stack
Utilizza il comando cancel-update-stack per annullare l’aggiornamento di uno stack. Per ulteriori informazioni, consulta Annulla l’aggiornamento di uno stack.
- CLI
-
- AWS CLI
-
Come annullare un aggiornamento di stack in corso
Il seguente comando
cancel-update-stackannulla un aggiornamento di stack nello stackmyteststack:aws cloudformation cancel-update-stack --stack-namemyteststack-
Per i dettagli sull'API, vedere CancelUpdateStack
in AWS CLI Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: annulla un aggiornamento nello stack specificato.
Stop-CFNUpdateStack -StackName "myStack"-
Per i dettagli sull'API, vedere CancelUpdateStackin AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: annulla un aggiornamento nello stack specificato.
Stop-CFNUpdateStack -StackName "myStack"-
Per i dettagli sull'API, vedere CancelUpdateStackin AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Rollback di un aggiornamento
Utilizza il comando continue-update-rollback per continuare il rollback di un aggiornamento. Per ulteriori informazioni, consulta Rollback di un aggiornamento.
- CLI
-
- AWS CLI
-
Come riprovare il rollback dell’aggiornamento
L’esempio
continue-update-rollbackseguente riprende un’operazione di rollback da un aggiornamento dello stack precedentemente non riuscito.aws cloudformation continue-update-rollback \ --stack-namemy-stackQuesto comando non produce alcun output.
-
Per i dettagli sull'API, vedere ContinueUpdateRollback
in AWS CLI Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: continua il rollback dello stack denominato, il cui stato deve essere “UPDATE_ROLLBACK_FAILED”. Se il rollback continuato ha esito positivo, lo stack assumerà lo stato “UPDATE_ROLLBACK_COMPLETE”.
Resume-CFNUpdateRollback -StackName "myStack"-
Per i dettagli sull'API, vedere ContinueUpdateRollbackin AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: continua il rollback dello stack denominato, il cui stato deve essere “UPDATE_ROLLBACK_FAILED”. Se il rollback continuato ha esito positivo, lo stack assumerà lo stato “UPDATE_ROLLBACK_COMPLETE”.
Resume-CFNUpdateRollback -StackName "myStack"-
Per i dettagli sull'API, vedere ContinueUpdateRollbackin AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Creare uno stack
Utilizza il comando create-stack 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 fanno distinzione 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.
Gli esempi seguenti mostrano come creare un nuovo stack con il nome, il modello e i parametri degli input specificati.
- CLI
-
- AWS CLI
-
Per creare uno stack AWS CloudFormation
Il seguente comando
create-stackscrea uno stack denominatomyteststackutilizzando il modellosampletemplate.json:aws cloudformation create-stack --stack-namemyteststack--template-bodyfile://sampletemplate.json--parametersParameterKey=KeyPairName,ParameterValue=TestKeyParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2Output:
{ "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 i dettagli sull'API, consulta CreateStack AWS CLI
Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
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 ha esito negativo, non verrà eseguito il rollback dello stack.
New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $trueEsempio 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 ha esito negativo, verrà eseguito il rollback dello stack.
$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 dall'URL di Amazon S3 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/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }Esempio 4: crea un nuovo stack con il nome specificato. Il modello è ottenuto dall'URL di Amazon S3 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/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )-
Per i dettagli sull'API, vedere CreateStackin AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 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 ha esito negativo, non verrà eseguito il rollback dello stack.
New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $trueEsempio 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 ha esito negativo, verrà eseguito il rollback dello stack.
$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 dall'URL di Amazon S3 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/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }Esempio 4: crea un nuovo stack con il nome specificato. Il modello è ottenuto dall'URL di Amazon S3 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/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )-
Per i dettagli sull'API, vedere CreateStackin AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Nota
Puoi utilizzare l' AWS CLI --template-urlopzione per specificare una posizione del file modello in Amazon S3 o. AWS Systems Manager
Per Amazon S3, l’URL deve iniziare con https://. I siti Web statici S3 non URLs sono supportati.
--template-urlhttps://s3.region-code.amazonaws.com/bucket-name/template-name
Per AWS Systems Manager, utilizza il seguente formato:
--template-url"ssm-doc://arn:aws:ssm:region-code:account-id:document/document-name"
Crea uno stack che includa le trasformazioni
Usa il comando deploy per creare uno stack che includa le trasformazioni. Quando crei uno stack da un modello che include trasformazioni, devi utilizzare un set di modifiche. Il comando deploy combina due passaggi (creazione di un set di modifiche e relativa esecuzione) in un unico comando.
- AWS CLI
-
Il comando
deployseguente crea uno stack con il nome, il modello e i parametri di input specificati.aws cloudformation deploy --stack-namemyteststack\ --template/path_to_template/my-template.json\ --parameter-overridesKey1=Value1 Key2=Value2
Eliminazione di uno stack
Utilizza il comando delete-stack per eliminare uno stack. Per ulteriori informazioni, consulta Eliminazione di uno stack.
- CLI
-
- AWS CLI
-
Come eliminare uno stack
L’esempio
delete-stackseguente elimina lo stack specificato.aws cloudformation delete-stack \ --stack-namemy-stackQuesto comando non produce alcun output.
-
Per i dettagli sull'API, consulta DeleteStack AWS CLI
Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: elimina lo stack specificato.
Remove-CFNStack -StackName "myStack"-
Per i dettagli sull'API, vedere DeleteStackin AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: elimina lo stack specificato.
Remove-CFNStack -StackName "myStack"-
Per i dettagli sull'API, vedere DeleteStackin AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Se l’eliminazione fallisce e restituisce uno stato DELETE_FAILED, puoi scegliere di eliminare lo stack con la forza utilizzando l’opzione --deletion-mode. Questi sono i seguenti valori che possono essere usati con deletion-mode:
-
STANDARD: elimina lo stack normalmente. Si tratta della modalità di eliminazione predefinita. -
FORCE_DELETE_STACK: elimina lo stack e salta tutte le risorse che non riescono a eliminare.
- AWS CLI
-
La forza per il comando
delete-stackseguente elimina lo stackutilizzando il valoremyteststackFORCE_DELETE_STACKcon il parametrodeletion-mode:aws cloudformation delete-stack --stack-namemyteststack\ --deletion-mode FORCE_DELETE_STACKQuesto comando non produce alcun output.
Dopo l’utilizzo di FORCE_DELETE_STACK, puoi utilizzare il comando list-stack-resources 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 comando describe-stack-events per descrivere gli eventi dello stack. Per ulteriori informazioni, consulta Monitoraggio dell’avanzamento dello stack.
- CLI
-
- AWS CLI
-
Come descrivere gli eventi dello stack
L’esempio
describe-stack-eventsseguente visualizza i 2 eventi più recenti per lo stack specificato.aws cloudformation describe-stack-events \ --stack-namemy-stack\ --max-items2{"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=="}-
Per i dettagli sull'API, vedere DescribeStackEvents
in AWS CLI Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: restituisce tutti gli eventi correlati allo stack per lo stack specificato.
Get-CFNStackEvent -StackName "myStack"-
Per i dettagli sull'API, vedere DescribeStackEventsin AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: restituisce tutti gli eventi correlati allo stack per lo stack specificato.
Get-CFNStackEvent -StackName "myStack"-
Per i dettagli sull'API, vedere DescribeStackEventsin AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Descrivi una risorsa di stack
- CLI
-
- AWS CLI
-
Come ottenere informazioni su una risorsa di stack
L’esempio
describe-stack-resourceseguente visualizza i dettagli della risorsa denominataMyFunctionnello stack specificato.aws cloudformation describe-stack-resource \ --stack-nameMyStack\ --logical-resource-idMyFunctionOutput:
{ "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" } } }-
Per i dettagli sull'API, vedere DescribeStackResource
in AWS CLI Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: restituisce la descrizione di una risorsa identificata nel modello associato allo stack specificato dall'ID logico «MyDBInstance».
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"-
Per i dettagli sull'API, vedere DescribeStackResourcein AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: restituisce la descrizione di una risorsa identificata nel modello associato allo stack specificato dall'ID logico «MyDBInstance».
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"-
Per i dettagli sull'API, vedere DescribeStackResourcein AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Descrivi le risorse di stack
- CLI
-
- AWS CLI
-
Come ottenere informazioni su una risorsa di stack
L’esempio
describe-stack-resourcesseguente visualizza i dettagli delle risorse nello stack specificato.aws cloudformation describe-stack-resources \ --stack-namemy-stackOutput:
{ "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" } } ] }-
Per i dettagli sull'API, vedere DescribeStackResources
in AWS CLI Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
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' EC2 istanza 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' EC2 istanza 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' EC2 istanza 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' EC2 istanza 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"-
Per i dettagli sull'API, vedere DescribeStackResourcesin Cmdlet Reference (V4).AWS Strumenti per PowerShell
-
- Strumenti per V5 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' EC2 istanza 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' EC2 istanza 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' EC2 istanza 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' EC2 istanza 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"-
Per i dettagli sull'API, vedere DescribeStackResourcesin Cmdlet Reference (V5).AWS Strumenti per PowerShell
-
Descrivi gli stack
- CLI
-
- AWS CLI
-
Per descrivere gli stack AWS CloudFormation
Il comando
describe-stacksseguente mostra le informazioni di riepilogo per lo stackmyteststack:aws cloudformation describe-stacks --stack-namemyteststackOutput:
{ "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 i dettagli sull'API, consulta DescribeStacks AWS CLI
Command Reference.
-
- Go
-
- SDK per Go V2
-
Nota
C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. import ( "context" "log" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/cloudformation" ) // 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(ctx context.Context, stackName string) StackOutputs { output, err := actor.CfnClient.DescribeStacks(ctx, &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 i dettagli sull'API, consulta la DescribeStacks
sezione AWS SDK per Go API Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: restituisce una raccolta di istanze di stack che descrivono tutti gli stack dell’utente.
Get-CFNStackEsempio 2: restituisce un’istanza di stack che descrive lo stack specificato
Get-CFNStack -StackName "myStack"-
Per i dettagli sull'API, vedere DescribeStacksin AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: restituisce una raccolta di istanze di stack che descrivono tutti gli stack dell’utente.
Get-CFNStackEsempio 2: restituisce un’istanza di stack che descrive lo stack specificato
Get-CFNStack -StackName "myStack"-
Per i dettagli sull'API, vedere DescribeStacksin AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Per impostazione predefinita, il comando describe-stacks restituisce i valori del parametro. Per evitare che vengano restituiti valori di parametri sensibili come le password, includi una NoEcho proprietà impostata su nei tuoi modelli. TRUE CloudFormation
Importante
L’utilizzo dell’attributo NoEcho non maschera le informazioni memorizzate nei seguenti elementi:
-
La sezione dei
Metadatamodelli. CloudFormation non trasforma, modifica o oscura le informazioni incluse nellaMetadatasezione. Per ulteriori informazioni, vedere Metadati. -
Sezione dei modelli
Outputs. Per ulteriori informazioni, consulta Output. -
Attributo
Metadatadi una definizione di risorsa. Per ulteriori informazioni, consulta AttributoMetadata.
Si consiglia vivamente di non utilizzare questi meccanismi per includere informazioni sensibili, come password o segreti.
Importante
Anziché 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. Gestione dei segreti AWS
Per ulteriori informazioni, consulta la best practice Non incorporare le credenziali nei modelli.
Ottieni un modello
- CLI
-
- AWS CLI
-
Per visualizzare il corpo del modello per uno stack AWS CloudFormation
Il comando
get-templateseguente mostra il modello per lo stackmyteststack:aws cloudformation get-template --stack-namemyteststackOutput:
{ "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 i dettagli sull'API, consulta GetTemplate AWS CLI
Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: restituisce il modello associato allo stack specificato.
Get-CFNTemplate -StackName "myStack"-
Per i dettagli sull'API, vedere GetTemplatein AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: restituisce il modello associato allo stack specificato.
Get-CFNTemplate -StackName "myStack"-
Per i dettagli sull'API, vedere GetTemplatein AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Elenca le risorse dello stack
- CLI
-
- AWS CLI
-
Come elencare le risorse in uno stack
Il comando seguente visualizza l’elenco delle risorse nello stack specificato.
aws cloudformation list-stack-resources \ --stack-namemy-stackOutput:
{ "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" } } ] }-
Per i dettagli sull'API, vedere ListStackResources
in AWS CLI Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: restituisce le descrizioni di tutte le risorse associate allo stack specificato.
Get-CFNStackResourceSummary -StackName "myStack"-
Per i dettagli sull'API, vedere ListStackResourcesin AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: restituisce le descrizioni di tutte le risorse associate allo stack specificato.
Get-CFNStackResourceSummary -StackName "myStack"-
Per i dettagli sull'API, vedere ListStackResourcesin AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Elenca gli stack
Utilizza il comando list-stacks per elencare gli stack. Per elencare solo gli stack con i codici di stato specificati, includi l’opzione --stack-status-filter. Puoi specificare uno o più codici di stato dello stack per l’opzione --stack-status-filter. Per ulteriori informazioni, consulta Codici di stato dello stack.
- CLI
-
- AWS CLI
-
Per elencare le pile AWS CloudFormation
Il comando
list-stacksseguente mostra un riepilogo di tutti gli stack con statoCREATE_COMPLETE:aws cloudformation list-stacks --stack-status-filterCREATE_COMPLETEOutput:
[ { "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 i dettagli sull'API, consulta ListStacks AWS CLI
Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: restituisce informazioni di riepilogo per tutti gli stack.
Get-CFNStackSummaryEsempio 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")-
Per i dettagli sull'API, vedere ListStacksin AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: restituisce informazioni di riepilogo per tutti gli stack.
Get-CFNStackSummaryEsempio 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")-
Per i dettagli sull'API, vedere ListStacksin AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Aggiornare uno stack
Utilizzare il comando update-stack per aggiornare direttamente uno stack. È possibile specificare lo stack e i valori e le funzionalità dei parametri che si desidera aggiornare; inoltre, se si sceglie di utilizzare un modello aggiornato, è possibile specificare il nome del modello. Per ulteriori informazioni, consulta Aggiornare gli stack direttamente.
- CLI
-
- AWS CLI
-
Per aggiornare gli stack AWS CloudFormation
Il comando
update-stackseguente aggiorna il modello e i parametri di input per lo stackmystack:aws cloudformation update-stack --stack-namemystack--template-urlhttps://s3.amazonaws.com/sample/updated.template--parametersParameterKey=KeyPairName,ParameterValue=SampleKeyPairParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2Il comando
update-stackseguente aggiorna solo il valore del parametroSubnetIDsper lo stackmystack: Se non si specifica un valore di parametro, viene utilizzato il valore predefinito specificato nel modello:aws cloudformation update-stack --stack-namemystack--template-urlhttps://s3.amazonaws.com/sample/updated.template--parametersParameterKey=KeyPairName,UsePreviousValue=trueParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2Il comando
update-stackseguente aggiunge due argomenti di notifica per stack allo stackmystack:aws cloudformation update-stack --stack-namemystack--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 i dettagli sull'API, consulta UpdateStack AWS CLI
Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
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, mentre '' e 'PV1PV2' 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/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )Esempio 5: aggiorna lo stack 'MyStack', che in questo esempio si presume contenga risorse IAM, con il modello specificato, ottenuto da Amazon S3, e i parametri di personalizzazione. 'PK1' e 'PK2' rappresentano i nomi dei parametri dichiarati nel modello, mentre '' e 'PV1PV2' rappresentano i valori richiesti. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «ParameterKey» e «ParameterValue». Gli stack contenenti risorse IAM richiedono di specificare il parametro -Capabilities «CAPABILITY_IAM», altrimenti l'aggiornamento avrà esito negativo con un errore ''. InsufficientCapabilities
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"-
Per i dettagli sull'API, vedere UpdateStackin Cmdlet Reference (V4).AWS Strumenti per PowerShell
-
- Strumenti per V5 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, mentre '' e 'PV1PV2' 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/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )Esempio 5: aggiorna lo stack 'MyStack', che in questo esempio si presume contenga risorse IAM, con il modello specificato, ottenuto da Amazon S3, e i parametri di personalizzazione. 'PK1' e 'PK2' rappresentano i nomi dei parametri dichiarati nel modello, mentre '' e 'PV1PV2' rappresentano i valori richiesti. I parametri di personalizzazione possono anche essere specificati utilizzando «Key» e «Value» anziché «ParameterKey» e «ParameterValue». Gli stack contenenti risorse IAM richiedono di specificare il parametro -Capabilities «CAPABILITY_IAM», altrimenti l'aggiornamento avrà esito negativo con un errore ''. InsufficientCapabilities
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"-
Per i dettagli sull'API, vedere UpdateStackin Cmdlet Reference (V5).AWS Strumenti per PowerShell
-
Nota
Per rimuovere tutte le notifiche, specifica [] per l’opzione --notification-arns.
Convalida il modello
Per verificare la presenza di errori di sintassi nel file del modello, utilizza il comando validate-template.
Durante la convalida, verifica CloudFormation innanzitutto se il modello è JSON valido. Se non lo è, CloudFormation verifica se il modello è in un formato YAML valido. Se entrambi i controlli falliscono, CloudFormation restituisce un errore di convalida del modello.
- CLI
-
- AWS CLI
-
Per convalidare un modello AWS CloudFormation
Il comando
validate-templateseguente convalida il modellosampletemplate.json:aws cloudformation validate-template --template-bodyfile://sampletemplate.jsonOutput:
{ "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, consulta Lavorare con i AWS CloudFormation modelli nella Guida per l'AWS CloudFormation utente.
-
Per i dettagli sull'API, consulta ValidateTemplate AWS CLI
Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell V4
-
Esempio 1: convalida il contenuto del modello specificato. L’output riporta 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 un URL Amazon S3. L’output riporta in dettaglio le funzionalità, la descrizione e i parametri del modello.
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template-
Per i dettagli sull'API, vedere ValidateTemplatein AWS Strumenti per PowerShell Cmdlet Reference (V4).
-
- Strumenti per V5 PowerShell
-
Esempio 1: convalida il contenuto del modello specificato. L’output riporta 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 un URL Amazon S3. L’output riporta in dettaglio le funzionalità, la descrizione e i parametri del modello.
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template-
Per i dettagli sull'API, vedere ValidateTemplatein AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
Di seguito è riportata una risposta di esempio 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 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 un feedback nella parte inferiore di questa pagina.