2012-06-16 223 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執行。