automatically start apache on instance launch

I have an ec2 instance serving a webpage with apache. I created an autoscaling group using an AMI of this instance in the launch config. Once CPU went over 80% and the autoscale policy ran, a new instance was created. But the CPU of my original instance continued to rise and the CPU of my new instance remained at 0%.

The new instance was not serving the web page. I am guessing this is because apache was not started with the launch of the image. I tried to ssh into the new instance to run "service httpd start" but I got the following error:

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

Why could I not ssh in? How do I configure autoscaling to automatically start apache on launch?


It would appear that you are attempting to ssh to a host with http:// in the hostname. Remove that and ssh should work.

Assuming that you created an AMI to use in AutoScaling, you would need to ensure that you chkconfig httpd on in the source instance before creating a new AMI for AutoScaling.


In order for you to connect to an EC2 instance you need two things:

  • The Security Group associated with your instance has an inbound rule that allows SSH communication.
  • Make sure you have the private key generated for the instance. Note: This is only needed if you chose to use a key in the first place.
  • If those two things are correct, then you can connect to your instance like this:

    ssh -i "PATH_TO_YOUR_KEY.pem" ec2-user@ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com

    For the other point, that is, to make sure you can start apache on launch, you can do two things:

  • As @atbell mentioned on a previous answer, you can make sure that the chkconfig YOUR_SERVICE on is on the AMI used to start your instance.
  • You can add a command as user data to your LaunchConfiguration so it runs it as soon as the instance is started:
  • 启动配置向导

    What this will do is run start YOUR_SERVICE start as soon as the instance can respond to commands. So, whenever your AutoScaling group creates another instance, your service will surely be started. Note that the commands added to the user data field of the LaunchConfiguration are, by default, going to be executed as sudo.

    链接地址: http://www.djcxy.com/p/63382.html

    上一篇: 自动缩放:新创建的实例始终为OutOfService

    下一篇: 在实例启动时自动启动apache