Я настраиваю службу ecs, которой нужен экземпляр ec2 для запуска контейнеров. Шаблон формирования облака, который используется для настройки LaunchConfiguration и AutoScalingGroup, выглядит следующим образом:
LaunchConfiguration:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
ImageId: ami-0d7db0e3ec32793ae
InstanceType: t3.medium
SecurityGroups:
- !Ref SecurityGroupECS
IamInstanceProfile: !GetAtt InstanceProfileContainer.Arn
UserData:
Fn::Base64:
Fn::Sub:
- |
#!/bin/bash
# Set any ECS agent configuration options
echo ECS_CLUSTER=${Cluster} >> /etc/ecs/ecs.config
/opt/aws/bin/cfn-signal -e 0 --stack ${AWS::StackName} --resource ${AutoScalingGroupId} --region ${AWS::Region}
- Cluster: !Ref Cluster
AutoScalingGroupId: ECSAutoScalingGroup
AutoScalingGroup:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
AutoScalingGroupName: ECSAutoScalingGroup
VPCZoneIdentifier:
- !Ref SubnetECSPrivate
LaunchConfigurationName: !Ref LaunchConfiguration
MinSize: 0
MaxSize: 1
DesiredCapacity: 1
CreationPolicy:
ResourceSignal:
Timeout: PT3M
UpdatePolicy:
AutoScalingReplacingUpdate:
WillReplace: true
Во время развертывания возникла следующая проблема:
Received 0 SUCCESS signal(s) out of 1. Unable to satisfy 100% MinSuccessfulInstancesPercent requirement
Похоже, экземпляр ec2 не отправляетСигнал, несмотря на сценарий bash выглядит хорошо. В то же время экземпляр ec2 работает и работает в соответствии с веб-консолью
- Как лучше всего найти журналы пользовательских данных, чтобы увидеть, что происходит во время запуска (хотя экземпляр ec2 не является общедоступным, следовательно, недоступениспользуя ssh)?
- Я написал правильный сценарий bash для отправки сигнала об успехе?
- Если сценарий правильный, какие возможные проблемы это вызывают?