2

apacheを使用してWebページを提供するec2インスタンスがあります。起動構成でこのインスタンスのAMIを使用して自動スケーリンググループを作成しました。CPUが80%を超え、自動スケールポリシーが実行されると、新しいインスタンスが作成されました。しかし、元のインスタンスのCPUは上昇し続け、新しいインスタンスのCPUは0%のままでした。

新しいインスタンスはWebページを提供していませんでした。これは、画像の起動時にapacheが開始されなかったためだと思います。「servicehttpdstart」を実行するために新しいインスタンスにSSHで接続しようとしましたが、次のエラーが発生しました。

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

なぜSSHで接続できなかったのですか?起動時にApacheを自動的に開始するように自動スケーリングを構成するにはどうすればよいですか?

4

2 に答える 2

3

ホスト名にhttp://が含まれるホストにSSHで接続しようとしているように見えます。それを削除すると、sshが機能するはずです。

AutoScalingで使用するAMIを作成したとすると、AutoScalingchkconfig httpd on用の新しいAMIを作成する前に、ソースインスタンスにいることを確認する必要があります。

于 2012-06-18T22:43:08.443 に答える
2

EC2インスタンスに接続するには、次の2つが必要です。

  • インスタンスに関連付けられているセキュリティグループには、SSH通信を許可するインバウンドルールがあります。
  • インスタンス用に秘密鍵が生成されていることを確認してください。注:これは、最初にキーを使用することを選択した場合にのみ必要です。

これら2つが正しければ、次のようにインスタンスに接続できます。

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

もう1つのポイント、つまり、起動時にApacheを開始できるようにするために、次の2つのことを実行できます。

  • @atbellが前の回答で述べたように、chkconfig YOUR_SERVICE onインスタンスの起動に使用されるAMI上にあることを確認できます。
  • LaunchConfigurationにユーザーデータとしてコマンドを追加して、インスタンスが開始されるとすぐに実行されるようにすることができます。

LaunchConfigurationウィザード

これが行うことはstart YOUR_SERVICE start、インスタンスがコマンドに応答できるようになるとすぐに実行されます。したがって、AutoScalingグループが別のインスタンスを作成するたびに、サービスが確実に開始されます。LaunchConfigurationのユーザーデータフィールドに追加されたコマンドは、デフォルトでsudoとして実行されることに注意してください。

于 2017-01-19T16:57:22.343 に答える