HPC Pack IaaS デプロイ スクリプトを使用し、Windows VM でハイ パフォーマンス コンピューティング (HPC) クラスターを作成する

重要

クラシック VM は 2023 年 3 月 1 日に廃止される予定です。

ASM の IaaS リソースを使用する場合は、すぐに移行の計画を開始し、2023 年 3 月 1 日までに完了してください。ASM の IaaS リソースを使用する場合は、すぐに移行の計画を開始し、2023 年 3 月 1 日までに完了してください。 Azure Resource Manager の多数の機能強化を活用するために、早急に切り替えを行うことをお勧めします。

詳細については、「2023 年 3 月 1 日までに IaaS リソースを Azure Resource Manager に移行する」を参照してください。

HPC Pack IaaS デプロイ PowerShell スクリプトを実行し、Windows ワークロード用に完全な HPC Pack 2012 R2 クラスターを Azure 仮想マシンにデプロイします。 このクラスターは、Windows Server と Microsoft HPC Pack を実行する Active Directory に参加するヘッド ノードと、別途指定した Windows コンピューティング リソースとから成ります。 Linux ワークロード用に Azure で HPC Pack クラスターをデプロイする必要がある場合は、「 HPC Pack IaaS デプロイ スクリプトを使用し、Linux VM でハイ パフォーマンス コンピューティング (HPC) クラスターを作成する」をご覧ください。

重要

この記事で説明する PowerShell スクリプトでは、クラシック デプロイ モデルを使用して Azure で Microsoft HPC Pack 2012 R2 クラスターを作成します。 最新のデプロイメントでは、リソース マネージャー モデルを使用することをお勧めします。 また、この記事で説明するスクリプトは HPC Pack 2016 をサポートしていません。 HPC Pack 2012 R2 および HPC Pack 2016 の Resource Manager テンプレートの詳細については、Azure での HPC Pack クラスターの展開オプションに関するページを参照してください。

環境や選択肢によっては、このスクリプトにより、Azure 仮想ネットワーク、ストレージ アカウント、クラウド サービス、ドメイン コントローラー、リモートまたはローカルの SQL データベース、ヘッド ノード、その他のクラスター ノードを含む、すべてのクラスター インフラストラクチャを作成できます。 また、既存の Azure インフラストラクチャを使用し、HPC クラスター ノードだけを作成することもできます。

HPC Pack クラスターの計画に関する背景情報については、HPC Pack 2012 R2 TechNet ライブラリの製品の評価と計画および概要に関する各ページを参照してください。

前提条件

  • Azure サブスクリプション: Azure Global または Azure China サービスのサブスクリプションを利用できます。 ご利用のサブスクリプションの制限により、デプロイ可能なクラスター ノードの数と種類が変わります。 詳細については、「Azure サブスクリプションとサービスの制限、クォータ、制約」をご覧ください。
  • Azure PowerShell 0.8.10 以降がインストールおよび構成されている Windows クライアント コンピューター: インストール方法と Azure サブスクリプションへの接続手順については、Azure PowerShell の概要に関するページを参照してください。
  • HPC Pack IaaS デプロイ スクリプト: Microsoft Download Center から最新版のスクリプトをダウンロードし、解凍します。 New-HPCIaaSCluster.ps1 –Versionを実行して、スクリプトのバージョンを確認します。 この記事はバージョン 4.5.2 のスクリプトに基づきます。
  • スクリプトの設定ファイル: スクリプトが HPC クラスターの構成に使用する XML ファイルを作成します。 詳細および例については、この記事の後続のセクションとデプロイ スクリプトに付属の Manual.rtf ファイルを参照してください。

構文

New-HPCIaaSCluster.ps1 [-ConfigFile] <String> [-AdminUserName]<String> [[-AdminPassword] <String>] [[-HPCImageName] <String>] [[-LogFile] <String>] [-Force] [-NoCleanOnFailure] [-PSSessionSkipCACheck] [<CommonParameters>]

Note

スクリプトは管理者として実行してください。

パラメーター

  • ConfigFile: HPC クラスターについて説明する構成ファイルのファイル パスを指定します。 構成ファイルの詳細については、このトピックか、またはスクリプトが格納されているフォルダーの Manual.rtf ファイルを参照してください。

  • AdminUserName: ユーザー名を指定します。 スクリプトによりドメイン フォレストが作成される場合、これがすべての VM のローカル管理者ユーザー名とドメイン管理者名になります。 ドメイン フォレストが既に存在する場合、HPC Pack をインストールするために、ドメイン ユーザーがローカル管理者ユーザー名として指定されます。

  • AdminPassword: 管理者のパスワードを指定します。 コマンド ラインで指定しない場合、パスワードを入力するように求められます。

  • HPCImageName (省略可能): HPC クラスターのデプロイに使用する HPC Pack VM イメージ名を指定します。 これは Azure Marketplace から Microsoft が提供する HPC Pack イメージにする必要があります。 指定しない場合 (ほとんどの場合に推奨)、公開されている最新の HPC Pack 2012 R2 のイメージが選択されます。 最新のイメージは、HPC Pack 2012 R2 Update 3 がインストールされた Windows Server 2012 R2 Datacenter に基づいています。

    注意

    有効な HPC Pack イメージを指定しない場合、デプロイは失敗します。

  • LogFile (省略可能): デプロイ ログ ファイルのパスを指定します。 指定しない場合、スクリプトを実行するコンピューターの一時ディレクトリにログ ファイルが作成されます。

  • Force (省略可能): すべての確認プロンプトを非表示にします。

  • NoCleanOnFailure (省略可能): デプロイできなかった Azure VM を削除しません。 デプロイを継続するには、デプロイできなかった VM を手動で削除してからスクリプトを再実行します。そうしないと、デプロイは失敗します。

  • PSSessionSkipCACheck (省略可能): このスクリプトで VM がデプロイされたすべてのクラウド サービスに対して、Azure により自己署名証明書を自動で生成します。この証明書は、クラウド サービスのすべての VM が既定の Windows リモート管理 (WinRM) 証明書として使用します。 これらの Azure VM に HPC 機能をデプロイするために、スクリプトは既定でこれらの証明書をクライアント コンピューターのローカル コンピューター\信頼されたルート証明機関 ストアに一時的にインストールして、スクリプトの実行中に "信頼されていない CA" セキュリティ エラーを抑制します。 証明書はスクリプトの実行後に削除されます。 このパラメーターが指定されている場合、証明書はクライアント コンピューターにインストールされず、セキュリティ警告が非表示になります。

    重要

    本稼働デプロイの場合、このパラメーターは推奨されません。

次の例では、MyConfigFile.xml 構成ファイルを使用して HPC Pack クラスターを作成し、クラスターをインストールするための管理者資格情報を指定しています。

.\New-HPCIaaSCluster.ps1 –ConfigFile MyConfigFile.xml -AdminUserName <username> –AdminPassword <password>

その他の注意点

  • このスクリプトでは、任意で、HPC Pack Web ポータルまたは HPC Pack REST API を通してジョブ送信を有効にできます。
  • このスクリプトでは、追加ソフトウェアをインストールするか、その他の設定を構成する場合、カスタムの構成前スクリプトと構成後スクリプトを任意で実行できます。

構成ファイル

デプロイ スクリプトの構成ファイルは XML ファイルです。 「HPCIaaSClusterConfig.xsd」という名前のスキーマ ファイルは HPC Pack IaaS デプロイ スクリプト フォルダーにあります。 IaaSClusterConfig は構成ファイルのルート要素であり、デプロイ スクリプト フォルダーの Manual.rtf ファイルに詳細がある子要素が含まれています。

サンプル構成ファイル

次の例のサブスクリプション ID (サブスクリプション名)、アカウント名、サービス名には、実際の値を使用してください。

例 1

次の構成ファイルでは、ローカル データベースを持つヘッド ノードを 1 つと Windows Server 2012 R2 オペレーティング システムを実行しているコンピューティング ノードを 5 つ含む HPC Pack クラスターがデプロイされます。 すべてのクラウド サービスは米国西部の場所に直接作成されます。 ヘッド ノードはドメイン フォレストのドメイン コントローラーとして機能します。

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionId>08701940-C02E-452F-B0B1-39D50119F267</SubscriptionId>
    <StorageAccount>mystorageaccount</StorageAccount>
  </Subscription>
  <Location>West US</Location>  
  <VNet>
    <VNetName>MyVNet</VNetName>
    <SubnetName>Subnet-1</SubnetName>
  </VNet>
  <Domain>
    <DCOption>HeadNodeAsDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
  </Domain>
  <Database>
    <DBOption>LocalDB</DBOption>
  </Database>
  <HeadNode>
    <VMName>MyHeadNode</VMName>
    <ServiceName>MyHPCService</ServiceName>
    <VMSize>ExtraLarge</VMSize>
  </HeadNode>
  <ComputeNodes>
    <VMNamePattern>MyHPCCN-%1000%</VMNamePattern>
    <ServiceName>MyHPCCNService</ServiceName>
    <VMSize>Medium</VMSize>
    <NodeCount>5</NodeCount>
    <OSVersion>WindowsServer2012R2</OSVersion>
  </ComputeNodes>
</IaaSClusterConfig>

例 2

次の構成ファイルでは、既存のドメイン フォレストで HPC Pack クラスターが展開されます。 このクラスターにはローカル データベースを持つヘッド ノードが 1 つあり、BGInfo VM 拡張機能が適用されたコンピューティング ノードが 12 あります。 Windows 更新プログラムの自動インストールはドメイン フォレストのすべての VM で無効です。 すべてのクラウド サービスは東アジアの場所に直接作成されます。 コンピューティング ノードは、3 つのクラウド サービスと 3 つのストレージ アカウント (MyHPCCNService01mycnstorage01MyHPCCN-0001MyHPCCN-0005MyHPCCNService02mycnstorage02MyHPCCN-0006MyHPCCN0010MyHPCCNService03mycnstorage03MyHPCCN-0011MyHPCCN-0012) で作成されます。 コンピューティング ノードはコンピューティング ノードからキャプチャされた既存のプライベート イメージから作成されます。 自動拡大縮小サービスは既定の拡大縮小間隔で有効になっています。

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionName>Subscription-1</SubscriptionName>
    <StorageAccount>mystorageaccount</StorageAccount>
  </Subscription>
  <Location>East Asia</Location>  
  <VNet>
    <VNetName>MyVNet</VNetName>
    <SubnetName>Subnet-1</SubnetName>
  </VNet>
  <Domain>
    <DCOption>NewDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
    <DomainController>
      <VMName>MyDCServer</VMName>
      <ServiceName>MyHPCService</ServiceName>
      <VMSize>Large</VMSize>
      </DomainController>
     <NoWindowsAutoUpdate />
  </Domain>
  <Database>
    <DBOption>LocalDB</DBOption>
  </Database>
  <HeadNode>
    <VMName>MyHeadNode</VMName>
    <ServiceName>MyHPCService</ServiceName>
    <VMSize>ExtraLarge</VMSize>
  </HeadNode>
  <Certificates>
    <Certificate>
      <Id>1</Id>
      <PfxFile>d:\mytestcert1.pfx</PfxFile>
      <Password>MyPsw!!2</Password>
    </Certificate>
  </Certificates>
  <ComputeNodes>
    <VMNamePattern>MyHPCCN-%0001%</VMNamePattern>
<ServiceNamePattern>MyHPCCNService%01%</ServiceNamePattern>
<MaxNodeCountPerService>5</MaxNodeCountPerService>
<StorageAccountNamePattern>mycnstorage%01%</StorageAccountNamePattern>
    <VMSize>Medium</VMSize>
    <NodeCount>12</NodeCount>
    <ImageName HPCPackInstalled=”true”>MyHPCComputeNodeImage</ImageName>
    <VMExtensions>
       <VMExtension>
          <ExtensionName>BGInfo</ExtensionName>
          <Publisher>Microsoft.Compute</Publisher>
          <Version>1.*</Version>
       </VMExtension>
    </VMExtensions>
  </ComputeNodes>
  <AutoGrowShrink>
    <CertificateId>1</CertificateId>
  </AutoGrowShrink>
</IaaSClusterConfig>

例 3

次の構成ファイルでは、既存のドメイン フォレストで HPC Pack クラスターが展開されます。 このクラスターには、ヘッド ノードが 1 つ、500 GB データ ディスクのデータベース サーバーが 1 つ、Windows Server 2012 R2 オペレーティング システムを実行するブローカー ノードが 2 つ、Windows Server 2012 R2 オペレーティング システムを実行する計算ノードが 5 つ含まれています。 クラウド サービス MyHPCCNService は、アフィニティ グループ MyIBAffinityGroup で作成されます。その他のクラウド サービスはすべて、アフィニティ グループ MyAffinityGroup で作成されます。 HPC ジョブ スケジューラ REST API と HPC Web ポータルはヘッド ノードで有効になっています。

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionName>Subscription-1</SubscriptionName>
    <StorageAccount>mystorageaccount</StorageAccount>
  </Subscription>
  <AffinityGroup>MyAffinityGroup</AffinityGroup>
  <Location>East Asia</Location>  
  <VNet>
    <VNetName>MyVNet</VNetName>
    <SubnetName>Subnet-1</SubnetName>
  </VNet>    
  <Domain>
    <DCOption>ExistingDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
  </Domain>
  <Database>
    <DBOption>NewRemoteDB</DBOption>
    <DBVersion>SQLServer2014_Enterprise</DBVersion>
    <DBServer>
      <VMName>MyDBServer</VMName>
      <ServiceName>MyHPCService</ServiceName>
      <VMSize>ExtraLarge</VMSize>
      <DataDiskSizeInGB>500</DataDiskSizeInGB>
    </DBServer>
  </Database>
  <HeadNode>
    <VMName>MyHeadNode</VMName>
    <ServiceName>MyHPCService</ServiceName>
    <VMSize>ExtraLarge</VMSize>
    <EnableRESTAPI />
    <EnableWebPortal />
  </HeadNode>
  <ComputeNodes>
    <VMNamePattern>MyHPCCN-%0000%</VMNamePattern>
    <ServiceName>MyHPCCNService</ServiceName>
    <VMSize>A8</VMSize>
<NodeCount>5</NodeCount>
<AffinityGroup>MyIBAffinityGroup</AffinityGroup>
  </ComputeNodes>
  <BrokerNodes>
    <VMNamePattern>MyHPCBN-%0000%</VMNamePattern>
    <ServiceName>MyHPCBNService</ServiceName>
    <VMSize>Medium</VMSize>
    <NodeCount>2</NodeCount>
  </BrokerNodes>
</IaaSClusterConfig>

例 4

次の構成ファイルでは、既存のドメイン フォレストで HPC Pack クラスターが展開されます。 このクラスターには、ローカル データベースを持つヘッド ノードが 1 つ含まれます。2 つの Azure ノード テンプレートが作成されます。Azure ノード テンプレート AzureTemplate1 に対して、中サイズの Azure ノードが 3 つ作成されます。 ヘッド ノードが構成されると、スクリプト ファイルがヘッド ノードで実行されます。

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionName>Subscription-1</SubscriptionName>
    <StorageAccount>mystorageaccount</StorageAccount>
  </Subscription>
  <AffinityGroup>MyAffinityGroup</AffinityGroup>
  <Location>East Asia</Location>  
  <VNet>
    <VNetName>MyVNet</VNetName>
    <SubnetName>Subnet-1</SubnetName>
  </VNet>
  <Domain>
    <DCOption>ExistingDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
  </Domain>
  <Database>
    <DBOption>LocalDB</DBOption>
  </Database>
  <HeadNode>
    <VMName>MyHeadNode</VMName>
    <ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
    <PostConfigScript>c:\MyHNPostActions.ps1</PostConfigScript>
  </HeadNode>
  <Certificates>
    <Certificate>
      <Id>1</Id>
      <PfxFile>d:\mytestcert1.pfx</PfxFile>
      <Password>MyPsw!!2</Password>
    </Certificate>
    <Certificate>
      <Id>2</Id>
      <PfxFile>d:\mytestcert2.pfx</PfxFile>
    </Certificate>    
  </Certificates>
  <AzureBurst>
    <AzureNodeTemplate>
      <TemplateName>AzureTemplate1</TemplateName>
      <SubscriptionId>bb9252ba-831f-4c9d-ae14-9a38e6da8ee4</SubscriptionId>
      <CertificateId>1</CertificateId>
      <ServiceName>mytestsvc1</ServiceName>
      <StorageAccount>myteststorage1</StorageAccount>
      <NodeCount>3</NodeCount>
      <RoleSize>Medium</RoleSize>
    </AzureNodeTemplate>
    <AzureNodeTemplate>
      <TemplateName>AzureTemplate2</TemplateName>
      <SubscriptionId>ad4b9f9f-05f2-4c74-a83f-f2eb73000e0b</SubscriptionId>
      <CertificateId>1</CertificateId>
      <ServiceName>mytestsvc2</ServiceName>
      <StorageAccount>myteststorage2</StorageAccount>
      <Proxy>
        <UsesStaticProxyCount>false</UsesStaticProxyCount>     
        <ProxyRatio>100</ProxyRatio>
        <ProxyRatioBase>400</ProxyRatioBase>
      </Proxy>
      <OSVersion>WindowsServer2012</OSVersion>
    </AzureNodeTemplate>
  </AzureBurst>
</IaaSClusterConfig>

トラブルシューティング

  • "VNet が 存在しません" エラー - スクリプトを実行して 1 つのサブスクリプションで複数のクラスターを Azure に同時にデプロイすると、"VNet VNet_Name が存在しません" というエラーで 1 つ以上のデプロイ 失敗する可能性があります。 このエラーが発生した場合、失敗したデプロイに対してスクリプトを再び実行してください。

  • Azure Virtual Network からインターネットにアクセスできない - デプロイ スクリプトを利用し、新しいドメイン コントローラーを含むクラスターを作成する場合、あるいは手動でヘッド ノード VM をドメイン コントローラーに昇格する場合、VM をインターネットに接続できないことがあります。 この問題は、フォワーダー DNS サーバーがドメイン コントローラーで自動的に構成されるとき、このフォワーダー DNS サーバーが適切に解決しない場合に発生することがあります。

    この問題を回避するには、ドメイン コントローラーにログオンし、フォワーダー構成設定を削除するか、有効なフォワーダー DNS サーバーを構成します。 この設定を構成するには、 [ツール>サーバー マネージャー DNS] をクリックして DNS マネージャーを開き、 [Forwarders]をダブルクリックします

  • コンピューティング集中型 VM から RDMA ネットワークにアクセスできない - A8 や A9 などの RDMA 対応サイズを使用し、Windows Server コンピューティング ノードまたはブローカー ノード VM を追加する場合、これらの VM を RDMA アプリケーション ネットワークに接続できないことがあります。 この問題が発生する原因の 1 つとして、VM がクラスターに追加されたとき、HpcVmDrivers 拡張機能が適切にインストールされていないことがあります。 たとえば、拡張機能のインストールが途中で止まります。

    この問題を回避するには、最初に VM の拡張機能の状態を確認します。 拡張機能が適切にインストールされていない場合、HPC クラスターからノードを削除し、ノードを再度追加してみます。 たとえば、ヘッド ノードで Add-HpcIaaSNode.ps1 スクリプトを実行し、コンピューティング ノード VM を追加できます。

次のステップ