

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 에서 프로비저닝한 로그인 노드 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>

[로그인 노드 풀](LoginNodes-v3.md#LoginNodes-v3-Pools)에 대해 AllowedIps가 지정되지 않은 한 로그인 노드는 헤드 노드에서 `AllowedIPs` 설정 [`AllowedIps`](HeadNode-v3.md#yaml-HeadNode-Ssh-AllowedIps)를 상속합니다. 이러한 방식으로 클러스터 관리자는 헤드 노드 또는 로그인 노드 풀에서 SSH 연결이 허용되는 소스 CIDR 또는 접두사 목록을 지정하여 클러스터의 보안 태세를 제한할 수 있습니다.

 현재 구현에서는 로그인 노드를 활성화할 때 헤드 노드에 대한 액세스가 자동으로 제한되지 않습니다. 필요한 경우 클러스터 관리자는 표준 Linux 명령을 사용하여 헤드 노드의 ssh 구성을 업데이트하여 이러한 액세스를 제한할 수 있습니다. ParallelCluster YAML 파일의 헤드 노드 섹션에 있는 `AdditionalSecurityGroups` 설정을 사용하여 승인되지 않은 사용자의 연결을 거부함으로써 헤드 노드에 사용자 지정 보안 그룹을 지정하는 방법으로도 이 작업을 수행할 수 있습니다.

# 로그인 노드에 대한 네트워킹
<a name="login-nodes-networking"></a>

로그인 노드에는 로그인 노드 풀용으로 구성된 Network Load Balancer에 대한 단일 연결 주소가 제공됩니다. 주소의 연결 설정은 로그인 노드 풀 구성에 지정된 서브넷 유형을 기반으로 합니다.
+ 서브넷이 프라이빗인 경우 주소는 프라이빗이 되며, 로그인 노드에 대한 액세스 권한을 부여하려면 클러스터 관리자가 Bastion Host를 프로비저닝해야 합니다.
+ 서브넷이 퍼블릭인 경우 주소는 퍼블릭입니다.

모든 연결 요청은 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`) 수에 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) 세션 관리자를 사용하여 연결한 경우에는이 종료 메시지가 표시되지 않습니다.

 로그인 노드 풀을 시작하려면 클러스터 관리자가 클러스터 구성의 이전 `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
```