2012-06-16 129 views
2

我有一个ec2实例为apache提供网页。我在启动配置中使用此实例的AMI创建了一个自动调节组。一旦CPU超过80%并且自动扩展策略运行,就会创建一个新实例。但是我的原始实例的CPU持续上升,新实例的CPU保持在0%。实例启动时自动启动apache - aws autoscaling

新实例没有提供网页。我猜这是因为apache没有启动映像。我想ssh到新的实例运行“服务的httpd启动”,但我得到了以下错误:

ssh: Could not resolve hostname http://ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com: 
nodename nor servname provided, or not known 

为什么会不使用SSH?如何配置自动缩放以在启动时自动启动Apache?

回答

3

这似乎是你正在试图SSH主机名与http://主机。删除和ssh应该工作。

假设您创建了一个AMI以用于AutoScaling,那么在为AutoScaling创建新的AMI之前,您需要确保您在源实例中使用chkconfig httpd on

1

为了让您连接到EC2实例,你需要两样东西:

  • 安全组与您的实例相关联有一个入站规则,允许SSH通信。
  • 确保您拥有为该实例生成的私钥。注意:这只在您首先选择使用密钥时才需要。

如果这两件事情是正确的,那么你就可以连接到您的实例是这样的:

ssh -i "PATH_TO_YOUR_KEY.pem" [email protected]

对于其他的一点,那就是,以确保您可以在启动启动apache,你可以做两件事情:

  • 作为@atbell在前面的回答中提到,您可以确保该chkconfig YOUR_SERVICE on是在AMI用于启动您的实例。
  • 所以只要实例启动运行时,它可以添加一个命令作为用户数据的LaunchConfiguration:

LaunchConfiguration wizard

这将完成时立即运行start YOUR_SERVICE start作为实例可以回应命令。因此,无论何时您的AutoScaling组创建另一个实例,您的服务肯定会启动。请注意,添加到LaunchConfiguration的用户数据字段的命令默认情况下将作为sudo执行。