Amazon ec2 在实例启动时自动启动apache-aws自动缩放

Amazon ec2 在实例启动时自动启动apache-aws自动缩放,amazon-ec2,amazon-web-services,ec2-ami,autoscaling,Amazon Ec2,Amazon Web Services,Ec2 Ami,Autoscaling,我有一个ec2实例使用apache为网页提供服务。我在启动配置中使用此实例的AMI创建了一个自动缩放组。一旦CPU超过80%并运行自动缩放策略,就会创建一个新实例。但是我的原始实例的CPU继续上升,而我的新实例的CPU保持在0% 新实例未为网页提供服务。我猜这是因为apache不是在启动映像时启动的。我试图通过ssh连接到新实例以运行“service httpd start”,但出现以下错误: ssh: Could not resolve hostname http://ec2-xxx-xx-x

我有一个ec2实例使用apache为网页提供服务。我在启动配置中使用此实例的AMI创建了一个自动缩放组。一旦CPU超过80%并运行自动缩放策略,就会创建一个新实例。但是我的原始实例的CPU继续上升,而我的新实例的CPU保持在0%

新实例未为网页提供服务。我猜这是因为apache不是在启动映像时启动的。我试图通过ssh连接到新实例以运行“service httpd start”,但出现以下错误:

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

为什么我不能进去?如何配置autoscaling以在启动时自动启动apache?

您似乎正在尝试通过ssh连接到主机名中包含http://的主机。删除该选项,ssh应该可以工作


假设您创建了一个用于自动缩放的AMI,那么在创建用于自动缩放的新AMI之前,您需要确保在源实例中启用了
chkconfig httpd

  • 与实例关联的安全组具有允许SSH通信的入站规则
  • 确保为实例生成了私钥。注意:仅当您首先选择使用密钥时才需要此选项
如果这两件事是正确的,那么您可以像这样连接到实例:

ssh-i“路径到您的密钥.pem”ec2-user@ec2-xxx xxx xxx xxx.compute-1.amazonaws.com

对于另一点,也就是说,为了确保您可以在启动时启动apache,您可以做两件事:

  • 正如@atbell在前面的回答中提到的,您可以确保
    chkconfig YOUR_SERVICE on
    位于用于启动实例的AMI上
  • 您可以将命令作为用户数据添加到LaunchConfiguration中,以便它在实例启动后立即运行:

只要实例能够响应命令,就立即运行
启动您的_服务start
。因此,每当您的自动缩放组创建另一个实例时,您的服务肯定会启动。请注意,默认情况下,添加到LaunchConfiguration的用户数据字段的命令将作为sudo执行