次の方法で共有


クイック スタート - Azure Marketplace を使用して Slurm 用の Azure CycleCloud ワークスペースをデプロイする

Azure CycleCloud Workspace for Slurm は無料の Marketplace アプリケーションであり、HPC ワークロードと AI ワークロードのコンピューティングリソースとストレージ リソースを管理するためのシンプルで安全でスケーラブルな方法を提供します。 このクイック スタートでは、Azure Marketplace アプリケーションを使用して Slurm 用 CycleCloud ワークスペースをインストールします。

Open OnDemand を含む Slurm 用の CycleCloud ワークスペースをデプロイして構成する主な手順は次のとおりです。

  1. 開始する前に、次の手順 を確認します。Slurm デプロイ用に CycleCloud ワークスペースを計画します
  2. Azure Marketplace を使用して Slurm 環境用の CycleCloud ワークスペースをデプロイします (このクイック スタート)。
  3. Open OnDemand 認証用に Microsoft Entra ID アプリケーションを登録する: Open OnDemand 用の Microsoft Entra ID アプリケーションを登録します。
  4. Microsoft Entra ID アプリケーションを使用するように Open OnDemand を構成する: CycleCloud で Open OnDemand を構成する
  5. CycleCloud でユーザーを追加する: Open OnDemand のユーザーを追加する

[前提条件]

このクイックスタートでは、以下が必要です。

  1. アクティブなサブスクリプションが含まれる Azure アカウント
  2. サブスクリプション レベルの 共同作成者 および ユーザー アクセス管理者 ロール
  3. Open OnDemand をデプロイする必要がある場合は、クラスターで使用される仮想ネットワークへの直接接続 (つまり、Azure Bastion を使用しない)
  4. Open OnDemand を展開する必要がある場合に Microsoft Entra ID アプリケーションを登録するアクセス許可

デプロイ方法

  1. Azure portal にサインインします。
  2. [+ リソースの作成] を選択します。
  3. [ 検索サービスとマーケットプレース ] ボックスに「 Slurm 」と入力し、 Slurm 用の Azure CycleCloud ワークスペースを選択します。
  4. [ Slurm 用 Azure CycleCloud ワークスペース] ページで、[ 作成] を選択します。

Slurm Marketplace 用の Azure CycleCloud ワークスペース画面のスクリーンショット。

基本情報

  • [Slurm アカウント用の新しい Azure CycleCloud ワークスペース] ページで、次の詳細を入力または選択します。
    • サブスクリプション: まだ選択されていない場合は、使用するサブスクリプションを選択します。
    • リージョン: Slurm 環境用に CycleCloud ワークスペースをデプロイする Azure リージョンを選択します。
    • リソース グループ: Slurm アカウント用の Azure CycleCloud ワークスペースのリソース グループを選択するか、新しく作成します。
    • CycleCloud VM サイズ: 新しい VM サイズを選択するか、既定値のままにします。
    • 管理者ユーザー: CycleCloud 管理者アカウントの名前とパスワードを入力します。
    • 管理者 SSH 公開キー: 管理者アカウントの公開 SSH キーを直接選択するか、Azure の SSH キー リソースに格納されている場合に選択します。

[基本] オプション画面のスクリーンショット。

ファイル システム

ユーザーのホーム ディレクトリ - 新規作成

ユーザーのホーム ディレクトリを配置する場所を指定します。

  • 組み込み NFS - スケジューラ VM を、接続されたデータディスクを持つ NFS サーバーとして使用します。 /shared および /home Builtin NFS の [新しいオプションの作成] 画面のファイル システム マウントのスクリーンショット。

  • Azure NetApp Files - 指定された容量とサービス レベルで ANF アカウント、プール、ボリュームを作成します。 /shared ファイルと /home Azure NetApp ファイルの [新しいオプションの作成] 画面のファイル システム マウントのスクリーンショット。

ユーザーのホーム ディレクトリ - 既存のディレクトリを使用する

既存の NFS マウント ポイントがある場合は、[既存のものを 使用 ] オプションを選択し、マウントする設定を指定します。 /shared および /home use external NFS オプション画面のファイル システム マウントのスクリーンショット。

補助ファイルシステムのマウント:新規作成

プロジェクト データ用に別のファイル システムをマウントする必要がある場合は、新しいファイル システムを作成するか、既存のファイル システムを指定できます。 新しい Azure NetApp Files ボリュームまたは Azure Managed Lustre ファイルシステムを作成できます。

新しい Azure NetApp Files を作成するための追加のファイル システム マウントのスクリーンショット。

新しい Azure Managed Lustre を作成するための追加のファイル システム マウントのスクリーンショット。

追加のファイルシステムのマウント - 既存のものを利用する

既存の外部 NFS マウント ポイントまたは Azure Managed Lustre ファイルシステムがある場合は、マウント オプションを指定できます。

既存の外部 NFS の追加のファイル システム マウントのスクリーンショット。

ネットワーク

新しい仮想ネットワークとサブネットを作成するか、既存の仮想ネットワークとサブネットを使用するかを指定します。

新しい仮想ネットワークを作成します

新しいネットワーク オプションを作成するためのスクリーンショット。

  • 対象とするコンピューティング ノードの数に対応する CIDR を選択し、ベース IP アドレスを指定します。
  • 企業の IT 部門が直接接続を提供していない場合は、Bastion を作成します。
  • インターネットへの送信接続を提供する NAT ゲートウェイを作成します。
  • Bastion や VPN ゲートウェイなどのサービスを提供できるハブが既にある場合は、既存の仮想ネットワークにピアリングします。 ピアリングされた仮想ネットワークと互換性のあるベース IP アドレスを選択してください。 ピアリングされた仮想ネットワークにゲートウェイがある場合は、[ゲートウェイ転送を 許可する] オプションをオンにします。

既存の仮想ネットワークを使用する

既存の仮想ネットワークを使用する前に、「 Slurm デプロイ用の CycleCloud ワークスペースの計画」の前提条件を確認してください。

既存のものを使用するためのネットワーク オプションのスクリーンショット。

ストレージ アカウントで CycleCloud プロジェクトをプライベート DNS ゾーンに格納するために使用されるプライベート エンドポイントの登録を管理する方法を指定します。 新しいプライベート DNS ゾーンを作成するか、既存の DNS ゾーンを使用するか、登録しないことを選択できます。

プライベート DNS ゾーンのネットワーク オプションのスクリーンショット。

Slurm の設定

スケジューラと認証ノードの仮想マシンのサイズとイメージを指定します。 イメージは、次の URI を持つ Azure Marketplace の HPC イメージです。

イメージ名 URI
Alma Linux 8.10 almalinux:almalinux-hpc:8_10-hpc-gen2:latest
Ubuntu 20.04 microsoft-dsvm:ubuntu-hpc:2004:latest
Ubuntu 22.04 microsoft-dsvm:ubuntu-hpc:2204:latest
カスタム イメージ イメージ URN またはイメージ ID を指定する必要があります

Custom Imageを選択する場合は、既存のマーケットプレース イメージのイメージ URN または Azure コンピューティング ギャラリー内のイメージのイメージ ID を指定します。

スケジューラ、認証ノード、コンピューティング ノードに同じイメージを使用するには、[ すべてのノードでイメージを使用] を選択します。

最初にプロビジョニングする認証ノードの数と、許可される最大数を指定します。 正常性チェックを有効にすると、ソリューションは HPC パーティションと GPU パーティションのノード正常性チェックを自動的に実行し、異常なノードを削除します。 CycleCloud ポータルでさらに設定を構成する必要がある場合は、クラスターの起動を遅らせることができます。

Slurm 設定のスクリーンショット。

Slurm ジョブ アカウンティングを有効にするには、チェックボックスをオンにして接続オプションを表示します。 前にデプロイした Azure Database for MySQL フレキシブル サーバー リソースがあることを確認します。

独自の仮想ネットワークを指定する場合は、FQDN またはプライベート IP を使用して接続できます。 デプロイの一部として新しい仮想ネットワークを作成するときに、仮想ネットワーク ピアリングを使用することもできます。 新しい仮想ネットワークを作成する場合は、プライベート エンドポイント経由で接続することもできます。

ジョブ アカウンティング データベース用の Slurm 設定オプションのスクリーンショット (直接 FQDN)。

プライベート エンドポイントを使用したジョブ アカウンティング データベースの Slurm 設定オプションのスクリーンショット。

パーティション設定

Slurm 用の Azure CycleCloud ワークスペースには、次の 3 つの定義された Slurm パーティションが含まれています。

  • HTC: 驚異的並列の非 MPI ジョブ用。
  • HPC: InfiniBand のサポートの有無にかかわらず、VM の種類をほとんど使用する密結合 MPI ジョブの場合。
  • GPU: INFiniBand サポートの有無にかかわらず VM の種類を使用する MPI および非 MPI GPU ジョブの場合。

CycleCloud によって動的に作成される各パーティションのイメージとノードの最大数を設定できます。 スポット インスタンスは HPC ジョブや GPU ジョブには適していないため、スポット インスタンスを使用できるのは、HTC パーティションだけです。

[パーティション設定] オプションのスクリーンショット。

OnDemand を開く

Open OnDemand を使用するには、チェック ボックスをオンにして、次の情報を入力します。

  • 画像の名前、
  • システムがユーザー名 (user@contoso.com) を取得し、CycleCloud が認証のために管理するローカル Linux アカウント (user) と照合するために使用するドメイン名 (contoso.com)
  • Open OnDemand Web サーバーの完全修飾ドメイン名 (FQDN) (プライベート IP を使用する場合は空白のままにします)
  • 既存の Microsoft Entra ID アプリケーションを使用するか、後で手動で登録するかを指定します。 Automatically register Entra ID application は、CLI デプロイを使用する場合にのみ表示される追加のオプションです。

ユーザー認証には、Microsoft Entra ID アプリケーションが必要です。 スクリプトでアプリケーションが作成されない場合は、手動で作成します。 詳細については、「 Open OnDemand の Microsoft Entra ID アプリケーションを登録する方法」を参照してください。

[OnDemand を開く] オプションのスクリーンショット。

詳細

クラスター コンピューティング ノードと新しいファイル システム リソースの可用性ゾーンを有効にすることができます。 コンピューティング ノードとストレージを同じ可用性ゾーンに配置することで、それらの間の待機時間を最小限に抑えることができます。

[詳細] オプションのスクリーンショット。

Tags

必要なリソースに適切なタグを割り当てます。 CycleCloud は仮想マシンを動的にプロビジョニングし、ノード 配列タグをそれらに適用します。

[タグ] オプションのスクリーンショット。

確認と作成

オプションを確認します。 この手順には、いくつかの検証も含まれています。

レビューのスクリーンショット。

検証が完了したら、[ 作成 ] を選択してデプロイを初期化します。

進行中のデプロイのスクリーンショット。

デプロイの状態と手順に従います。

デプロイを確認する

デプロイ時に指定したユーザー名と SSH キーを使用して Bastion を使用して ccw-cyclecloud-vm に接続します。

[Bastion で接続] メニューのスクリーンショット。

Bastion 接続オプションを使用した接続のスクリーンショット。

接続後、cloud-init ログを確認して、すべてが正しいことを確認します。

$tail -f -n 25 /var/log/cloud-init-output.log
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Starting cluster ccws....
----------------------------
ccws : allocation -> started
----------------------------
Resource group: 
Cluster nodes:
    scheduler: Off -- --  
Total nodes: 1
CC start_cluster successful
/
exiting after install
Cloud-init v. 23.4-7.el8_10.alma.1 running 'modules:final' at Wed, 12 Jun 2024 10:15:53 +0000. Up 11.84 seconds.
Cloud-init v. 23.4-7.el8_10.alma.1 finished at Wed, 12 Jun 2024 10:28:15 +0000. Datasource DataSourceAzure [seed=/dev/sr0].  Up 754.29 seconds

次に、クライアント マシンと CycleCloud VM の間の接続を設定します。 お使いの企業の IT 部門は、VPN、Bastion トンネリング、または会社の許可があればパブリック IP を使って接続を設定するのを支援する必要があるかもしれません。 https://<cyclecloud_ip>を参照して Web インターフェイスにアクセスします。 デプロイ時に指定したユーザー名とパスワードでサインインします。 スケジューラとサインイン ノードの両方が実行されていることを確認します。

リソース