13

Windows では、ストック ブートストラップ プロセスが少し不足しているようです。

Linux には cloud-init があり、パッケージをインストールし、ファイルを保存し、ユーザー データから bash スクリプトを実行します。

Windows には ec2config がありますが、現在、システムが「準備完了」、つまりすべての初期再起動が完了している場合に cmd または powershell スクリプトを実行するサポートはありません。

サードパーティのオプションがあるようです。たとえば、RightScale には、この機能を実行する RightLink エージェントがあります。

利用可能なオープンソースのオプションはありますか? この機能を Ec2Config に追加する予定はありますか? これを自分で構築する必要がありますか?

何か不足していますか?

4

6 に答える 6

18

Amazon が提供する AMI の EC2Config は、2012 年 4 月 11 日の更新で「ユーザー データ スクリプト」をサポートするようになりました。

ドキュメントはまだ更新されていないため、PowerShell をサポートしているのか、cmd.exe スクリプトのみをサポートしているのかを判断するのは困難です。詳細については、AWS フォーラムに質問を投稿しました。詳細がわかり次第、ここで更新します。

更新: cmd.exe バッチ構文がサポートされているようで、PowerShell を呼び出すことができます。AMI に含まれる EC2Config ドキュメントの新しいバージョンがあります。それから引用:

[EC2Config] は、インスタンスに指定されたユーザー データを読み込み、タグ<script>とが含まれているかどうかを確認します</script>。両方が見つかった場合、これら 2 つのタグの間の情報が取得され、このアプリケーションの設定フォルダーにあるバッチ ファイルに保存されます。次に、インスタンスの開始時にバッチ ファイルを実行します。

バッチ ファイルは、sysprep 後のインスタンスの最初の起動時にのみ作成および実行されます。バッチ ファイルを作成して再度実行する場合は、Ec2HandleUserdata プラグインの状態を有効に設定します。

更新 2:私の解釈はAWS チームの Shonによって確認されました

更新 3: 2012 年 5 月の AMI の時点で、<powershell/>タグを使用して PowerShell がサポートされています。

于 2012-04-17T15:40:33.790 に答える
2

自分で作る必要がありましたが、とても簡単でした。起動時にユーザーデータを読み取り、PowerShellスクリプトとしてファイルを実行するサービスを作成しました。

サービスをいつ開始するかわからないという問題を回避するために、サービス開始タイプを「delayed-auto」にしたところ、問題が解決したようです。システムに対して何をする必要があるかによって、機能する場合と機能しない場合がありますが、私の場合はそれだけでした。

于 2011-11-10T20:52:22.627 に答える
2

Windows 用に構築されたこのツールが既にある新しい codeplex プロジェクトを追加しました。フィードバックをお待ちしております。

http://cloudinitnet.codeplex.com/

于 2011-12-20T23:23:28.543 に答える
0

自分で作成する必要がありました。カスタムサービスでそれを行い、独自のAMIを構築しました。現在EC2Config内にそれを行うためのプロビジョニングはありません。

さらに良いことに、インスタンスがいつ「準備完了」であるかを判断する簡単な方法はありません。EC2Configのログファイルをテーリングすることでそれを行わなければなりませんでした。

于 2011-10-06T16:39:25.117 に答える
0

私は最近、単純なバッチ ファイル (またはほとんど何でも) をサービスとして簡単にラップできる nssm (nssm.cc) を見つけました。その後、sc config service1 depends= service0 を使用して、サービスの初期化シーケンスの特定の時点でバッチ ファイルを強制的に実行できます。たとえば、ex2configとsql Expressの間で使用して、dにフォルダーを作成しています。サービス ツールを使用してネットワーク サービスとして実行し、regedit を使用して AppExit プロパティを Ignore に変更する必要があります。

于 2013-05-16T16:31:06.710 に答える