创建S3 Bucket以及AMI安装

时间:2017-07-18 07:19:20

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

我计划创建一个小型公共AMI,用于将文本文件转换为PDF(我发现商店里没有任何令人满意的结果),我有一个问题。

我知道AMI只不过是我在另一台机器上成功运行的软件的冻结副本。

但我有一个问题:如何创建来自AMI的安装的S3 Bucket

使用案例

  • 用户来到商店,发现我的服务很酷,并启动实例。
  • 实例需要创建一个S3存储桶来保存转换后的文件(也可能是源文件),它必须是每个用户一个存储桶,而不是通过软件转换的所有文件的大存储桶。

我有很多问题

  • 是否有可能实现这一目标(它的设计是这样的吗?)
  • 我应该如何创建存储桶,是否有AMI设置的点击界面或我需要通过AWS SDK进行?
  • 如果我需要通过SDK,有没有办法访问用户凭据(或一些随机令牌),以便我可以成功创建一个存储桶?
  • 我错了,应该将所有文件保存在EBS上并通过AMI上的nginx提供(并且根本不使用S3)?

哦,对不起,如果这个问题看起来很愚蠢,但我对这款AWS炫酷技术非常新鲜!

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用AWS cloudformation实现此目的。 步骤是您首先创建一个AMI,然后编写一个

的云形式脚本
  1. 从该AMI创建实例
  2. 创建S3存储桶
  3. 使用S3映射新创建的EC2。 (由于S3存储桶名称在全局范围内是唯一的,因此您可能无法获得所需的名称。)
  4. 但请注意,并非像传统的内部部署系统那样为每个客户安装云中的服务。

    这里有租户的概念。因此,每个新客户都是租户,应该从同一个基础设施提供服务。基本上,当一个新客户作为租户进入您时,可能会在已创建的S3中为该租户创建一个文件夹,您可以在其中存储其工件。或者,如果出于某种合理的商业原因,您只想为每个租户分别设置一个S3存储桶,那么即使是在租户入职期间也应该创建新的S3存储桶。将租户和S3文件夹/存储桶的映射存储在某处,以便您知道哪个租户的工件存储在哪里