旧数据仍来自 Auto Scaling 组中的 EC2 实例
Posted
技术标签:
【中文标题】旧数据仍来自 Auto Scaling 组中的 EC2 实例【英文标题】:Old data still coming from EC2 instance in Auto Scaling group 【发布时间】:2020-11-12 19:35:59 【问题描述】:我在实例到来后创建了 ELB(负载平衡)和 Auto Scaling Group (ASG) '这是我通过 putty 登录后工作正常的第一个实例更改了“index.html”文件更新了 index.html(“这是我的第二个实例更新”)文件,然后删除了实例,新实例即将到来,旧数据只来了——这里如何恢复新数据我的意思是更新的实例, 我想要“这是我的第二个实例已更新”
【问题讨论】:
您的问题写得很不清楚。我建议您尝试写一个明确的问题,并清楚地描述您所做的事情。 很难理解您的问题,但听起来您的浏览器正在缓存内容。您可以尝试清除浏览器中的缓存,或尝试使用其他浏览器来验证更新。 所以您在正在运行的实例上手动编辑了一个文件,然后终止了该实例并等待 ASG 启动一个新实例?如果是,您为什么希望您的手动编辑能够跨实例传播? 感谢您理解我的问题,然后 AGS 带来更新数据的新实例,如何做步骤请解释 【参考方案1】:我不确定我是否关注过,但我认为您的意思是: 您手动 SSH 到实例并更新 index.html,然后 AutoScaling 启动一个新实例,它没有这些更改。对吗?
AutoScaling 无法知道您在实例中做了什么。 AWS 无法在您的实例内部达到峰值并查看您的数据,这将是一个相当大的隐私泄露。
进行更新时,您需要以某种方式修改启动模板或启动配置,以确保新实例具有更新。要么:
-
使用更改创建新的 AMI
将更改放入用户数据脚本中
或者,您可以在这方面获得某种自动化帮助,例如:
-
拥有一个从 S3 存储桶下载最新文件的用户数据脚本。只要确保在进行更改时更新此存储桶中的网站文件即可
使用某种 CI/CD 管道工具,例如 AWS CodeDeploy。这会自动将更改推送到现有实例,并确保使用最新代码启动新实例。
【讨论】:
以上是关于旧数据仍来自 Auto Scaling 组中的 EC2 实例的主要内容,如果未能解决你的问题,请参考以下文章
AWS CDK 如何覆盖 Auto Scaling 组中的默认启动配置?
网络负载均衡器目标组中的 AWS Auto Scaling 目标
如何在 Amazon Auto-scaling 组中的多个 ec2 实例上部署和更新应用程序?
在关闭之前检查 Auto Scaling 组中的 EC2 实例是不是有任何用户在使用它