

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 佈建的登入節點 AWS ParallelCluster
<a name="login-nodes-v3"></a>

從 3.7.0 版開始， AWS ParallelCluster 叢集管理員可以佈建登入節點，用來提供使用者執行任務的存取權，而不是直接存取叢集前端節點。  具有適當許可的叢集使用者可以使用 Active Directory 或其 SSH 登入資料來登入、提交和管理其任務。因此，可以改善叢集管理，而且可以將Slurm管理叢集所需的前端節點資源消耗的機會降至最低。登入的使用者也可以存取掛載在登入節點上的叢集的所有共用儲存。如果需要停止登入 節點，登入的使用者將透過其正在使用的作用中 shell 工作階段預先收到通知。

 登入節點指定為集區 ，其中集區會定義具有相同資源組態的登入節點群組。集區中的所有登入節點都設定為[網路負載平衡器](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 的一部分，以循環方式跨登入節點分配工作階段。目前的實作允許使用者指定多個登入節點集區。

# 登入節點的安全性
<a name="login-nodes-security"></a>

登入節點[`AllowedIps`](HeadNode-v3.md#yaml-HeadNode-Ssh-AllowedIps)會從前端節點繼承 `AllowedIPs` 設定，除非為[登入節點集](LoginNodes-v3.md#LoginNodes-v3-Pools)區指定 AllowedIps。以這種方式，叢集管理員可以透過指定來源 CIDR 或字首清單來限制叢集的安全狀態，在前端節點或登入節點集區上允許 SSH 連線。

 目前實作中，啟用登入節點時不會自動限制對前端節點的存取。如有需要，叢集管理員可以使用標準 Linux 命令來限制此存取更新前端節點 SSH 組態。您也可以使用  ParallelCluster YAML 檔案的前端節點區段中的 `AdditionalSecurityGroups` 設定，拒絕來自未經授權使用者的連線，在前端節點上指定自訂安全群組來完成此操作。

# 登入節點的網路
<a name="login-nodes-networking"></a>

登入節點是以單一連線地址佈建到為登入節點集區設定的網路負載平衡器。地址的連線設定是根據登入節點集區組態中指定的子網路類型。
+ 如果子網路是私有的，地址將是私有的，而且為了授予登入節點的存取權，叢集管理員必須佈建堡壘主機。
+ 如果子網路為公有，則該地址將為公有 

所有連線請求都是由 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 用戶端會將每個目標地址的主機識別符存放在本機。由於主機識別符是特定於每個集區，因此使用不同的 IPs和/或單一連線地址可能會有與不同目標地址相關聯的相同主機識別符：這可能會導致 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
```