0

Tout en utilisant CloudFormation pour créer une instance EC2 avec un groupe autoscaling, je fais face à l'erreur: The following resource(s) failed to create: [WebsInstanceServerGroup].AWS CloudFormation ne pas reconnaître AutoScalingGroup

image of CloudFormation Group output

L'échec est vu tout en créant un groupe de mise à l'échelle automatique, mais quand Je vérifie la console du groupe de mise à l'échelle automatique, elle dit que la création a été «réussie». (La suppression 'en cours' se produit après une période d'attente de 15 minutes à partir de CloudFormation).

image of AutoScaling output

Quelle pourrait être la raison CloudFormation est ne reconnaît pas que le groupe AutoScale est créé avec succès?

L'erreur dit aussi quelque chose au sujet de WebInstanceServerGroup, donc j'ai vérifié mon modèle pour cela, mais vu rien de suspect.

"WebsInstanceServerGroup": { 
    "Type": "AWS::AutoScaling::AutoScalingGroup", 
    "Properties": { 
    "AvailabilityZones": { 
     "Fn::GetAZs": "AWS::Region" 
    }, 
    "VPCZoneIdentifier": { 
     "Ref": "WebsELBSubnetId" 
    }, 
    "LoadBalancerNames": [ 
     { 
     "Ref": "WebsELB" 
     } 
    ], 
    "LaunchConfigurationName": { 
     "Ref": "WebsEC2Instance" 
    }, 
    "Cooldown": 300, 
    "HealthCheckGracePeriod": 600, 
    "HealthCheckType": "EC2", 
    "Tags": [ 
     { 
     "Key": "Name", 
     "Value": { 
      "Ref": "WebsInstanceName" 
     }, 
     "PropagateAtLaunch": "true" 
     }, 
     { 
     "Key": "Service", 
     "Value": { 
      "Ref": "ServiceTag" 
     }, 
     "PropagateAtLaunch": "true" 
     } 
    ], 
    "MinSize": { 
     "Ref": "ASGMin" 
    }, 
    "DesiredCapacity": { 
     "Ref": "ASGDesired" 
    }, 
    "MaxSize": { 
     "Ref": "ASGMax" 
    } 
    }, 
    "CreationPolicy": { 
    "ResourceSignal": { 
     "Count": { 
     "Ref": "ASGMin" 
     }, 
     "Timeout": "PT15M" 
    } 
    } 
} 

S'il vous plaît laissez-moi savoir si plus d'informations sont nécessaires, merci d'avance.

Répondre

0

Il semblerait que vos instances EC2 de votre groupe de mise à l'échelle automatique n'envoient pas the required success signals.

CloudFormation vous attend pour l'envoi des signaux ASGMin avant de considérer que votre WebsInstanceServerGroup a bien été créé. Donc, si ASGMin est réglé sur 3, chacune de vos 3 instances EC2 doit envoyer un signal.

Pour envoyer le signal que vous pouvez utiliser l'aide cfn-signal ou with the AWS CLI:

aws cloudformation signal-resource \ 
    --stack-name {your stack name here} \ 
    --status SUCCESS \ 
    --logical-resource-id WebsInstanceServerGroup \ 
    --unique-id {the instance ID for the EC2 instance that is sending the signal} 

Utilisez cette commande à la fin de votre script User Data, lorsque vous considérez votre instance EC2 à être entièrement provisionné et prêt à partir .