AWS PCS でのコンピューティングノードグループの作成 - AWS PCS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS PCS でのコンピューティングノードグループの作成

このトピックでは、使用可能なオプションの概要と、 AWS Parallel Computing Service (AWS PCS) でコンピューティングノードグループを作成するときに考慮すべき点について説明します。 AWS PCS でコンピューティングノードグループを初めて作成する場合は、「」のチュートリアルに従うことをお勧めしますAWS Parallel Computing Service の開始方法。このチュートリアルは、使用可能なすべてのオプションやシステムアーキテクチャを拡張することなく、動作する HPC システムを作成するのに役立ちます。

前提条件

  • で必要な数の EC2 インスタンスを起動するのに十分なサービスクォータ AWS リージョン。を使用してAWS Management Console、サービスクォータの引き上げを確認およびリクエストできます。

  • VPC ネットワーク要件を満たす既存の AWS PCS とサブネット (複数可)。本番環境で使用するクラスターをデプロイする前に、これらの要件を十分に理解することをお勧めします。詳細については、「AWS PCS VPCサブネットの要件と考慮事項」を参照してください。a CloudFormation テンプレートを使用して VPC を作成し、subnets. AWS provides an HPC recipe for the CloudFormation template を作成することもできます。詳細については、 aws-hpc-recipes on GitHub」を参照してください。

  • AWS PCS IAM アクションを呼び出すアクセス許可と、ノードグループインスタンスに必要な他の AWS リソースへのアクセス許可を持つ API RegisterComputeNodeGroupInstance インスタンスプロファイル。詳細については、「AWS Parallel Computing Service の IAM インスタンスプロファイル」を参照してください。

  • ノードグループインスタンスの起動テンプレート。詳細については、「EC2 での Amazon Word 起動テンプレートの使用 AWS PCS」を参照してください。

  • Amazon EC2 スポットインスタンスを使用するコンピューティングノードグループを作成するには、 に AWSServiceRoleForEC2Spot サービスにリンクされたロールが必要です AWS アカウント。詳細については、「Amazon EC2 スポットロール for AWS PCS」を参照してください。

AWS PCS でコンピューティングノードグループを作成する

コンピューティングノードグループは、 AWS Management Console または を使用して作成できます AWS CLI。

AWS Management Console
コンソールを使用してコンピューティングノードグループを作成するには
  1. AWS PCS コンソールを開きます。

  2. コンピューティングノードグループを作成するクラスターを選択します。コンピューティングノードグループに移動し、作成を選択します。

  3. 「コンピューティングノードグループのセットアップ」セクションで、ノードグループの名前を指定します。名前には、大文字と小文字を区別する英数字とハイフンのみを使用できます。アルファベット文字で始まり、25 文字を超えることはできません。名前はクラスター内で一意である必要があります。

  4. 「コンピューティング設定」で、次の値を入力または選択します。

    1. EC2 起動テンプレート — このノードグループに使用するカスタム起動テンプレートを選択します。起動テンプレートを使用して、サブネット、セキュリティグループ、モニタリング設定、インスタンスレベルのストレージなどのネットワーク設定をカスタマイズできます。起動テンプレートを準備していない場合は、EC2 での Amazon Word 起動テンプレートの使用 AWS PCS「」を参照して作成方法を確認してください。

      重要

      AWS PCS は、コンピューティングノードグループごとにマネージド起動テンプレートを作成します。これらは という名前ですpcs-identifier-do-not-delete。コンピューティングノードグループを作成または更新するときにこれらを選択しないでください。選択しないと、ノードグループが正しく機能しません。

    2. EC2 起動テンプレートのバージョン – カスタム起動テンプレートのバージョンを選択する必要があります。後でバージョンを変更する場合は、コンピューティングノードグループを更新して起動テンプレートの変更を検出する必要があります。詳細については、「コンピューティングノードグループの更新 AWS PCS 」を参照してください。

    3. AMI ID – 起動テンプレートに AMI ID が含まれていない場合、または起動テンプレートの値を上書きする場合は、ここで AMI ID を指定します。ノードグループに使用される AMI は、 AWS PCS と互換性がある必要があることに注意してください。が提供するサンプル AMI を選択することもできます AWS。このトピックの詳細については、「」を参照してくださいAmazon マシンイメージ (AMIs) for AWS PCS

    4. IAM インスタンスプロファイル – ノードグループのインスタンスプロファイルを選択します。インスタンスプロファイルは、 リソースとサービスに安全にアクセスする AWS アクセス許可をインスタンスに付与します。準備が整っていない場合は、AWS Parallel Computing Service の IAM インスタンスプロファイル「」を参照して作成方法を確認してください。

    5. サブネット — AWS PCS クラスターがデプロイされている VPC で 1 つ以上のサブネットを選択します。複数のサブネットを選択すると、ノード間の EFA 通信は利用できなくなり、異なるサブネット内のノード間の通信のレイテンシーが増加する可能性があります。ここで指定するサブネットが、EC2 起動テンプレートで定義したサブネットと一致することを確認してください。

    6. インスタンス – ノードグループ内のスケーリングリクエストを満たすインスタンスタイプを 1 つ以上選択します。すべてのインスタンスタイプは、同じプロセッサアーキテクチャ (x86_64 または arm64) と vCPUs の数を持つ必要があります。インスタンスに GPUs がある場合、すべてのインスタンスタイプに同じ数の GPUs が必要です。

    7. スケーリング設定 — ノードグループのインスタンスの最小数と最大数を指定します。実行中のノード数が固定されている静的設定、またはノードの最大数まで実行できる動的設定のいずれかを定義できます。静的な設定の場合は、最小値と最大値をゼロより大きい同じ値に設定します。動的設定の場合、最小インスタンスを 0 に設定し、最大インスタンスを 0 より大きい数に設定します。 AWS PCS は、静的インスタンスと動的インスタンスが混在するコンピューティングノードグループをサポートしていません。

  5. (オプション) 追加設定で、以下を指定します。

    1. 購入オプション — スポットインスタンスとオンデマンドインスタンスのいずれかを選択します。

    2. 配分戦略 – スポット購入オプションを選択した場合は、ノードグループでインスタンスを起動するときにスポットキャパシティプールを選択する方法を指定できます。詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「スポットインスタンスの配分戦略」を参照してください。このオプションは、オンデマンド購入オプションを選択した場合は効果がありません。

  6. (オプション) の Slurm カスタム設定セクションで、次の値を指定します。

    1. み — この値は、スケジューリングの目的でグループ内のノードの優先度を設定します。重みの低いノードは優先度が高く、単位は任意です。詳細については、「」の「重み」を参照してください。Slurm ドキュメント内) を参照してください。

    2. 実メモリ – この値は、ノードグループ内のノードの実メモリのサイズ (GB 単位) を設定します。クラスターの CR_CPU_Memoryオプションと組み合わせて使用することを目的としています。Slurm AWS PCS での設定。詳細については、「」のRealMemory」を参照してください。Slurm ドキュメント内) を参照してください。

  7. (オプション) タグで、コンピューティングノードグループにタグを追加します。

  8. コンピューティングノードグループの作成 を選択します。Status フィールドには、 AWS PCS がノードグループをプロビジョニングCreatingしている間が表示されます。これには数分間かかる場合があります。

推奨される次のステップ
  • ノードグループを in AWS PCS のキューに追加して、ジョブを処理できるようにします。

AWS CLI
を使用してコンピューティングノードグループを作成するには AWS CLI

次のコマンドを使用してキューを作成します。コマンドを実行する前に、次の置き換えを行います。

  1. 置換 regionなど、クラスター AWS リージョン を作成する の ID を持つ us-east-1

  2. 置換 my-cluster をクラスターの名前または clusterIdに置き換えます。

  3. 置換 my-node-groupコンピューティングノードグループの名前を入力します。この名前には、英数字 (大文字と小文字が区別されます) とハイフンのみを使用できます。アルファベット文字で始まり、25 文字を超えることはできません。名前はクラスター内で一意である必要があります。

  4. 置換 subnet-ExampleID1 クラスター IDs から 1 つ以上のサブネット VPC を持つ 。

  5. 置換 lt-ExampleID1 カスタム起動テンプレートの ID を指定します。準備が整っていない場合は、EC2 での Amazon Word 起動テンプレートの使用 AWS PCS「」を参照して作成方法を確認してください。

    重要

    AWS PCS は、コンピューティングノードグループごとにマネージド起動テンプレートを作成します。これらは という名前ですpcs-identifier-do-not-delete。コンピューティングノードグループを作成または更新するときにこれらを選択しないでください。選択しないと、ノードグループが正しく機能しません。

  6. 置換 launch-template-version 特定の起動テンプレートバージョンを持つ 。 AWS PCS は、ノードグループをその特定のバージョンの起動テンプレートに関連付けます。

  7. 置換 arn:InstanceProfileWord インスタンスプロファイルARNの IAM を使用します。準備が整っていない場合は、EC2 での Amazon Word 起動テンプレートの使用 AWS PCS「」でガイダンスを参照してください。

  8. 置換 min-instances また、max-instances 整数値を持つ 。実行中のノード数が固定されている静的設定、またはノードの最大数まで実行できる動的設定のいずれかを定義できます。静的な設定の場合は、最小値と最大値をゼロより大きい同じ値に設定します。動的設定の場合は、最小インスタンスを 0 に設定し、最大インスタンスを 0 より大きい数値に設定します。 AWS PCS は、静的インスタンスと動的インスタンスが混在するコンピューティングノードグループをサポートしていません。

  9. 置換 t3.large 別のインスタンスタイプを使用する。instanceType 設定のリストを指定して、インスタンスタイプを追加できます。例えば、 などです --instance-configs instanceType=c6i.16xlarge,instanceType=c6a.16xlarge。 すべてのインスタンスタイプは、同じプロセッサアーキテクチャ (x86_64 または arm64) と vCPUs の数を持つ必要があります。インスタンスに GPUs がある場合、すべてのインスタンスタイプに同じ数の GPUs が必要です。

aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-node-group \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='launch-template-version' \ --iam-instance-profile arn=arn:InstanceProfile \ --scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \ --instance-configs instanceType=t3.large

create-compute-node-group コマンドに追加できるオプションの設定がいくつかあります。

  • カスタム起動テンプレートに AMI への参照が含まれていない--amiIdか、その値を上書きするかを指定できます。ノードグループに使用される AMI は、 AWS PCS と互換性がある必要があることに注意してください。が提供するサンプル AMI を選択することもできます AWS。このトピックの詳細については、「」を参照してくださいAmazon マシンイメージ (AMIs) for AWS PCS

  • を使用して、オンデマンド (ONDEMAND) インスタンスとスポット (SPOT) インスタンスを選択できます--purchase-option。オンデマンドがデフォルトです。スポットインスタンスを選択した場合は、 --allocation-strategyを使用して、ノードグループ内のインスタンスを起動するときに AWS PCS がスポットキャパシティプールを選択する方法を定義することもできます。詳細については、「Amazon Elastic Compute Cloud ユーザーガイド」の「スポットインスタンスの配分戦略」を参照してください。

  • を提供できます。Slurm を使用したノードグループ内のノードの設定オプション--slurm-configuration。重み (スケジューリング優先度) と実際のメモリを設定できます。重みの低いノードは優先度が高く、単位は任意です。詳細については、「」の「重み」を参照してください。Slurm ドキュメント内) を参照してください。実メモリは、ノードグループ内のノードの実メモリのサイズ (GB 単位) を設定します。これは、 の in AWS PCS クラスターCR_CPU_Memoryのオプションと組み合わせて使用するためのものです。Slurm 設定。詳細については、「」のRealMemory」を参照してください。Slurm ドキュメント内) を参照してください。

重要

コンピューティングノードグループの作成には数分かかる場合があります。

次のコマンドを使用して、ノードグループのステータスをクエリできます。ステータスが に達するまで、ノードグループをキューに関連付けることはできませんACTIVE

aws pcs get-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-node-group