【问题标题】:Auto scaling and data replication on EC2EC2 上的自动扩展和数据复制
【发布时间】:2014-08-26 07:07:30
【问题描述】:

这是我的场景。

我们有一个 ELB 设置,其中有两个保留的 EC2 实例充当其下的 Web 服务器 (Amazon Linux)。

Web 服务器上有一些快速变化的文件(pdf、xls、jpg 等),由托管在 EC2 实例上的网站使用。代码文件是相同的,我们将确保在需要时使用新代码同时手动更新两个服务器。

主要问题是用户上传的内容存储在 EC2 实例上。 确保上传的文件几乎立即在两台服务器上可用的最佳方法是什么?

许多人建议使用 rsync 或 unison,但这将涉及设置 cron 作业。我在 C# 中寻找类似 FileSystemWatcher 的东西,它被触发 仅当指定文件夹的内容发生更改时。此外,由于 ELB,我们不确定上传文件时哪些 EC2 实例会真正连接到用户。

除此之外,我们还有一台 Staging Server,它将某些文件推送到其中一台 EC2 Web 服务器。我们希望这些文件也复制到另一个实例。

我想知道 S3 是否可以解决这个问题?如果我们决定启用自动缩放,这个设置还会好吗? 在这个阶段我很困惑。请帮忙

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-s3


    【解决方案1】:

    S3 将是您的选择。这样,您不必在 EC2 实例之间同步文件。如果您需要启用自动缩放,它也可能是最佳选择。您不应该将任何数据放在 EC2 实例中,它们应该是无状态的,以便您可以轻松地自动扩展。

    要使用 S3,它需要您的应用程序支持它,而不是直接写入本地文件系统。这应该很容易,每种语言都有许多库可以帮助您将文件存储到 S3 中。

    【讨论】:

    • 对于大文件来说这似乎是一个昂贵的提议......这也可能导致更复杂的情况。我们在 EC2 上保存 apache 访问/错误日志。对于这两种情况,这些都是不同的。法律要求我们将日志保存 3 个月。自动缩放如何处理?
    • @Amol,您可以使用集中式日志管理,如 splunk、logstash、loggly 等来管理您的日志。
    猜你喜欢
    • 2019-07-17
    • 1970-01-01
    • 2012-02-18
    • 2012-10-29
    • 2022-01-23
    • 2014-01-25
    • 2020-12-05
    • 2017-04-18
    • 1970-01-01
    相关资源
    最近更新 更多