【问题标题】:How to make a daily back up of my ec2 instance? [closed]如何每天备份我的 ec2 实例? [关闭]
【发布时间】:2012-07-04 14:22:29
【问题描述】:

我在AWS 中有一个基于社区 AMI 的 Linux EC2 实例。现在我想每天备份我的实例,并将该图像上传到S3

这是备份我的 EC2 实例的正确方法吗?谁能帮我指出备份我的 EC2 实例的正确方法?

【问题讨论】:

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


    【解决方案1】:

    希望您的实例是EBS backed

    如果是这样,您可以通过拍摄 EBS 快照来备份您的实例。这可以通过 aws.amazon.com(手动)、使用 AWS 命令​​行工具(可以根据需要在 cron 或 Windows 任务计划程序中自动和计划)或通过 AWS API 来完成。

    您希望确保在快照过程中不会更改数据库备份文件的状态。当我对在 Ubuntu 上运行的 MySQL 使用这种策略时,我使用了一个脚本来确保 consistent snapshot。该脚本使用 XFS 文件系统的功能在快照期间冻结文件系统。在那个部署中,快照只用了 2-3 秒,并且是在非常非高峰时间执行的。任何网站访问者都会遇到 2-3 秒的延迟。对于 Windows,如果无法为快照重新启动设备(您在晚上没有维护窗口),我会改为创建一个单独的 EBS 设备(例如用于快照的“S:\”设备),使用 SQL Server 备份工具在该其他设备上创建一个 .bak 文件,然后创建该单独 EBS 设备的 EBS 快照。

    有关脚本备份的详细信息,请参阅此相关问题:

    Automating Amazon EBS snapshots anyone have a good script or solution for this on linux

    如果您安装了单独的存储,例如对于您的数据库,请务必备份它!

    更新

    要手动创建快照,

    从实例创建 AMI 映像并启动其他类似的实例(在具有更多资源或平衡负载等的实例中):

    【讨论】:

    • 是的,我的实例支持 ebs。您能告诉我如何在 aws 控制台中拍摄 ebs 快照吗?
    • 相应地更新了我的答案。
    • 我在那个实例中有一个 sqlitedb,如果我这样做,它也会被备份?
    • 如果您的 sqlitedb 存储在与操作系统相同的卷上,可以。 (换句话说,如果您没有安装额外的 EBS 卷,它也会被备份)。我建议从备份中启动一个新实例(通过右键单击备份)并确保在该新实例中一切都按预期运行。然后,您可以杀死新实例(确保您没有杀死“真正的”实例 :-)
    • 这听起来不是一个好主意,因为备份 30 GB 的服务器可能需要几分钟,在此期间可能会发生某些非原子事件 - 例如 SQL 访问。这可能会给您的 CMS 带来问题,并且几乎不可能摆脱。您应该编写自己的专用备份,例如转储 sql 和复制数据的脚本 - 其他任何东西都是懒惰和危险的。
    猜你喜欢
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2020-10-27
    相关资源
    最近更新 更多