nuc*_*eon 6 amazon-ec2 amazon-elb
我正在使用 AWS 免费套餐,如果我理解正确的话,它会给我一个免费的 EC2 微实例和一个免费的 Elastic Load Balancer。
我知道当您使用多个 EC2 实例时,通常会使用 ELB。如果可以的话,我真的不想运行多个实例,并且在 90% 的情况下,我的单个 EC2 实例似乎可以处理抛出的流量,但有时它会变得无响应并需要重新启动。它似乎不会自动执行此操作。
我读到 ELB 将重新启动它称为“不健康”的微实例(对多次 ping 尝试无响应)。所以我的一个想法是创建一个单一的 ELB,将我的单一 EC2 分配给它,并在其中创建一个简单的“如果卡住时自动重启”的情况。
我已经设置好了,它没有对我畏缩或吠叫,但我想知道我是否理解正确。我对服务器管理相当陌生,只是刚刚进入微实例和 ELB 之类的概念,尽管(像所有傻瓜一样)我想我了解它的基础知识。
这是一个好主意吗?有没有更简单的方法来实现这一点?我试过谷歌搜索其他人做同样的事情,但没有找到任何人,但我不知道这是因为它不起作用还是因为没有其他人愚蠢到尝试使用单个 EC2 微型实例对于他们所有的流量。我非常怀疑这是一个坏主意,因为我没有看到其他人在谈论它,虽然我在某些事情上相当聪明,但我对在这些事情上的聪明并不太有信心!
谢谢你的帮助!
Amazon 的弹性负载均衡器 (ELB) 将请求分配给已分配给它的健康实例。它不会重新启动或修改这些实例(或它们的数量)。它通过健康检查确定“健康”实例 - 通常轮询给定位置。
您要求的是“维护 1 个健康的实例”——这是一项自动缩放任务。Auto Scaling 将允许您定义一组实例(通常包括要启动的 AMI、实例类型、要在其中启动实例的一个或多个可用区以及要维护的实例数量(最小/最大)),以及作为扩大和缩小规模的政策。自动缩放策略返回一个 ARN(亚马逊资源名称 - 对资源的引用)。
一旦您设置了 Auto Scaling 组,您所需要做的就是在实例变得不健康时触发您的扩展策略。如果您仔细查看您使用 ELB 设置的运行状况检查,您会注意到您可以设置警报 - 该警报实际上是 Cloudwatch 警报。
您可以设置自己的 Cloudwatch 警报,或通过 ELB 的健康检查来设置它们 - 只需指定 --alarm-actions
满足不健康节点标准时触发自动扩展 ARN。
ELB 在此设置中在技术上不是必需的 - 自动缩放将自行完成这项工作。ELB 为您做的是提供一个 DNS 地址,您可以通过它访问您的实例(以及在后端不可用时提供某种错误消息)。(通过自动扩展,您需要在新实例启动时将弹性 IP 与新实例重新关联(可以编写脚本))。
最后,澄清一下:CloudFlare 不是 AWS 服务——它是一个 CDN(并且以减轻 DDoS 攻击而闻名)。Amazon 的等效服务是 CloudFront - 您不需要它们中的任何一个来重新启动实例。您需要的是 CloudWatch - Amazon 的监控服务)。免费套餐确实涵盖了 Cloudwatch 和一些警报。
归档时间: |
|
查看次数: |
8179 次 |
最近记录: |