翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudFormation カスタムリソース
AWS ParallelCluster バージョン 3.6.0 以降、 AWS ParallelCluster CloudFormation スタック内のカスタムリソースを使用できます。 AWS CloudFormation AWS ParallelCluster カスタムリソースはホストスタックです。これにより、クラスターの設定と管理を行うことができます。 CloudFormation たとえば、ネットワーク、共有ストレージ、 CloudFormation セキュリティグループインフラストラクチャーなどのクラスター外部リソースをスタックに設定できます。さらに、 CloudFormation インフラストラクチャーをコードパイプラインとしてクラスターを管理できます。
以下を実行して、 AWS ParallelCluster CloudFormation カスタムリソースをテンプレートに追加します。
-
が所有およびホストするカスタムリソースプロバイダースタックを追加します AWS ParallelCluster。
-
CloudFormation テンプレート内のプロバイダースタックをカスタムリソースとして参照します。
CloudFormation カスタムリソースプロバイダースタックはリクエストを処理し、それに応答します。たとえば、 CloudFormation スタックをデプロイするときには、クラスターの設定と作成も行います。クラスターを更新するには、 CloudFormation スタックを更新します。スタックを削除すると、クラスターも削除されます。 CloudFormation カスタムリソースについて詳しくは、『AWS CloudFormation ユーザーガイド』の「カスタムリソース」を参照してください。
警告
CloudFormation カスタムリソースのドリフトは検出されません。 CloudFormation クラスター構成の更新とクラスターの削除にのみ使用してください。
pcluster CLI または AWS ParallelCluster UI を使用してクラスターの状態をモニタリングしたり、コンピューティングフリートを更新したりできますが、クラスター設定の更新やクラスターの削除には使用しないでください。
注記
間違って削除しないようにするため、スタックに削除保護を追加することをお勧めします。
がホストするプロバイダースタック AWS ParallelCluster
カスタムリソースプロバイダースタックは、 CloudFormation 以下のテンプレートスニペットに示すような形式になっています。
PclusterClusterProvider: Type: AWS::CloudFormation::Stack Properties: Parameters: CustomLambdaRole: # (Optional) RoleARN to override default AdditionalIamPolicies: # (Optional) comma-separated list of IAM policies to add TemplateURL: !Sub - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/custom_resource/cluster.yaml - { Version: 3.7.0 }
- プロパティ:
-
- パラメータ:
-
- CustomLambdaRole (オプション):
-
クラスターの作成および管理を行う AWS Lambda を実行するためのアクセス許可を持つカスタムロール。デフォルトでは、ロールは「AWS ParallelCluster documentation」でデフォルトで定義されているのと同じポリシーを使用します。
- AdditionalIamPolicies (オプション):
-
Lambda が使用するロールに追加する IAM ポリシーの Amazon リソースネーム (ARN) のカンマ区切りリスト。これは
CustomLambdaRole
が指定されていない場合にのみ使用され、空白のままでも構いません。ヘッドノード、コンピューティングノード、または Amazon S3 バケットへのアクセスに追加のポリシーが必要な場合、
CustomLambdaRole
またはAdditionalIamPolicy
プロパティにポリシーを追加します。デフォルトポリシーの詳細については、「AWS Identity and Access Management の権限 AWS ParallelCluster」を参照してください。
- TemplateURL (必須):
-
AWS ParallelCluster カスタムリソースファイル URL。
- 出力:
-
- ServiceToken:
-
カスタムリソース
ServiceToken
プロパティとして使用できる値。ServiceToken
AWS CloudFormation カスタムリソースはリクエストの送信先を指定します。これは、 AWS CloudFormation テンプレートに含めるクラスターリソースに必要な入力です。 - LogGroupArn:
-
基盤となるリソースのログイン先の ARN。 CloudWatch
LogGroup
- LambdaLayerArn:
-
オペレーションの実行に使用される Lambda レイヤーの ARN。 AWS ParallelCluster
クラスターリソース
CloudFormation クラスターリソースは、次のテンプレートスニペットに示すようにフォーマットされています。 CloudFormation
PclusterCluster: Type: Custom::PclusterCluster Properties: ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ] ClusterName: !Sub 'c-${AWS::StackName}' # Must be different from StackName ClusterConfiguration: # Your Cluster Configuration
- プロパティ:
-
- ServiceToken:
-
AWS ParallelCluster
ServiceToken
プロバイダースタックの出力。 - ClusterName:
-
作成および管理するクラスターの名前。 CloudFormation 名前はスタックの名前と一致してはいけません。クラスターの作成後に名前を変更することはできません。
- ClusterConfiguration:
-
クラスター設定ファイル で説明されているクラスター設定 YAML ファイル。ただし、 CloudFormation 組み込み関数などの通常の構成は使用できます。
- DeletionPolicy:
-
ルートスタックが削除された際にクラスターを削除するかどうかを定義します。デフォルトは
Delete
です。- Retain:
-
カスタムリソースが削除されても、クラスターは保持されます。
注記
保持されたクラスターの機能を維持するには、ストレージやネットワークなどクラスターに依存するリソースの削除ポリシーが保持に設定されている必要があります。
- Delete:
-
カスタムリソースが削除された場合、クラスターは削除されます。
Fn::GetAtt
戻り値:-
Fn::GetAtt
組み込み関数は、このタイプの指定された属性の値を返します。Fn::GetAtt intrinsic
この関数の使用方法について詳しくは、Fn:: を参照してください。GetAtt- ClusterProperties:
-
pcluster describe-cluster オペレーションの値。
- validationMessages:
-
前回の作成または更新操作中に発生したすべての検証メッセージを含む文字列。
- logGroupName:
-
Lambda クラスターオペレーションのログ記録に使用されるロググループの名前。ログイベントは 90 日間保持され、ロググループはクラスターの削除後も保持されます。
例: Fn::GetAtt
:
# Provide the public IP address of the head node as an output of a stack Outputs: HeadNodeIp: Description: The public IP address of the head node Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ]
例: CloudFormation AWS ParallelCluster カスタムリソースを含むシンプルで完全なテンプレート:
AWSTemplateFormatVersion: '2010-09-09' Description: > AWS ParallelCluster CloudFormation Template Parameters: HeadNodeSubnet: Description: Subnet where the HeadNode will run Type: AWS::EC2::Subnet::Id ComputeSubnet: Description: Subnet where the Compute Nodes will run Type: AWS::EC2::Subnet::Id KeyName: Description: KeyPair to login to the head node Type: AWS::EC2::KeyPair::KeyName 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: 3.7.0 } 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: !Ref HeadNodeSubnet Ssh: KeyName: !Ref KeyName Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-cr0 InstanceType: t2.micro Networking: SubnetIds: - !Ref ComputeSubnet Outputs: HeadNodeIp: Description: The Public IP address of the HeadNode Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ] ValidationMessages: Description: Any warnings from cluster create or update operations. Value: !GetAtt PclusterCluster.validationMessages
CloudFormation AWS ParallelCluster カスタムリソースの使用方法の詳細については、「」を参照してくださいでクラスターを作成する AWS CloudFormation。
クラスターオペレーション
CloudFormation クラスターカスタムリソースをスタックに追加すると、 CloudFormation 以下のクラスター操作を実行できます。
-
CloudFormation AWS ParallelCluster カスタムリソースを含むスタックをデプロイするときに、新しい別のスタックにクラスターを作成します。
-
スタックに定義されているクラスター設定を設定更新ポリシーに従って更新すると、 CloudFormation クラスターが更新されます。 AWS ParallelCluster カスタムリソースプロバイダーは、クラスターを更新する前にコンピュート群を停止しません。クラスターの更新には QueueUpdateStrategy 設定を使用することをお勧めします。これにより、 AWS ParallelCluster カスタムリソースを使用するときに、
pcluster update-compute-fleet
更新の前後に明示的な呼び出しを行う必要がなくなります。 -
スタックを削除すると、クラスターは削除されます。
カスタムリソースを含むスタックのトラブルシューティング AWS ParallelCluster
AWS ParallelCluster カスタムリソースでは、 CloudFormation 新しい別のスタックからクラスターをデプロイします。以下の手順を実行して、クラスターの作成をモニタリングできます。
-
に移動し、 CloudFormation AWS Management Console ナビゲーションペインで [Stacks] を選択します。
-
クラスター名に定義した名前のスタックを選択します。
-
スタックの状態が
ROLLBACK_COMPLETE
の場合、クラスターの作成中にエラーが発生しました。 -
[スタックの詳細] を選択し、[イベント] タブを選択します。
-
クラスター名として定義した名前の [論理 ID] で [イベント] を検索します。問題の原因を表す
Status reason
が示されます。 -
[スタック] ドロップダウンメニューから [削除] を選択して、削除されたスタックのリストを表示することもできます。クラスター名を含むスタックを選択し、[イベント] から詳細を確認してください。
-
クラスターを管理するカスタムリソースプロバイダーからの出力を表示するには、「Cluster Custom Resource」AWS ParallelCluster という説明の付いたスタックを選択します。[リソース] タブを選択し、[論理 ID]
PclusterCfnFunctionLogGroup
を持つリソースを探して、指定されたリンクに従います。Lambda デバッグ出力を示すログストリームを表示します。 -
クラスターのトラブルシューティングについては、「AWS ParallelCluster トラブルシューティング」を参照してください。