AWS EC2 Windows (2008 R2 インスタンス) があり、ローカル マシンからコマンド/スクリプトを使用して開始/停止し、使用状況に応じてスケジュールします。また、EC2 インスタンスで実行されているいくつかのプログラムが、インスタンスの起動時に開始されるようにしたいと考えています。これらのプログラムは現在、インスタンスに存在するバッチ ファイルを使用して開始されます。
私は今まで同じことをしました:
1- AWS IAM で AWS ユーザーを作成し、そのユーザーの auth_id とキーを使用して、EC2 API とコマンドライン ユーティリティを使用しています。
2- インスタンスを開始および停止するには、EC2 Util のコマンド ライン ユーティリティを使用しています。
start ->ec2-start-instances i-instanceID
stop ->ec2-stop-instances i-instanceID
3-スケジュールするために、これをWindowsスケジューラに追加しました。
4- AWS マネジメント コンソールでインスタンスのユーザー データを追加しました。私のユーザーデータは次のようになります。
<script>
C:\Services\my_application.lnk
</script>
5- ユーザー データが C:\ProgramFiles\Amazon\Ec2ConfigServer\Scripts\UserScript の EC2 インスタンスに存在することがわかります
6- C:\Program Files\Amazon\Ec2ConfigService\Settings\confi.xml で、Ec2SetPassword と Ec2HandleUserData の値が有効に変更され、true が追加されました。
私は次の問題に直面しています:
1- ユーザー データ スクリプトは、インスタンスが開始されるたびに実行されるわけではありません。理由がわかりません。2- Ec2ConfigService\Settings\confi.xml で行われた変更は、インスタンスの再起動時にデフォルト値に戻されます。
これは一般的な使用例だと思います。EC2 操作を自動化するためのベスト プラクティスとアプローチを知りたいです。また、自分のインスタンスでプログラムを開始する際にもサポートが必要です。どこで問題が発生したり、行方不明になったり、他に何をする必要があるのでしょうか?