当EC2实例失败我想让停机失败通知?

我是亚马逊Ec2的新手。如果我的网站由于亚马逊Ec2失败而closures,我想显示停机通知页面。但是我的疑问是,如果Ec2失败,那么我可能不能访问我的服务器。所以我该如何处理这种情况。如何通过浏览器通知我的最终用户?

如果'EC2closures',意味着你的服务器处于离线状态 – 这意味着它不能提供页面(当然,你不能访问它)。

为了向用户显示任何内容,在这种情况下,您需要EC2实例外部的东西。 例如,一个典型的安装程序可能会在实例前面运行一个负载平衡器(例如HAProxy) – 如果这些实例closures,负载平衡器将提供一个错误页面。 (只要负载平衡器已经启动)

从理论上讲,所有的AWS都不可能同时崩溃(但没有什么是不可能的)。 如果您在不同地区运行多个实例,则即使其中一个发生故障,其中一个实例也可能会启动。

另一方面,还有另一种可能性,但它不会立即生效(真的是一个相当糟糕的解决scheme)。 可以重新映射您的DNS设置,以便从S3提供文件。 不幸的是,对DNS的更改需要时间进行传播,因此将页面上传和下载延迟。

(虽然看起来你可能有多个服务器和多个服务提供商,但后勤工作会更加困难,而且如果需要这样的安装,就必须质疑是否需要更多的东西,你不能把同一个IP映射到服务器与不同的提供商,所以你将不得不实施一个在DNS中的变化 – 我想有一个名称服务器上运行,这样当一个倒下另一个将接pipe是一种可能性 – 但这不是我的专业领域)。

因此,我的build议是,如果你使用EC2,你不得不希望所有的AWS都不会崩溃。 devise您的设置时,如果任何一台服务器出现故障,您可以保持在线状态(例如使用自动调节,或者运行多台服务器,例如Corosync / Pacemaker)。 并确保您可以轻松地将另一台服务器在另一个位置联机(例如,使用弹性IP地址,保存AMI并按原样运行),并且可以创buildEBS(常规)良好的备份(例如EBS快照)卷来自)。 这样,如果您收到通知(例如,使用Pingdom或Cloudwatch警报等监控服务)您的服务器已closures(并且未设置自动启动新服务器的内容),则将启动AMI和关联的EBS在另一个地区的卷,并重新弹性IP重新在线。