2011-05-27 105 views
3

我正在使用Adobe提供的AMI创建Flash Media Server。我需要将一些config.xml文件加载到服务器的特定目录中,这样当FMS启动时,它将具有我想要的安全配置以及我想要执行的一些其他操作。如何在创建实例时将文件从S3存储桶移至EC2

我有一个基本的理解,你可以将用户数据以bash文件的形式传递给一个实例。这是最好的选择吗?

如果我想将S3中的xml文件复制到FMS/CentOS实例的DIR中,某人能否为我提供一个很好的示例,说明bash文件的外观如何?

回答

2

一些选项浮现在脑海,我当然不是专家。我对这些相当陌生,但一直在尝试,以加快速度。

  1. Amazon EBS(弹性块存储) - 这是一个持续的块存储(如安装驱动器),你可以连接到EC2实例。
  2. chef from Opscode - 如果你有一个简单的设置,它可能是矫枉过正,但有一些漂亮的“食谱”用于EC2实例的自动设置+配置。我真的只是玩了一下这个,通过一些样品去了解它的能力。

这些设置的优点是,无论何时更改应用程序/配置,您都不需要修改自己的AMI实例。尽管如果你总是从S3那里获取你的应用程序,那么已经解决了这个问题。

如果您只需要一个用于从AWS获取文件的简单shell脚本,则可以使用unix工具wget或curl。

#!/bin/bash 
cd /some/destination/path/ 
curl -v --header 'Date: Fri, 27 May 2011 14:17:00 -0500' \ 
     --header 'Authorization: AWS AWSAccessKeyId:Signature' \ 
     "https://s3.amazonaws.com/your-s3-bucket/path/to/file.xml" 

如果该文件是公开的,这将是一个heckuvalot更容易,因为为授权生成签名不是微不足道的。

有叫s3-bash命令行工具套件,但它仍然需要你的秘密访问密钥授权...

+0

你的第二个例子似乎更合理。我正在使用的ami无法修改和保存。我只能运行它,配置并在完成后将其杀掉,所以在创建ami时动态配置是我必须要做的。 – mattwallace 2011-05-27 20:05:48

相关问题