Azure ノードにスタートアップ スクリプトを使用する
一連の Azure ノードが起動 (プロビジョニング) されたときに自動的に実行されるスタートアップ スクリプトを構成できます。 スタートアップ スクリプトを使用すると、ノードのグループが特定のジョブを実行するように適切に構成されていることを確認できます。 さらに、サービスの中断が原因でノードが使用できなくなった場合、ノードは既知の状態に復元され、ロール インスタンスを Azure に再度プロビジョニングする必要があります。 たとえば、スタートアップ スクリプトを使用して、アプリケーションまたはドライバーのインストール、共有フォルダーの構成、特定のアプリケーションのファイアウォール ポートの開き方などを行うことができます。 また、スタートアップ スクリプトを使用して、特定のノード テンプレートを使用してデプロイされる Azure ノードのセット内でノードのサブセットを異なる方法で構成することもできます。
このトピックでは、次の操作を行います。
ログ ファイル を
する
手記
- Azure スタートアップ スクリプトは、Hpc Pack 2008 R2 Service Pack 2 以降でサポートされています。
- スタートアップ スクリプトの完了に 15 分以上かかる場合、Azure Fabric コントローラーによってロール インスタンスのプロビジョニングが失敗する可能性があります。
スタートアップ スクリプトを構成して使用するための一般的な手順
Azure ノードのスタートアップ スクリプトを構成して使用するための一般的な手順を次に示します。
環境変数を使用してノードを区別し、異なる構成を設定する構成スクリプト (たとえば、startup.bat) を作成します。 詳細については、このトピックの残りのセクションを参照してください。
hpcpack コマンドを使用してスクリプトをパッケージ化し、Azure ノードのデプロイに使用される Azure ストレージ アカウントにアップロードします。
大事な
スタートアップ スクリプトをパッケージ化してアップロードするときは、
/relativePath
パラメーターを指定しないでください。 スタートアップ スクリプトは、Azure ノードのルート ディレクトリからのみ実行する必要があります。Azure ノード テンプレートを作成または編集して、スタートアップ スクリプトを指定します。
Azure ノードを開始 (プロビジョニング) します。
スタートアップ スクリプトは、Azure ノードに自動的にデプロイされ、ノード上で実行されます。 スクリプトの実行時に問題が発生した場合は、エラー ログを確認できます。 詳細については、「Microsoft HPC Packを使用した Azure ノードのデプロイのトラブルシューティング」を参照してください。
スクリプト名
Azure にアップロードするパッケージの名前と、実行するスクリプトの名前 (およびノード テンプレートで指定されている) の間で一致していることを確認する必要があります。 次の表の名前付け規則のみが許可されます。
スクリプト名 | パッケージ名 |
---|---|
file.extension |
file.extension.zip -又は- ファイルの.zip (例: startup.zip) |
環境変数
次の表の環境変数は、Azure ノードで自動的に設定され、スタートアップ スクリプトの構成に役立ちます。
環境変数 | 形容 |
---|---|
HPC_NODE_NAME | Microsoft HPC Pack によって自動的に構成される Azure ノードの名前 。たとえば、azureCN-0014 |
HPC_NODE_GROUPS | ノードが属するノード グループのコンマ区切りのリスト。 スクリプトの動作をノードのさまざまなサブセットに対して特殊化できるようにします。 注: HPC_NODE_GROUPS は、Azure ノードが最初に起動されたときにのみ設定されます。 変数が更新され、ノードが再びプロビジョニングされた場合、変数は動的に更新されません。 |
例
次の例は、ポート 31337 サーバー グループ
@echo off
echo %HPC_NODE_GROUPS% | findstr /C: "Port31337 Server Group"
if %errorlevel% == 0 (
echo Creating firewall exception
netsh advfirewall firewall add rule name="MyRule" dir=in protocol=tcp localport=31337 action=allow enable=yes
)
ログ ファイル
スタートアップ スクリプトの実行時に問題が発生した場合は、スクリプトのログ ファイルを確認します。 スタートアップ スクリプトのログを次の表に示します。 ログ ファイルは、各 Azure ワーカー ノードの %CCP_HOME% フォルダーにあります。
ログ ファイル | 形容 |
---|---|
HpcStartupCommand.log | 終了コードと出力ストリーム |
HpcStartupCommand.err | エラー ストリーム |
関連項目
Microsoft HPC Pack 用の Azure ノード テンプレートの構成