でのクラスターシークレットの使用 AWS PCS - AWS PCS

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

でのクラスターシークレットの使用 AWS PCS

クラスターの作成の一環として、 AWS PCSはクラスターのジョブスケジューラに接続するために必要なクラスターシークレットを作成します。また、スケーリングイベントに応じて起動するインスタンスのセットを定義するコンピューティングノードグループを作成します AWS PCS。 AWS PCS は、それらのコンピューティングノードグループによって起動されるインスタンスをクラスターシークレットで設定して、ジョブスケジューラに接続できるようにします。Slurm クライアントを手動で設定する場合があります。例としては、永続ログインノードの構築や、ジョブ管理機能を備えたワークフローマネージャーの設定などがあります。

AWS PCS は、 pcs!に プレフィックスを持つ マネージドシークレットとしてクラスターシークレットを保存します AWS Secrets Manager。シークレットのコストは、 の使用料金に含まれています AWS PCS。

警告

クラスターシークレットを変更しないでください。 AWS PCSクラスターシークレットを変更した場合、 はクラスターと通信できません。 AWS PCS はクラスターシークレットのローテーションをサポートしていません。クラスターシークレットを変更する必要がある場合は、新しいクラスターを作成する必要があります。

Slurm クラスターシークレットを検索する

AWS PCSマネージドシークレットは、 AWS Secrets Manager コンソールまたは を使用してAPI、または から直接 AWS PCS、またはタグを使用して見つけることができます。

AWS Secrets Manager を使用してクラスターシークレットを検索する

AWS Management Console
  1. [Secrets Manager console] (Secrets Managerのコンソール) に移動します。

  2. Secrets を選択し、pcs!プレフィックスを検索します。

注記

AWS PCS クラスターシークレットには、 cluster-idがクラスター ID pcs!slurm-secret-cluster-id である という形式の名前があります AWS PCS。

AWS CLI

各 AWS PCSクラスターシークレットには もタグ付けされますaws:pcs:cluster-id。クラスターのシークレット ID は、次のコマンドを使用して取得できます。コマンドを実行する前に、次の置換を行います。

  • regionに置き換え AWS リージョン て、 などの でクラスターを作成しますus-east-1

  • を AWS PCSクラスターの ID cluster-idに置き換えて、クラスターシークレットを検索します。

aws secretsmanager list-secrets \ --region region \ --filters Key=tag-key,Values=aws:pcs:cluster-id \ Key=tag-value,Values=cluster-id

を使用して AWS PCSクラスターシークレットを検索する

を使用して AWS CLI 、クラスターシークレットARNの AWS PCS を検索できます。次のコマンドを入力して、次の置換を行います。

  • regionに置き換え AWS リージョン て、 などの でクラスターを作成しますus-east-1

  • をクラスターの名前または識別子my-clusterに置き換えます。

aws pcs get-cluster --region region --cluster-identifier my-cluster

次の出力例は get-cluster コマンドからのものです。secretArn と をsecretVersion一緒に使用してシークレットを取得できます。

{ "cluster": { "name": "get-started", "id": "pcs_123456abcd", "arn": "arn:aws:pcs:us-east-1:111122223333:cluster/pcs_123456abcd", "status": "ACTIVE", "createdAt": "2024-09-23T21:03:52+00:00", "modifiedAt": "2024-09-23T21:03:52+00:00", "scheduler": { "type": "SLURM", "version": "23.11" }, "size": "SMALL", "slurmConfiguration": { "authKey": { "secretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:pcs!slurm-secret-pcs_123456abcd-a12ABC", "secretVersion": "ef232370-d3e7-434c-9a87-ec35c1987f75" } }, "networking": { "subnetIds": [ "subnet-0123456789abcdef0" ], "securityGroupIds": [ "sg-0123456789abcdef0" ] }, "endpoints": [ { "type": "SLURMCTLD", "privateIpAddress": "10.3.149.220", "port": "6817" } ] } }

Slurm クラスターシークレットを取得する

Secrets Manager を使用して、現在の base64 でエンコードされたバージョンの Slurm クラスターシークレットを取得できます。次の例では、 を使用します AWS CLI。コマンドを実行する前に、次の置換を行います。

  • regionに置き換え AWS リージョン て、 などの でクラスターを作成しますus-east-1

  • をクラスターsecretArnsecret-arnに置き換えます AWS PCS。

aws secretsmanager get-secret-value \ --region region \ --secret-id 'secret-arn' \ --version-stage AWSCURRENT \ --query 'SecretString' \ --output text

Slurm クラスターシークレットの使用方法については、「」を参照してくださいログインノードとしての AWS PCSスタンドアロンインスタンスの使用

アクセス許可

IAM プリンシパルを使用して Slurm クラスターシークレットを取得します。IAM プリンシパルには、シークレットを読み取るアクセス許可が必要です。詳細については、AWS Identity and Access Management 「 ユーザーガイド」の「ロールの用語と概念」を参照してください。

次のサンプルIAMポリシーでは、サンプルクラスターシークレットへのアクセスを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSecretValueRetrievalAndVersionListing", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:us-east-1:012345678901:secret:pcs!slurm-secret-s3431v9rx2-FN7tJF" } ] }