Je souhaite recréer une ressource qui a été supprimée en dehors de la pile AWS CloudFormation.
Brève description
Lorsque l'ID logique d'une ressource est supprimé du modèle, CloudFormation interprète la ressource comme supprimée. Lorsque vous modifiez l'ID logique de la ressource dans le modèle, une mise à jour de remplacement est initiée. La mise à jour remplace la ressource CloudFormation supprimée.
Remarque : Assurez-vous de mettre à jour toutes les références à l'ancien ID logique.
Résolution
Pour récupérer une ressource supprimée en dehors de la pile CloudFormation, procédez comme suit.
-
Identifiez l'ID logique de la ressource supprimée hors bande dans votre modèle de piles.
Remarque : L'ID logique est différent de l'ID physique, qui est le nom de la ressource.
Dans l'exemple suivant, l'ID logique du compartiment Amazon Simple Storage Service (Amazon S3) est référencé lors d'une opération d'exportation. La ressource S3Bucket contenue dans l'exemple de modèle a été supprimée en dehors des opérations de pile de CloudFormation.
Resources:
S3Bucket: #Logical ID of the Resource
Type: AWS::S3::Bucket
Outputs:
BucketName:
Value: !Ref S3Bucket
Export:
Name: PrimaryBucket
-
Attribuez un nouveau ID logique à la ressource supprimée (par exemple, S3NewBucket).
Resources:
S3NewBucket: #The changed Logical ID of the Resource
Type: AWS::S3::Bucket
Outputs:
BucketName:
Value: !Ref S3Bucket
Export:
Name: PrimaryBucket
-
Recherchez et remplacez toutes les références de l'ancien ID logique par le nouveau ID logique.
Resources:
S3NewBucket: #The changed logical ID of the resource
Type: AWS::S3::Bucket
Outputs:
BucketName:
Value: !Ref S3NewBucket #Reference has been updated to point towards the new logical ID
Export:
Name: PrimaryBucket
-
Mettez à jour la pile CloudFormation avec le modèle modifié. La mise à jour recrée la ressource supprimée.
Informations connexes
Mettre à jour les comportements des ressources de pile