2

我们正在从数据中心迁移到亚马逊。我们是一家小公司,与其升级我们的硬件,我们发现迁移到“云”是很诱人的。我们从头开始整合自定义 AMI,目前正在决定如何配置环境。

我一直在使用 Amazon 的管理控制台和 Elasticfox 来管理资源,但我遇到了长期管理的问题。当我们有多个服务器在运行时,很难分辨哪个是哪个。EBS 资源及其快照也存在同样的问题。似乎没有任何方法可以通过 AMI 工具将元数据添加到资源中,以使用漂亮的别名来区分它们。我阅读了对另一个问题的回复,其中安全组用于“命名” AMI 实例,但这仍然让我有 EBS/快照管理。

我知道有像 RightScale 和 Scalr 这样的服务,我相信它们会添加这些功能,但我想知道其他人是如何自己处理这个问题的?

4

2 回答 2

1

您可能已经找到了解决方案,但我想我会回答以防万一。

几个月前,我启动了一个开源项目来帮助组织 EC2 基础架构。它将元数据存储在 SimpleDB 中。

您在 Ruby DSL 中创建机器配置,其中所有内容都组织成环境和角色。这是一个典型的配置:

env :stage do
  size 'm1.small'                # Default EC2 machine type for the 'stage'

  role :app do
    positions 1                  # Only 1 machine
    addresses '11.22.33.44'      # Define an elastic IP

    disks do                     # Define EBS volumes
      path "/rudy/disk1" do      # The path to mount
        size 100                 # The size in GB
        device "/dev/sdr"        # The unique disk device
      end
    end
  end
  role :db do
    size 'm1.large'              # Use more powerful machine for db
    ami 'ami-dc1038a8'           # A 64-bit debian
  end
end

然后,您可以从命令行启动环境:

$ rudy startup
The following machines were started:
m-us-east-1b-stage-app-01  ec2-11-22-33-44.us-east-1.compute.amazonaws.com

$ rudy -r db startup
The following machines were started:
m-us-east-1b-stage-db-01  ec2-79-125-50-26.us-east-1.compute.amazonaws.com

$ rudy machines
m-us-east-1b-stage-app-01  ec2-11-22-33-44.us-east-1.compute.amazonaws.com
m-us-east-1b-stage-db-01  ec2-79-125-50-26.us-east-1.compute.amazonaws.com

$ rudy disks 
disk-us-east-1b-stage-app-01-rudy-disk1  vol-eee10486;  100GB; /dev/sdr; mounted

您可以使用以下方式登录:

$ rudy -u root ssh

该项目称为鲁迪。以下是更多信息的几个链接,如果您有任何问题,请随时直接与我联系:

于 2009-05-09T13:01:34.887 回答
0

命名您的服务器和 EBS 卷/快照的最简单方法是使用 RightScale 的免费服务来管理您的实例;这使您可以为每个正在运行的 EC2 实例、EBS 卷或快照创建一个别名。

如果您不想使用 RightScale,您可以在启动时将用户数据传递给您的实例,并使用它来设置主机名或其他可以让您唯一标识实例的值。不过,我不确定您会为 EBS 卷做什么。在这里查看更多详细信息(AWS 文档似乎使用 URL 掩码,因此请转到使用 Amazon EC2/启动和使用实例/实例元数据)

于 2009-04-29T18:17:57.323 回答