自动调整ec2实例,而不会丢失旧数据

时间:2013-02-28 13:11:05

标签: amazon-web-services autoscaling

最近,我的网站转移到亚马逊上。

  1. 我创建了EC2实例。在/ var / www / http文件夹中安装指示灯和Setup CodeIgnitor。 结构
  2. Codeignitor文件夹我有文件夹名称'UPLOAD'。这个文件夹用于上传的图像和文件。

  3. 我从EC2实例制作AMI图像。

  4. 我已设置自动缩放Ec2实例。

  5. 当我的旧ec2实例失败时,会自动创建新实例。但我旧的ec2实例上的文件夹“UPLOAD”的所有数据都丢失了。

  6. 我想将codeignitor中的“UPLOAD”文件夹与ec2实例分开。 因此,每当创建新实例时,它将获得UPLOAD文件夹及其内容而不会丢失。

  7. 我想将此上传文件夹分开。因此,当创建新实例时,它将获得此数据。 怎么做。
    感谢Advance。

    注意。我在Amazon RDS上使用过MYSQL。

2 个答案:

答案 0 :(得分:1)

您可以使用共享的Elastic Block Storage已安装目录。

如果您使用AWS控制台手动配置堆栈,请转到控制台中的EC2服务,然后转到弹性块存储 - >卷 - >创建卷。在启动配置中,您可以绑定到此存储设备。

如果您使用命令行工具as-create-launch-config来创建启动配置,则需要参数

  

- block-device-mapping“key1 = value1,key2 = value2 ...”

如果您使用Cloudformation配置筹码,请参阅this template获取指导。

这假设Codeignitor可以配置为说明其UPLOAD目录所在的位置。

答案 1 :(得分:1)

如迈克所说,您可以使用 EBS ,但您也可以使用Amazon Simple Storage Service (S3)来存储图片。

这样,每当实例启动时,它都可以从S3访问所有先前上传的图像。当然,这意味着您必须更改上传代码,使用AWS API而不是文件系统将图像存储到S3。