次の方法で共有


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

重要

クラシック VM は、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 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 グローバル サービスまたは Azure China サービスでサブスクリプションを使用できます。 サブスクリプションの制限は、デプロイできるクラスター ノードの数と種類に影響します。 詳細については、 Azure サブスクリプションとサービスの制限、クォータ、制約に関するページを参照してください。
  • Azure PowerShell 0.8.10 以降がインストールおよび構成されている Windows クライアント コンピューター: Azure サブスクリプションに接続するためのインストール手順と手順については、「 Azure PowerShell の概要 」を参照してください。
  • HPC Pack IaaS デプロイ スクリプト: Microsoft ダウンロード センターから最新バージョンのスクリプトをダウンロードしてアンパックします。 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>]

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

パラメーター

  • 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

次の構成ファイルは、ローカル データベースを含むヘッド ノードと、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つのストレージアカウントに作成されています。MyHPCCN-0001 から MyHPCCN-0005 (MyHPCCNService01mycnstorage01)、MyHPCCN-0006 から MyHPCCN0010 (MyHPCCNService02mycnstorage02)、および MyHPCCN-0011 から MyHPCCN-0012 (MyHPCCNService03mycnstorage03) に作成されています。 コンピューティング ノードは、コンピューティング ノードからキャプチャされた既存のプライベート イメージから作成されます。 自動拡張および縮小サービスは、既定の拡大と縮小の間隔で有効になります。

<?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 クラスターをデプロイします。 クラスターには、ローカル データベースを含む 2 つのヘッド ノードがあり、2 つの Azure ノード テンプレートが作成され、Azure ノード テンプレート AzureTemplate1 用に 3 つのサイズの中 Azure ノードが作成されます。 スクリプト ファイルは、ヘッド ノードの構成後にヘッド ノードで実行されます。

<?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 仮想ネットワークからインターネットにアクセスできない - デプロイ スクリプトを使用して新しいドメイン コントローラーを使用してクラスターを作成した場合、またはヘッド ノード VM をドメイン コントローラーに手動で昇格した場合、VM をインターネットに接続するときに問題が発生する可能性があります。 この問題は、フォワーダー DNS サーバーがドメイン コントローラーで自動的に構成されていて、このフォワーダー DNS サーバーが正しく解決されない場合に発生する可能性があります。

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

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

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

次のステップ