RHEL 8.5 버전에서 NICE DCV를 인스톨하고 원격 접속해 보기

RHEL 8.5 버전에서 NICE DCV를 인스톨하고 원격 접속해 보는 방법을 정리해 봤습니다.
2023.07.22

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 RHEL 8.5 버전에서 NICE DCV를 인스톨하고 원격 접속해 보는 방법을 정리해 봤습니다.

사전 준비

먼저 EC2 인스턴스에 직접 NICE DCV를 인스톨 할 것 인지, NICE DCV가 설치된 AMI를 이용할 것 인지 선택을 해야하지만, AWS Marketplace에서 확인해 보면 RHEL용 NICE DCV는 없습니다.

현재 제공하고 있는 OS로는 Windows와 Linux입니다.

그렇기 때문에 이번 블로그에서는 NICE DCV를 직접 RHEL에 인스톨 후 접속해 보도록 하겠습니다.

EC2 인스턴스 생성 내용은 다음과 같습니다.

  • RHEL-8.5_HVM-20220127-x86_64-3-Hourly2-GP2
  • r6i.8xlarge
  • Public Subnet
    • 테스트용이기 때문에 Public Subnet에 배치 했습니다.

공식 문서에서는 NICE DCV를 이용할 경우 EC2 인스턴스 타입을 G3, G4dn 또는 G4ad를 사용할 것을 권장하고 있습니다만, RHEL 8.5에서는 vCPU의 서비스 한도를 초과해 버리기 때문에 G3, G4dn 또는 G4ad 선택이 불가능 합니다.

G3, G4dn 또는 G4ad 인스턴스 타입을 사용하기 위해서는 서비스 한도 요청을 해야하는데, 이번 블로그에서는 생략하고 r6i.8xlarge 타입으로 EC2 인스턴스를 생성하겠습니다.

서비스 할당량에 관해서는 아래 공식 문서를 참고해 주세요.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::dcv-license.ap-northeast-1/*"
        }
    ]
}

또 한, NICE DCV를 이용하기 위해서는 S3 버킷에 대한 접근 권한을 설정해줘야 하는데, 그 이유로는 정기적으로 EC2 인스턴스에서 NICE DCV의 라이센스 권한을 확인하기 위해서입니다.

마지막으로 NICE DCV는 8443 포트를 사용하기 때문에 보안 그룹을 설정합니다.

RHEL에 NICE DCV 인스톨

대상 EC2 인스턴스에 접속한 다음, 인스톨을 위한 사전 준비를 시작합니다.

sudo -i
yum upgrade -y
yum groupinstall 'Server with GUI'
yum upgrade -y

데스크톱 환경 및 데스크톱 관리자를 설치합니다.

vi /etc/gdm/custom.conf

[daemon]
WaylandEnable=false

systemctl restart gdm
yum install glx-utils
DISPLAY=:0 XAUTHORITY=$(ps aux | grep "X.*\-auth" | grep -v grep | sed -n 's/.*-auth \([^ ]\+\).*/\1/p') glxinfo | grep -i "opengl.*version"
reboot

이어서, custom.conf에서 Wayland 프로토콜을 비활성화합니다.

그 이후, glxinfo 유틸리티 설치, OpenGL 소프트웨어 렌더링 확인을 진행하고 한 번 재부팅을 합니다.

재부팅이 끝났으면, 이제 NICE DCV를 설치하도록 하겠습니다.

sudo -i
mkdir nice-dcv
cd nice-dcv
sudo rpm --import https://d1uj6qtbmh3dt5.cloudfront.net/NICE-GPG-KEY
wget https://d1uj6qtbmh3dt5.cloudfront.net/2023.0/Servers/nice-dcv-2023.0-15487-el7-x86_64.tgz
tar -xvzf nice-dcv-2023.0-15487-el7-x86_64.tgz && cd nice-dcv-2023.0-15487-el7-x86_64
yum install nice-dcv-server-2023.0.15487-1.el7.x86_64.rpm
yum install nice-xdcv-2023.0.551-1.el7.x86_64.rpm
yum install nice-dcv-simple-external-authenticator-2023.0.208-1.el7.x86_64.rpm

NICE DCV를 인스톨 합니다.

그 외, 가상 세션을 활성화 하기 위한 추가 설치도 진행합니다.

NICE DCV 이외 인스톨의 경우 선택 사항이므로 상황에 맞게 설치합니다.

systemctl start dcvserver
systemctl enable dcvserver
systemctl status dcvserver

서비스를 시작합니다.

세션 생성

이제 마지막으로 원격 접속을 위해서 세션을 생성 해야합니다.

dcv list-sessions
There are no sessions available.

해당 명령어로 활성화 된 세션을 확인해 보면 아무것도 없는 것을 확인할 수 있습니다.

세션에는 콘솔 세션과 가상 세션이 있는데, 자세한 내용은 아래 공식 문서를 참고해 주세요.

먼저 콘솔 세션의 경우 자동 콘솔 세션을 활성화하면 NICE DCV 서버가 시작될 때마다 콘솔 세션이 자동으로 생성됩니다.

vi /etc/dcv/dcv.conf

[session-management]
create-session = true

[session-management/automatic-console-session]
owner="session-owner"

systemctl restart dcvserver

dcv.conf에서 자동 콘솔 세션을 활성화합니다.

그리고 다시 서비스를 재시작합니다.

dcv list-sessions
Session: 'console' (owner:dcv type:console)

다시 세션 리스트를 확인해 보면 콘솔 세션이 생성된 것을 확인할 수 있습니다.

dcv list-sessions
Session: 'console' (owner:dcv type:console)
dcv close-session console
dcv create-session virtual --owner root
Session: 'virtual' (owner:root type:virtual)

이번에는 가상 세션을 생성해 보겠습니다. 기존에 생성한 콘솔 세션을 삭제하고, 가상 세션을 만듭니다.

가상 세션의 경우 콘솔 세션과는 다르게, 자동 생성 기능이 없으므로 가상 세션으로 접속하고자 하는 경우에는 직접 세션을 활성화 시킬 필요가 있습니다.

passwd root

마지막으로 해당 명령어로 서버의 비밀번호를 설정합니다.

해당 비밀번호는 NICE DCV에 접속하기 위해서 필요합니다.

NICE DCV Client로 원격 접속

이제 NICE DCV Client로 원격 접속해 보도록 하겠습니다.

NICE DCV Client 인스톨은 아래 공식 문서를 참고해 주세요.

접속하고자 하는 서버의 IP 주소를 입력하고「Connect」를 클릭합니다.

유저명과 비밀번호를 입력하고, 로그인합니다.

그러면 성공적으로 NICE DCV를 통해 해당 서버로 접속된 것을 확인할 수 있습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !