Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemples de commandes d'opération de CloudFormation pile pour AWS CLI et PowerShell
Les exemples de ligne de commande suivants montrent comment effectuer des CloudFormation actions individuelles avec le AWS CLI et PowerShell. Ces exemples incluent uniquement les actions les plus couramment utilisées. Pour obtenir la liste complète, consultez cloudformationdans la référence de AWS CLI commande.
Les exemples présentés dans ce guide utilisent la convention d'une barre oblique inverse (\) pour indiquer qu'une longue ligne de commande continue sur la ligne suivante.
Annuler la mise à jour d'une pile
Utilisez la cancel-update-stack
commande pour annuler une mise à jour de la pile. Pour de plus amples informations, veuillez consulter Annuler la mise à jour d'une pile.
- CLI
-
- AWS CLI
-
Pour annuler une mise à jour de la pile en cours
La cancel-update-stack
commande suivante annule une mise à jour de la pile sur la myteststack
pile :
aws cloudformation cancel-update-stack --stack-name myteststack
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : annule une mise à jour sur la pile spécifiée.
Stop-CFNUpdateStack -StackName "myStack"
Poursuite de la restauration d'une mise à jour
Utilisez la continue-update-rollback
commande pour continuer à annuler une mise à jour. Pour de plus amples informations, veuillez consulter Poursuite de la restauration d'une mise à jour.
- CLI
-
- AWS CLI
-
Pour réessayer d'annuler une mise à jour
L'continue-update-rollback
exemple suivant reprend une opération de restauration suite à un échec antérieur de la mise à jour de la pile.
aws cloudformation continue-update-rollback \
--stack-name my-stack
Cette commande ne produit aucun résultat.
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : Poursuit l'annulation de la pile nommée, qui doit être dans l'état « UPDATE _ ROLLBACK _ FAILED ». Si la restauration continue est réussie, la pile passera à l'état « UPDATE _ ROLLBACK _ COMPLETE ».
Resume-CFNUpdateRollback -StackName "myStack"
Création d'une pile
Utilisez la create-stack
commande pour créer une pile. Vous devez fournir le nom de la pile, l'emplacement d'un modèle valide et tous les paramètres d'entrée requis. Les noms des clés des paramètres distinguent les majuscules et minuscules. Si vous tapez mal le nom d'une clé de paramètre, CloudFormation cela ne crée pas la pile et indique que le modèle ne contient pas ce paramètre.
Par défaut, la describe-stacks
commande renvoie les valeurs des paramètres. Pour empêcher le renvoi des valeurs de paramètre confidentielles, telles que les mots de passe, insérez une propriété NoEcho
définie sur TRUE
dans votre modèle CloudFormation.
L'utilisation de l'attribut NoEcho
ne masque aucune information stockée dans les lieux suivants :
-
La section des Metadata
modèles. CloudFormation ne transforme, ne modifie ni n'expédie aucune information que vous incluez dans Metadata
cette section. Pour de plus amples informations, veuillez consulter CloudFormation modèle Metadata syntaxe.
-
La section de modèle Outputs
Pour de plus amples informations, veuillez consulter CloudFormation modèle Outputs syntaxe.
-
L’attribut Metadata
d'une définition de ressource. Pour de plus amples informations, veuillez consulter Attribut Metadata.
Nous vous recommandons vivement de ne pas utiliser ces mécanismes pour inclure des informations sensibles, telles que des mots de passe ou des secrets.
Plutôt que d'intégrer des informations sensibles directement dans vos CloudFormation modèles, nous vous recommandons d'utiliser des paramètres dynamiques dans le modèle de pile pour référencer les informations sensibles stockées et gérées à l'extérieur CloudFormation, par exemple dans le AWS Systems Manager Parameter Store ou AWS Secrets Manager.
Pour plus d'informations, consultez les N'incorporez pas d'informations d'identification dans vos modèles meilleures pratiques.
Les exemples suivants montrent comment créer une nouvelle pile avec le nom, le modèle et les paramètres d'entrée spécifiés.
- CLI
-
- AWS CLI
-
Pour créer une AWS CloudFormation pile
La create-stacks
commande suivante crée une pile portant le nom myteststack
à l'aide du sampletemplate.json
modèle :
aws cloudformation create-stack --stack-name myteststack
--template-body file://sampletemplate.json
--parameters ParameterKey=KeyPairName,ParameterValue=TestKey
ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2
Sortie :
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
Pour plus d'informations, consultez Stacks dans le guide de l'AWS CloudFormation utilisateur.
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : crée une nouvelle pile portant le nom spécifié. Le modèle est analysé à partir du contenu fourni avec des paramètres de personnalisation (PK1« » et « PK2 » représentent les noms des paramètres déclarés dans le contenu du modèle, « PV1 » et « PV2 » représentent les valeurs de ces paramètres. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « ParameterValue ». Si la création de la pile échoue, elle ne sera pas annulée.
New-CFNStack -StackName "myStack" `
-TemplateBody "{TEMPLATE CONTENT HERE}" `
-Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) `
-DisableRollback $true
Exemple 2 : crée une nouvelle pile portant le nom spécifié. Le modèle est analysé à partir du contenu fourni avec des paramètres de personnalisation (PK1« » et « PK2 » représentent les noms des paramètres déclarés dans le contenu du modèle, « PV1 » et « PV2 » représentent les valeurs de ces paramètres. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « ParameterValue ». Si la création de la pile échoue, elle sera annulée.
$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"
Exemple 3 : crée une nouvelle pile portant le nom spécifié. Le modèle est obtenu auprès d'Amazon S3 URL avec des paramètres de personnalisation (PK1« » représente le nom d'un paramètre déclaré dans le contenu du modèle, PV1 « » représente la valeur du paramètre. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « ParameterValue ». Si la création de la pile échoue, elle sera annulée (comme si vous spécifiez - DisableRollback $false).
New-CFNStack -StackName "myStack" `
-TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
-Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
Exemple 4 : Crée une nouvelle pile portant le nom spécifié. Le modèle est obtenu auprès d'Amazon S3 URL avec des paramètres de personnalisation (PK1« » représente le nom d'un paramètre déclaré dans le contenu du modèle, PV1 « » représente la valeur du paramètre. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « ParameterValue ». Si la création de la pile échoue, elle sera annulée (comme si vous spécifiez - DisableRollback $false). La notification spécifiée AENs recevra les événements publiés liés à la pile.
New-CFNStack -StackName "myStack" `
-TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
-Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } `
-NotificationARN @( "arn1", "arn2" )
Vous pouvez également spécifier l' AWS Systems Manager emplacement d'un fichier modèle.
- AWS CLI
-
La create-stack
commande suivante crée une pile portant le nom myteststack
en utilisant un AWS Systems Manager document comme modèleURL.
aws cloudformation create-stack --stack-name myteststack
\
--template-url "ssm-doc://arn:aws:ssm:us-east-1:123456789012:document/documentName"
Sortie :
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
Créez une pile qui inclut des transformations
Utilisez la deploy
commande pour créer une pile incluant des transformations.
Pour créer une pile à partir d'un modèle incluant des transformations, vous devez utiliser un ensemble de modifications. Au lieu de créer un ensemble de modifications puis de le lancer, utilisez la deploy
commande pour combiner ces étapes en une seule commande.
- AWS CLI
-
La deploy
commande suivante crée une pile avec le nom, le modèle et les paramètres d'entrée spécifiés.
aws cloudformation deploy --stack-name myteststack
\
--template /path_to_template/my-template.json
\
--parameter-overrides Key1=Value1 Key2=Value2
Supprimer une pile
Utilisez la delete-stack
commande pour supprimer une pile. Pour de plus amples informations, veuillez consulter Supprimer une pile de la CloudFormation console.
- CLI
-
- AWS CLI
-
Pour supprimer une pile
L'delete-stack
exemple suivant supprime la pile spécifiée.
aws cloudformation delete-stack \
--stack-name my-stack
Cette commande ne produit aucun résultat.
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : Supprime la pile spécifiée.
Remove-CFNStack -StackName "myStack"
Si la suppression échoue et renvoie un DELETE_FAILED
état, vous pouvez choisir de supprimer la pile de force à l'aide de l'--deletion-mode
option. Les valeurs suivantes peuvent être utilisées avec deletion-mode
:
- AWS CLI
-
La force de delete-stack
commande suivante supprime la myteststack
pile en utilisant la FORCE_DELETE_STACK
valeur associée au deletion-mode
paramètre :
aws cloudformation delete-stack --stack-name myteststack
\
--deletion-mode FORCE_DELETE_STACK
Cette commande ne produit aucun résultat.
Après utilisationFORCE_DELETE_STACK
, vous pouvez utiliser la list-stack-resources
commande pour répertorier les ressources qui ont été ignorées lors du processus de suppression de la pile. Les ressources conservées afficheront le SKIPPED statut DELETE _. Pour de plus amples informations, veuillez consulter Lister les ressources de la pile.
Décrire les événements de la pile
Utilisez la describe-stack-events
commande pour décrire les événements de la pile. Pour de plus amples informations, veuillez consulter Surveillez la progression de la pile.
- CLI
-
- AWS CLI
-
Pour décrire les événements de la pile
L'describe-stack-events
exemple suivant affiche les 2 événements les plus récents pour la pile spécifiée.
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
-
- Outils pour PowerShell
-
Exemple 1 : renvoie tous les événements liés à la pile pour la pile spécifiée.
Get-CFNStackEvent -StackName "myStack"
Décrire une ressource de pile
- CLI
-
- AWS CLI
-
Pour obtenir des informations sur une ressource de pile
L'describe-stack-resource
exemple suivant affiche les détails de la ressource nommée MyFunction
dans la pile spécifiée.
aws cloudformation describe-stack-resource \
--stack-name MyStack
\
--logical-resource-id MyFunction
Sortie :
{
"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
-
- Outils pour PowerShell
-
Exemple 1 : renvoie la description d'une ressource identifiée dans le modèle associé à la pile spécifiée par l'ID logique yDBInstance « M ».
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
Décrire les ressources de la pile
- CLI
-
- AWS CLI
-
Pour obtenir des informations sur une ressource de pile
L'describe-stack-resources
exemple suivant affiche les détails des ressources de la pile spécifiée.
aws cloudformation describe-stack-resources \
--stack-name my-stack
Sortie :
{
"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
-
- Outils pour PowerShell
-
Exemple 1 : renvoie les descriptions de AWS ressources pour un maximum de 100 ressources associées à la pile spécifiée. Pour obtenir des informations détaillées sur toutes les ressources associées à une pile, utilisez le Get-CFNStackResourceSummary, qui prend également en charge la pagination manuelle des résultats.
Get-CFNStackResourceList -StackName "myStack"
Exemple 2 : renvoie la description de l'EC2instance Amazon identifiée dans le modèle associé à la pile spécifiée par l'ID logique « Ec2Instance ».
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
Exemple 3 : renvoie la description d'un maximum de 100 ressources associées à la pile contenant une EC2 instance Amazon identifiée par l'ID d'instance « i-123456 ». Pour obtenir des informations détaillées sur toutes les ressources associées à une pile, utilisez le Get-CFNStackResourceSummary, qui prend également en charge la pagination manuelle des résultats.
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
Exemple 4 : renvoie la description de l'EC2instance Amazon identifiée par l'ID logique « Ec2Instance » dans le modèle d'une pile. La pile est identifiée à l'aide de l'ID de ressource physique d'une ressource qu'elle contient, dans ce cas également une EC2 instance Amazon avec l'ID d'instance « i-123456 ». Une ressource physique différente peut également être utilisée pour identifier la pile en fonction du contenu du modèle, par exemple un compartiment Amazon S3.
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
Décrire les piles
- CLI
-
- AWS CLI
-
Pour décrire les AWS CloudFormation piles
La describe-stacks
commande suivante affiche des informations récapitulatives pour la myteststack
pile :
aws cloudformation describe-stacks --stack-name myteststack
Sortie :
{
"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
}
]
}
Pour plus d'informations, consultez Stacks dans le guide de l'AWS CloudFormation utilisateur.
- Go
-
- SDKpour Go V2
-
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
}
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : renvoie une collection d'instances Stack décrivant toutes les piles de l'utilisateur.
Get-CFNStack
Exemple 2 : Renvoie une instance de Stack décrivant la pile spécifiée
Get-CFNStack -StackName "myStack"
Obtenez un modèle
- CLI
-
- AWS CLI
-
Pour afficher le corps du modèle d'une AWS CloudFormation pile
La get-template
commande suivante montre le modèle de la myteststack
pile :
aws cloudformation get-template --stack-name myteststack
Sortie :
{
"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"
}
}
}
}
}
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : renvoie le modèle associé à la pile spécifiée.
Get-CFNTemplate -StackName "myStack"
Lister les ressources de la pile
- CLI
-
- AWS CLI
-
Pour répertorier les ressources d'une pile
La commande suivante affiche la liste des ressources de la pile spécifiée.
aws cloudformation list-stack-resources \
--stack-name my-stack
Sortie :
{
"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
-
- Outils pour PowerShell
-
Exemple 1 : renvoie les descriptions de toutes les ressources associées à la pile spécifiée.
Get-CFNStackResourceSummary -StackName "myStack"
Piles de listes
Utilisez la list-stacks
commande pour répertorier les piles. Pour répertorier uniquement les piles avec les codes d'état spécifiés, incluez l'--stack-status-filter
option. Vous pouvez spécifier un ou plusieurs codes d'état de pile pour --stack-status-filter
cette option. Pour de plus amples informations, veuillez consulter Codes d'état de la pile.
- CLI
-
- AWS CLI
-
Pour répertorier les AWS CloudFormation piles
La list-stacks
commande suivante affiche un résumé de toutes les piles dont le statut est : CREATE_COMPLETE
aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE
Sortie :
[
{
"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"
}
]
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : renvoie des informations récapitulatives pour toutes les piles.
Get-CFNStackSummary
Exemple 2 : renvoie des informations récapitulatives pour toutes les piles en cours de création.
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
Exemple 3 : renvoie des informations récapitulatives pour toutes les piles en cours de création ou de mise à jour.
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
Mettre à jour une pile
Utilisez la commande update-stack
pour mettre à jour directement une pile. Vous spécifiez la pile, les valeurs de paramètre et les fonctionnalités que vous souhaitez mettre à jour et, si vous voulez utiliser un modèle mis à jour, le nom de ce modèle. Pour de plus amples informations, veuillez consulter Mettre à jour les piles directement.
- CLI
-
- AWS CLI
-
Pour mettre à jour les AWS CloudFormation piles
La update-stack
commande suivante met à jour le modèle et les paramètres d'entrée de la mystack
pile :
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
La update-stack
commande suivante met à jour uniquement la valeur du SubnetIDs
paramètre de la mystack
pile. Si vous ne spécifiez aucune valeur de paramètre, la valeur par défaut spécifiée dans le modèle est utilisée :
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
La update-stack
commande suivante ajoute deux sujets de notification de pile à la mystack
pile :
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"
Pour plus d'informations, consultez la section AWS CloudFormation Stack Updates dans le guide de AWS CloudFormation l'utilisateur.
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » représente le nom d'un paramètre déclaré dans le modèle et « PV1 » représente sa valeur. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « ParameterValue ».
Update-CFNStack -StackName "myStack" `
-TemplateBody "{Template Content Here}" `
-Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
Exemple 2 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « ParameterValue ».
Update-CFNStack -StackName "myStack" `
-TemplateBody "{Template Content Here}" `
-Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
Exemple 3 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » représente le nom d'un paramètre déclaré dans le modèle et « PV2 » représente sa valeur. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « ParameterValue ».
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
Exemple 4 : met à jour la pile « myStack » avec le modèle spécifié, obtenu auprès d'Amazon S3, et les paramètres de personnalisation. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « 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" } )
Exemple 5 : met à jour la pile myStack « », censée contenir des IAM ressources dans cet exemple, avec le modèle spécifié, obtenu auprès d'Amazon S3, et les paramètres de personnalisation. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de ParameterKey « » et « ParameterValue ». Les piles contenant des IAM ressources nécessitent que vous spécifiiez le paramètre -Capabilities « CAPABILITY _ IAM », sinon la mise à jour échouera avec une erreur « 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"
Pour supprimer toutes les notifications, spécifiez []
pour l'--notification-arns
option.
Validez votre modèle
Utilisez la validate-template
commande pour vérifier la présence d'erreurs de syntaxe dans votre fichier modèle.
Lors de la validation, vérifiez d' CloudFormation abord si le modèle est valideJSON. Si ce n'est pas le cas, CloudFormation vérifie si le modèle est valideYAML. Si les deux vérifications échouent, CloudFormation renvoie une erreur de validation du modèle.
- CLI
-
- AWS CLI
-
Pour valider un AWS CloudFormation modèle
La validate-template
commande suivante valide le sampletemplate.json
modèle :
aws cloudformation validate-template --template-body file://sampletemplate.json
Sortie :
{
"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": []
}
Pour plus d'informations, consultez la section Utilisation des AWS CloudFormation modèles dans le guide de AWS CloudFormation l'utilisateur.
- PowerShell
-
- Outils pour PowerShell
-
Exemple 1 : valide le contenu du modèle spécifié. La sortie détaille les fonctionnalités, la description et les paramètres du modèle.
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
Exemple 2 : valide le modèle spécifié accessible via un Amazon S3URL. La sortie détaille les fonctionnalités, la description et les paramètres du modèle.
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
Voici un exemple de réponse qui produit une erreur de validation.
{
"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)
La commande validate-template
est conçue pour vérifier uniquement la syntaxe de votre modèle. Elle ne garantit pas que les valeurs de propriété que vous avez spécifiées pour une ressource sont valides pour cette ressource. Elle ne détermine pas non plus le nombre de ressources qui existeront lorsque la pile sera créée.
Pour vérifier la validité opérationnelle, vous devez essayer de créer la pile. Il n'y a pas de bac à sable ni de zone de test pour les AWS CloudFormation piles. Les ressources créées lors des tests vous sont donc facturées.
Vous n’avez pas trouvé ce dont vous avez besoin ? Demandez un nouvel exemple en utilisant le lien Fournir des commentaires au bas de cette page.