EC2 上的 LAMP 服务器(Amazon Linux 微实例)
Posted
技术标签:
【中文标题】EC2 上的 LAMP 服务器(Amazon Linux 微实例)【英文标题】:LAMP server on EC2 (Amazon Linux Micro Instance) 【发布时间】:2011-11-17 22:06:22 【问题描述】:我已经启动了一个基本的 32 位 Amazon Linux AMI 实例,它有一个 8GB 卷作为它的根设备。如果我终止它,EBS 卷也会被破坏。我想知道的是,如果服务器崩溃,我的数据是否受到保护(例如,apache 文档根目录或 mysql 数据)?很多教程似乎都表明应该创建另一个 EBS 卷并将我的数据存储在上面,但我真的不明白为什么需要两个 EBS 卷?
或者当前设置是否适合网络服务器设置?
非常感谢您的帮助!
【问题讨论】:
【参考方案1】:当您启动 EC2 实例时,根卷是临时的 - 也就是说,当实例终止时,根卷将被销毁**(带走您放在其中的任何数据)。无论您如何对该临时卷进行分区以及将数据存放在何处都无关紧要 - 当它被销毁时,该卷中包含的所有内容都会丢失。
因此,如果卷中的数据完全是暂时的,并且下次需要时可以从其他地方完全恢复/检索,那就没有问题;终止实例,然后启动一个新实例并重新获取继续工作所需的数据。
但是,如果数据不是暂时的,并且需要持久化以便在实例崩溃后可以继续工作(我所说的崩溃,我的意思是终止实例或以其他方式使其无法运行和无法恢复),那么您的数据不得位于根卷上,而应位于附加到实例的另一个 EBS 卷上。如果该实例终止或中断不可挽回,您的数据在该其他卷上是安全的 - 然后可以将其重新附加到新实例以继续工作。
** 例外情况是您的实例由 EBS 支持并且您交换了根卷 - 在这种情况下,根卷在实例终止后被留下,因为它不是 AMI 创建的“包”的一部分什么时候开始的。
【讨论】:
感谢乔纳斯。如果我没看错的话,我的下一步应该是启动另一个 EBS 卷,将它附加到我当前的 EBS 支持的实例,创建文件系统并挂载它,然后配置 Apache 和 MySQL 以将它们的数据存储在这个新的 EBS 上体积。一旦这一切都完成了,我可以考虑我的数据有多安全(相对而言)。再次感谢! 是的,这将是我的建议。至于数据“安全”,这是一个信任问题——EBS 基础架构设计为始终在线和备份,但没有任何保证。事实上,上个月 EC2 在欧盟地区经历了一场重大的 EBS 灾难,导致大量数据丢失。这是第一次发生,非常不寻常,但证明 99.999% 的安全并不是 100%。如果数据是关键任务,请按照我和其他人的做法定期将其导出到其他地方作为故障保护(一个简单的 FTP 到另一个站点可能是一个很好的起点)。【参考方案2】:如果您的服务器损坏并且您无法启动它,则需要另一个卷。在这种情况下,您只需删除初始服务器,创建第二个服务器并将附加存储附加到新服务器。您不能将一台服务器的根卷附加到另一台服务器。
【讨论】:
"您不能将一台服务器的根卷附加到另一台服务器。" -- 是的,如果实例由 EBS 支持,您可以。停止实例 #1,分离根卷,附加到实例 #2(作为根存储或辅助存储)。以上是关于EC2 上的 LAMP 服务器(Amazon Linux 微实例)的主要内容,如果未能解决你的问题,请参考以下文章
连接到amazon ec2上的远程postgresql服务器