翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
でクラスターを作成する AWS CloudFormation
AWS ParallelCluster CloudFormation カスタムリソースを使用してクラスターを作成する方法を学びましょう。詳細については、「AWS CloudFormation カスタムリソース」を参照してください。
を使用する場合 AWS ParallelCluster、 AWS AWS ParallelCluster イメージやクラスターを作成または更新したときに作成されたリソースに対してのみ支払いが発生します。詳細については、「AWS ParallelCluster で使用されるサービス AWS」を参照してください。
前提条件:
-
AWS CLI がインストールされ、設定されます。
CloudFormation クイック作成スタックによるクラスター作成
このチュートリアルでは、クイック作成スタックを使用して、 CloudFormation クラスターと以下のリソースを作成するテンプレートをデプロイします。 AWS
-
CloudFormation CloudFormation クイック作成スタックを使用して作成されたルートスタック。
-
デフォルトポリシー、デフォルト VPC セットアップ、 CloudFormation カスタムリソースプロバイダーを含むネストスタック。
-
AWS ParallelCluster クラスタースタックの例と、ログインしてジョブを実行できるクラスターです。
でクラスターを作成します。 AWS CloudFormation
-
AWS Management Consoleにサインインします。
-
CloudFormation クイック作成リンクを開いて
、コンソールに以下のリソースを作成します。 CloudFormation -
クラスターヘッドノードとコンピュートノードをそれぞれ実行するためのパブリックサブネットとプライベートサブネットを持つ VPC CloudFormation を備えたネストスタック。
-
CloudFormation AWS ParallelCluster クラスターを管理するためのカスタムリソースを含むネストされたスタック。
-
CloudFormation クラスターを管理するためのデフォルトポリシーを含むネストスタック。
-
CloudFormation ネストされたスタックのルートスタック。
-
AWS ParallelCluster Slurmスケジューラーと定義済みの数のコンピュートノードを含むクラスター。
-
-
[クイック作成スタック] の [パラメータ] セクションで、以下のパラメータの値を入力します。
-
にはKeyName、EC2 key pair 名前を入力します。
-
AvailabilityZoneでは、クラスターノード用の AZ を選択します (例:)
us-east-1a
。
-
-
ページの下部で、チェックボックスを選択し、各アクセス機能を確認します。
-
[スタックの作成] を選択します。
-
CloudFormation
CREATE_COMPLETE
スタックがその状態になるまで待ちます。
AWS CloudFormation コマンドラインインターフェイス (CLI) によるクラスター作成
このチュートリアルでは、 AWS コマンドラインインターフェイス (CLI) を使用して、 CloudFormation CloudFormation クラスターを作成するテンプレートをデプロイします。
AWS 以下のリソースを作成します。
-
CloudFormation CloudFormation クイック作成スタックを使用して作成されたルートスタック。
-
デフォルトポリシー、デフォルト VPC セットアップ、 CloudFormation カスタムリソースプロバイダーを含むネストスタック。
-
AWS ParallelCluster クラスタースタックの例と、ログインしてジョブを実行できるクラスターです。
キーペア
など、赤で強調表示されている入力
を独自の値に置き換えます。
でクラスターを作成します。 AWS CloudFormation
-
CloudFormation
cluster_template.yaml
以下の内容を含むという名前のテンプレートを作成します。AWSTemplateFormatVersion: '2010-09-09' Description: > AWS ParallelCluster CloudFormation Template Parameters: KeyName: Description: KeyPair to login to the head node Type: AWS::EC2::KeyPair::KeyName AvailabilityZone: Description: Availability zone where instances will be launched Type: AWS::EC2::AvailabilityZone::Name Default: us-east-2a Mappings: ParallelCluster: Constants: Version: 3.7.0 Resources: PclusterClusterProvider: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/custom_resource/cluster.yaml - { Version: !FindInMap [ParallelCluster, Constants, Version] } PclusterVpc: Type: AWS::CloudFormation::Stack Properties: Parameters: PublicCIDR: 10.0.0.0/24 PrivateCIDR: 10.0.16.0/20 AvailabilityZone: !Ref AvailabilityZone TemplateURL: !Sub - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/networking/public-private-${Version}.cfn.json - { Version: !FindInMap [ParallelCluster, Constants, Version ] } PclusterCluster: Type: Custom::PclusterCluster Properties: ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ] ClusterName: !Sub 'c-${AWS::StackName}' ClusterConfiguration: Image: Os: alinux2 HeadNode: InstanceType: t2.medium Networking: SubnetId: !GetAtt [ PclusterVpc , Outputs.PublicSubnetId ] Ssh: KeyName: !Ref KeyName Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-cr0 InstanceType: t2.micro Networking: SubnetIds: - !GetAtt [ PclusterVpc , Outputs.PrivateSubnetId ] Outputs: HeadNodeIp: Description: The Public IP address of the HeadNode Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ]
-
次の AWS CLI コマンドを実行して、 CloudFormation クラスターの作成と管理のためのスタックをデプロイします。
$
aws cloudformation deploy --template-file
./cluster_template.yaml
\ --stack-namemycluster
\ --parameter-overrides KeyName=keypair
\ AvailabilityZone=us-east-2b
\ --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
CloudFormation クラスター出力を表示します。
CloudFormation クラスター出力を表示して、有用なクラスターの詳細情報を取得します。追加された ValidationMessages
プロパティにより、クラスターの作成および更新操作からの検証メッセージにアクセスできます。
-
CloudFormation コンソールに移動し
、 AWS ParallelCluster カスタムリソースを含むスタックを選択します。 -
[スタックの詳細] を選択し、[出力] タブを選択します。
検証メッセージは切り詰められることがあります。ログの取得の詳細については、「AWS ParallelCluster トラブルシューティング」を参照してください。
クラスターへのアクセス
クラスターへのアクセス
クラスターヘッドノードの ssh
-
CloudFormation スタックのデプロイが完了したら、以下のコマンドでヘッドノードの IP アドレスを取得します。
$
HEAD_NODE_IP=$(aws cloudformation describe-stacks --stack-name=
mycluster
--query "Stacks|[0].Outputs[?OutputKey=='HeadNodeIp']|[0].OutputValue" --output=text)CloudFormation コンソールのクラスタースタックの Outputs HeadNodeIpタブのパラメーターからヘッドノードの IP アドレスを取得することもできます。
ヘッドノードの IP
Outputs
CloudFormation アドレスはクラスターテンプレートのセクションに追加されたため、ここで確認できます。このサンプルクラスター専用です。 -
次のコマンドを実行して、クラスターヘッドノードに接続します。
$
ssh -i
keyname.pem
ec2-user@$HEAD_NODE_IP
クリーンアップ
クラスターを削除します。
-
次の AWS CLI コマンドを実行して、 CloudFormation スタックとクラスターを削除します。
$
aws cloudformation delete-stack --stack-name=
mycluster
-
次のコマンドを実行してスタックの削除ステータスを確認します。
$
aws cloudformation describe-stacks --stack-name=
mycluster