amazon-elastic-beanstalk - 当当前应用程序终止时,具有工作应用程序的 AWS Beanstalk 无法将应用程序部署到新的 ec2
问题描述
我有一个新的 beanstalk,它是一个在 Amazon AMI Linux 上运行 php5.6 平台下的应用程序的旧 beanstalk 的迁移。新的 beanstalk 在 Amazon Linux2 上运行 php7.3。我已经解决了所有迁移问题,并且该应用程序在我的新 beanstalk 上正常运行。我有一个负载均衡器(经典),我运行自动缩放,最大和最小实例设置都设置为 1。
当我终止 ec2 时会出现问题。自动缩放正在创建一个新的 ec2,但它没有将应用程序部署到它。
有谁知道为什么会这样,或者我可以在哪里尝试调试问题?
解决方案
对我有用的是删除与 cwlogs 相关的旧 .ebextension 配置文件,并添加该行
awslogs: []
到我的配置
packages:
yum:
然后创建一个新的conf文件如下
files:
"/tmp/start_aws_cloudwatch_service.sh":
content: |
#!/bin/sh
systemctl start awslogsd
systemctl status awslogsd
systemctl enable awslogsd.service
exit $?
mode : "000755"
owner : root
group : root
commands:
start_aws_cloudwatch_service:
cwd: /tmp
command: bash /tmp/start_aws_cloudwatch_service.sh
在此之后,我可以看到该服务已启动并正在运行
$ systemctl status awslogsd
● awslogsd.service - awslogs daemon
Loaded: loaded (/usr/lib/systemd/system/awslogsd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-10-14 14:08:19 UTC; 34min ago
Main PID: 4029 (aws)
CGroup: /system.slice/awslogsd.service
└─4029 /usr/bin/python2 -s /usr/bin/aws logs push --config-file /etc/awslogs/awslogs.conf --additional-configs-dir /etc/awslogs/c...
Oct 14 14:08:19 ip-xxx-xxx-30-7.eu-west-1.compute.internal systemd[1]: Started awslogs daemon.
Oct 14 14:08:19 ip-xxx-xxx-30-7.eu-west-1.compute.internal systemd[1]: Starting awslogs daemon...
请参阅:https ://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
推荐阅读
- vba - 如果单元格为空白,则删除整行
- java - Spring JPA 无法在一个线程中正确处理多个事务
- spring - org.springframework.batch.item.ItemStreamException:文件不可写:Spring Batch
- java - 使用 Web 应用程序时出现 java.lang.NullPointerException
- cmake - 为posix版本添加MinGW路径
- java - rx java obsever pojo model for change
- javascript - 自定义电子邮件的关于objectid 查找下拉列表
- java - Java中的PDF文本提取
- java - Spring 5 升级问题 ResourceServlet
- javascript - AngularJS:使用指令添加内联自定义代码