

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

# によってプロビジョニングされたログインノード AWS ParallelCluster
<a name="login-nodes-v3"></a>

バージョン 3.7.0 以降、 AWS ParallelCluster クラスター管理者は、クラスターヘッドノードに直接アクセスするのではなく、ジョブを実行するためのアクセスをユーザーに提供するために使用できるログインノードをプロビジョニングできます。  適切なアクセス許可を持つクラスターユーザーは、Active Directory または SSH 認証情報を使用して、ジョブのログイン、送信、管理を行うことができます。その結果、クラスター管理が改善され、Slurm でクラスター管理に必要なヘッドノードのリソースを使い果たす可能性を最小限に抑えることができます。ログインしたユーザーは、ログインノードにマウントされているクラスターのすべての共有ストレージにもアクセスできます。ログイン ノードを停止する必要がある場合、ログインしているユーザーは、使用しているアクティブなシェルセッションを通じて事前に通知されます。

 ログインノードはプールとして指定され、プールは同じリソース設定を持つログインノードのグループを定義します。プール内のすべてのログインノードは、ラウンドロビン方式でログインノード全体にセッションを分散できる [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) の一部となるように設定されます。現在の実装では、複数のログインノードプールを指定することをユーザーに許可します。

# ログインノードのセキュリティ
<a name="login-nodes-security"></a>

ログインノードは、ヘッドノードから `AllowedIPs` 設定 [`AllowedIps`](HeadNode-v3.md#yaml-HeadNode-Ssh-AllowedIps) を継承します。ただし、[ログインノードプール](LoginNodes-v3.md#LoginNodes-v3-Pools)に AllowedIps が指定されている場合を除きます。このようにして、クラスター管理者は、ソース CIDR またはプレフィックスリストを指定して、クラスターのセキュリティ体制を制限できます。これにより、ヘッドノードまたはログインノードのプールで SSH 接続が許可されます。

 現在の実装では、ログインノードを有効にしてもヘッドノードへのアクセスは自動的に制限されません。必要に応じて、クラスター管理者は標準の Linux コマンドを使用してヘッドノードの SSH 設定を更新することで、このアクセスを制限できます。これは、ParallelCluster YAML ファイルのヘッドノードセクションの `AdditionalSecurityGroups` 設定を使用してヘッドノードにカスタムセキュリティグループを指定し、権限のないユーザーからの接続を拒否することによっても実現できます。

# ログインノードのネットワーク
<a name="login-nodes-networking"></a>

ログインノードには、ログインノードのプール用に設定された Network Load Balancer への単一の接続アドレスがプロビジョニングされます。アドレスの接続設定は、ログインノードのプール設定で指定されたサブネットのタイプに基づいています。
+ サブネットがプライベートの場合、アドレスはプライベートになります。ログインノードへのアクセスを許可するには、クラスター管理者が踏み台ホストをプロビジョニングする必要があります。
+ サブネットがパブリックの場合、アドレスはパブリックになります。

すべての接続リクエストは、ラウンドロビンルーティングを使用して Network Load Balancer によって管理されます。

# ログインノードのストレージ
<a name="login-nodes-storage"></a>

マネージドストレージを含め、ParallelCluster を使用してクラスターに設定されたすべての共有ストレージは、すべてのログインノードにマウントされます。

 **ログインノード情報の取得** 

ログインノードにアクセスするためにプロビジョニングされた単一接続のアドレスを取得するために、クラスター管理者は [`describe-cluster`](pcluster.describe-cluster-v3.md) コマンドを実行できます。このコマンドは、ログインノードのステータスに関する詳細情報も提供します。

ログインノードは ParallelCluster でサポートされる新しいノードタイプで、特定のノードタイプのステータスを問い合わせる際にコマンド [`describe-cluster-instances`](pcluster.describe-cluster-instances-v3.md) で指定できます。

 ログインノードプールへの単一接続アドレスが使用可能であっても、特定のログインノードへの直接アクセスが妨げられることはありません。ただし、SSH クライアントからの警告を避けるために直接接続を使用することはお勧めしません。SSH クライアントは、ターゲットアドレスごとにホスト識別子をローカルに保存します。ホスト識別子はプールごとに固有であるため、異なる IP アドレスや単一接続アドレスを使用すると、同じホスト識別子が異なるターゲットアドレスに関連付けられることがあります。そのため、同じホスト 識別子が複数のターゲットに関連付けられているので、SSH クライアントから警告が表示されることがあります。

# ログインノードの Imds プロパティ
<a name="login-nodes-imds"></a>

ログインノードの IMDS (およびインスタンスプロファイル認証情報) へのアクセスは、ルートユーザー、クラスター管理ユーザー (デフォルトで `pc-cluster-admin`)、およびオペレーティングシステム固有のデフォルトユーザー (Amazon Linux 2 および RedHat の `ec2-user`、Ubuntu 18.04 の `ubuntu`) に制限されます。

IMDS アクセスを制限するには、 がチェーン AWS ParallelCluster を管理します`iptables`。

**注記**  
`iptables` または `ip6tables` ルールをカスタマイズすると、ログインノードの IMDS アクセスを制限するメカニズムを妨げる可能性があります。「[`Imds property setting`](HeadNode-v3.md#HeadNode-v3-Imds)」も参照してください。

# ログインノードのライフサイクル
<a name="login-nodes-lifecycle"></a>

現在、プール内のログインノードを停止および起動するための専用コマンドはありません。プール内のログインノードを停止するには、クラスター管理者がログインノードの数をゼロ (`Count: 0`) に指定してクラスター設定を更新し、[`pcluster.update-cluster-v3`](pcluster.update-cluster-v3.md) コマンドを実行する必要があります。

**注記**  
ログインしているユーザーには、特定のインスタンスの終了およびそれに関連する猶予期間が通知されます。猶予期間中は、[クラスターのデフォルトユーザー](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html)からの接続を除き、新しい接続は許可されません。表示されるメッセージは、クラスター管理者がヘッドノードまたはログインノードからファイル `/opt/parallelcluster/shared_login_nodes/loginmgtd_config.json` を編集してカスタマイズできます。この終了メッセージは、[AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)Session Manager を使用して接続している場合に表示されません。

 ログインノードプールを起動するために、クラスター管理者はクラスター設定内の以前の `Count` 値を復元してから [`update-cluster`](pcluster.update-cluster-v3.md) コマンドを実行する必要があります。

# ログインノードプールの実行に必要なアクセス許可
<a name="login-nodes-permissions"></a>

ログインノードプールを管理するために、クラスター管理者は以下の追加のアクセス許可を持っている必要があります。

```
            - Action:
              - iam:CreateServiceLinkedRole
              - autoscaling:DeleteAutoScalingGroup
              - autoscaling:DeleteLifecycleHook
              - autoscaling:Describe*
              - autoscaling:PutLifecycleHook
              - autoscaling:UpdateAutoScalingGroup
              - elasticloadbalancing:CreateListener
              - elasticloadbalancing:CreateTargetGroup
              - elasticloadbalancing:DeleteListener
              - elasticloadbalancing:DeleteLoadBalancer
              - elasticloadbalancing:DeleteTargetGroup
              - elasticloadbalancing:Describe*
              - elasticloadbalancing:ModifyLoadBalancerAttributes
            Resource: '*'
            Condition:
              ForAllValues:StringEquals:
                aws:TagKeys: [ "parallelcluster:cluster-name" ]
            - Action:
              - autoscaling:CreateAutoScalingGroup
              - autoscaling:DeleteTags
              - autoscaling:CreateOrUpdateTags
              - elasticloadbalancing:AddTags
              - elasticloadbalancing:CreateLoadBalancer
              - elasticloadbalancing:RemoveTags
              - elasticloadbalancing:ModifyTargetGroup
            Resource: '*'
            Effect: Allow
```