24

ユーザーデータを使用してawsインスタンスを起動しようとしています。ユーザーデータはサーバーのインストールプロセスであり、ユーザーデータスクリプトが正しく実行されているかどうかを確認する必要があります。ユーザーデータのステータスが完了したかどうかを確認するオプションはありますか?その起動されたインスタンスから別の画像を撮っているので、ステータスを知る必要があります。今のところ、プロセスの完了にtime.sleep(90)を明示的に使用しました。

注:私はBotoライブラリを使用しています。

これに関する解決策は大歓迎です!

4

4 に答える 4

1

EC2 API ツールを使用してユーザー データ出力をログに記録するか、単にec2-get-console-output. この記事を参照してください: http://alestic.com/2010/12/ec2-user-data-output

申し訳ありませんが、Botoについてはわかりません

ユーザーデータスクリプトでは、結果をログファイルに記録します。インスタンスが起動したら、ファイルを確認します。

于 2012-07-26T09:36:11.043 に答える
0

Amazon Linux を使用している場合は、ディレクティブchkconfigでスクリプトを使用できます。/etc/init.dRequired-Start

#!/bin/bash
# chkconfig:   345 95 95
# description: Description

### BEGIN INIT INFO
# Provides: userdatainit
# Description: Wait for user data
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Required-Start: cloud-init
# Required-Stop:
### END INIT INFO

case "$1" in
  start)
    echo "Do work here, will happen -after- UserData script/config."
    ;;
  stop)
    ;;
  *)
    echo "Usage: $0 {start|stop}"
    exit 1
    ;;
esac

exit 0

これを のようなファイルとして保存した場合は、次のよう/etc/init.d/afteruserdataに登録します。

chown root:root /etc/init.d/afteruserdata
chmod 755 /etc/init.d/afteruserdata
chkconfig --add afteruserdata
chkconfig --level 345 afteruserdata on 

次に、AMI を作成すると、スクリプトのにコードが実行されます。UserData

警告: cloud-initAMI からインスタンスを初めて起動するときにのみ実行されます。

于 2015-12-07T03:25:10.053 に答える