Amazon Linux 2를 실행하는 Amazon EC2 인스턴스에 GUI를 설치하려면 어떻게 해야 합니까?

6분 분량
1

Amazon Linux 2(AL2)를 실행하는Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 GUI(그래픽 사용자 인터페이스)를 설치하려고 합니다.

간략한 설명

Linux에서 그래픽 애플리케이션을 실행하려면 데스크톱 환경이 필요합니다. AL2용 표준 Amazon Machine Image(AMI)에는 기본적으로 데스크톱 환경이 설치되어 있지 않습니다. AL2 추가 라이브러리를 사용하여 MATE 데스크톱 환경을 설치하십시오. 자세한 내용은 MATE 웹사이트에서 MATE 데스크톱 환경을 참조하십시오.

또는 MATE가 사전 설치된 상태로 제공되는 AL2 AMI에서 인스턴스를 시작합니다. 자세한 내용은 AL2 MATE 데스크톱 연결 구성을 참조하십시오. Amazon WorkSpaces에서 가상 데스크톱을 사용하여 AL2, Ubuntu Linux, Rocky Linux, Red Hat Enterprise Linux(RHEL) 또는 Microsoft Windows를 실행할 수도 있습니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

다음 해결 방법은 AL2에만 해당됩니다. Linux 배포 이름과 버전을 확인하려면 다음 명령을 실행합니다.

grep PRETTY_NAME /etc/os-release

배스천(점프) 인스턴스를 사용하여 퍼블릭이 아닌 서브넷의 다른 EC2 인스턴스에 연결하는 환경에서는 다음 해결 단계를 사용할 수 없습니다. 인터넷에 직접 연결되지 않는 EC2 인스턴스에 안전하게 연결하려면 EC2 인스턴스 연결 엔드포인트 또는 AWS Systems Manager의 한 기능인 Session Manager를 사용하십시오. 또는 AWS Site-to-Site VPN이나 AWS Direct Connect를 사용하여 네트워크와 AWS 간에 보안 연결을 설정하십시오.

인스턴스 업데이트

문제를 방지하려면 GUI를 설치하기 전에 인스턴스를 업데이트하고 재부팅하는 것이 좋습니다.

인스턴스를 업데이트하려면 다음 단계를 완료하십시오.

  1. Amazon EC2 인스턴스에 연결합니다.

  2. 다음 명령을 실행하여 인스턴스를 업데이트합니다.

    sudo yum update
  3. 인스턴스를 재부팅합니다.

MATE 데스크톱 환경 설치

MATE 데스크톱 환경을 설치하려면 다음 단계를 완료하십시오.

  1. MATE 패키지를 설치하려면 다음 명령을 실행합니다.

    sudo amazon-linux-extras install mate-desktop1.x
  2. 모든 사용자를 위한 기본 데스크톱 환경으로 MATE를 정의하려면 다음 명령을 실행합니다.

    sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'

VNC 서버 설치

TigerVNC와 같은 가상 네트워크 컴퓨팅(VNC) 서버를 설치하여 원격 그래픽 데스크톱 서비스에 액세스합니다. TigerVNC에 대한 자세한 내용은 TigerVNC 웹사이트에서 TigerVNC를 참조하십시오.

보안상의 이유로 다음 구성에서는 TigerVNC를 통한 직접 연결을 허용하지 않습니다. 대신 암호화된 SSH 터널을 사용하여 GUI에 액세스해야 합니다. 보안 그룹에서는 VNC 포트를 열지 않는 것이 좋습니다.

TigerVNC를 설치하려면 다음 단계를 완료하십시오.

  1. TigerVNC 서버를 설치하려면 다음 명령을 실행합니다.

    sudo yum install tigervnc-server
  2. 사용자의 VNC 전용 암호를 구성하려면 다음 명령을 실행합니다.

    vncpasswd

    참고: 터미널에서 보기 전용 암호를 입력할지 묻는 메시지가 표시되면 n을 누르십시오. 암호화되지 않은 암호는 홈 디렉터리의 파일에 기록됩니다. 사용자 및 루트 사용자만 해당 파일에 액세스할 수 있습니다. 챌린지-응답 메커니즘은 네트워크를 통해 전송되는 암호를 보호합니다. 자세한 내용은 TigerVNC 웹사이트에서 vncpasswd를 참조하십시오. 사용하는 SSH 터널은 보다 강력한 암호화를 통해 연결을 추가로 보호합니다.

  3. tigervnc 시스템 전체 구성 디렉터리를 생성하려면 다음 명령을 실행합니다.

    sudo mkdir /etc/tigervnc
  4. VNC에 대한 직접 연결을 차단하려면 다음 명령을 실행합니다.

    sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
  5. TigerVNC용 새 systemd 단위를 생성하려면 다음 명령을 실행합니다.

    sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
  6. 새 단위에 있는 <**USER>**의 모든 항목을 사용자 이름으로 바꾸려면 다음 명령을 실행합니다.

    sudo sed -i 's/<USER>/'${USER}'/' /etc/systemd/system/vncserver@.service
  7. systemd 관리자 구성을 다시 로드하려면 다음 명령을 실행합니다.

    sudo systemctl daemon-reload
  8. 부팅 시 TigerVNC 서비스를 활성화하려면 다음 명령을 실행합니다.

    sudo systemctl enable vncserver@:1
  9. TigerVNC 서비스를 시작하려면 다음 명령을 실행합니다.

    sudo systemctl start vncserver@:1
  10. TigerVNC 서비스가 실행되는지 확인하려면 다음 명령을 실행합니다.

sudo systemctl status vncserver@:1
  1. TigerVNC가 TCP 포트 5901에서 수신 대기 중인지 확인하려면 다음 명령을 실행합니다.
ss -lnp '( sport = :5901 )'

로컬 컴퓨터에 TigerVNC Viewer 설치

TigerVNC Viewer는 Windows, macOS 및 Linux에서 사용할 수 있습니다. 해당 도구를 다운로드하려면 GitHub에서 릴리스를 참조하십시오.

운영 체제(OS)에 따라 다음과 같은 TigerVNC Viewer 버전을 다운로드하십시오.

  • Windows의 경우 tigervnc64-x.y.z.exe(64비트) 또는 tigervnc-x.y.z.exe(32비트)를 설치합니다.
  • macOS의 경우 TigerVNC-x.y.z.dmg를 설치합니다.
    참고: x.y.z를 최신 버전 번호로 바꾸십시오.
  • Linux의 경우 여러 배포판의 리포지토리에서 TigerVNC 패키지를 찾을 수 있습니다. 패키지 설치 방법에 대한 자세한 내용은 배포 지침을 확인하십시오. 또는 GitHub에서 관련 바이너리를 다운로드하여 설치하십시오.

GUI 액세스

GUI에 액세스하려면 먼저 TCP 포트 5901에 대해 포트 전달이 활성화된 상태로 로컬 컴퓨터에서 인스턴스에 연결해야 합니다. 이 구성은 VNC 트래픽에 대해 암호화된 SSH 터널을 생성합니다. 그런 다음, VNC 뷰어를 사용하여 GUI에 연결합니다.

암호화된 SSH 터널 생성

중요: 로컬 컴퓨터의 방화벽이 포트 5901에 대한 TCP 연결을 허용하는지 확인하십시오.

PuTTY를 사용하여 인스턴스에 연결하는 경우 연결을 열기 전에 다음 단계를 완료하십시오.

  1. 범주 탐색 창에서 연결을 확장한 다음, SSH를 선택합니다.
  2. SSH를 확장한 다음, 터널을 선택합니다.
  3. 소스 포트5901을 입력합니다.
  4. 대상localhost:5901을 입력합니다.
  5. 추가를 선택합니다.

SSH 클라이언트를 사용하여 인스턴스에 연결하는 경우 다음 명령을 실행하여 포트 전달을 활성화합니다.

ssh -L 5901:localhost:5901 -i /path/key-pair-name.pem user@instance-dns-name

참고: path를 키 경로로 바꾸고 key-pair-name을 프라이빗 키 파일 이름으로 바꾸십시오. user를 사용자 이름으로 바꾸고 instance-dns-name을 인스턴스의 DNS 이름 또는 IP 주소로 바꾸십시오. AL2의 기본 사용자 이름은 ec2-user입니다.

EC2 인스턴스 연결을 사용하여 인스턴스에 연결하는 경우 다음 ec2-instance-connect AWS CLI 명령을 실행하여 포트 전달을 활성화해야 합니다.

aws ec2-instance-connect ssh --instance-id i-1234567890example --connection-type direct --local-forwarding 5901:localhost:5901

참고: i-1234567890example을 인스턴스 ID로 바꾸십시오. EC2 인스턴스 연결 엔드포인트를 사용하는 경우 directeice로 바꾸십시오.

Session Manager를 사용하여 인스턴스에 연결하는 경우 Session Manager 포트 전달 세션을 시작해야 합니다. 로컬 포트와 원격 포트 모두에 5901을 입력합니다.

VNC 뷰어를 사용하여 GUI에 연결

다음 단계를 완료하십시오.

  1. 로컬 컴퓨터에서 TigerVNC Viewer를 엽니다.
  2. VNC 서버localhost:1을 입력하고 연결을 선택합니다.
  3. VNC 암호를 입력합니다.
    참고: 연결이 안전하지 않다는 경고를 받으면 무시하십시오. 생성한 암호화된 SSH 터널을 통해 VNC 서버에 액세스하고 있습니다.

(선택 사항) VNC의 암호 인증 비활성화

중요: 단일 사용자 인스턴스에 대해서만 암호 인증을 비활성화하는 것이 좋습니다. VNC 암호 인증이 해제되면 인스턴스에 로그온할 수 있는 모든 사용자가 SSH 터널을 생성하고 VNC 데스크톱에 액세스할 수 있습니다.

VNC에 대한 암호 인증을 비활성화하려면 다음 단계를 완료하십시오.

  1. 다음 명령을 실행하여 VNC 서버의 Security Types 설정을 None으로 변경합니다.

    echo SecurityTypes=None >> ~/.vnc/config
  2. VNC 서버를 다시 시작하려면 다음 명령을 실행합니다.

    sudo systemctl restart vncserver@:1

(선택 사항) 웹 브라우저 설치

AWS는 AL2 리포지토리에서 웹 브라우저를 제공하지 않습니다. 하지만 Chromium Projects 웹사이트에서 Chromium 또는 Mozilla 웹사이트에서 Firefox 브라우저와 같은 웹 브라우저를 설치할 수 있습니다.

참고: AWS에서는 타사 소스에서 설치한 소프트웨어에 대한 지원을 제공하지 않습니다.

다음 설치 단계는 x86_64 아키텍처(Intel 및 AMD 프로세서) 기반 인스턴스에만 해당됩니다. aarch64 아키텍처(AWS Graviton 프로세서) 기반 인스턴스에는 다음 해결 방법을 사용할 수 없습니다. 인스턴스의 아키텍처를 확인하려면 다음 명령을 실행하십시오.

uname -m

Chromium 설치

다음 단계를 완료하십시오.

  1. Extra Packages for Enterprise Linux(EPEL) 리포지토리를 활성화하려면 다음 명령을 실행합니다.

    sudo amazon-linux-extras install epel

    참고: 자세한 내용은 Fedora Project 웹사이트에서 Extra Packages for Enterprise Linux(EPEL)를 참조하십시오.

  2. Chromium 패키지를 설치하려면 다음 명령을 실행합니다.

    sudo yum install chromium
  3. MATE 데스크톱에서 애플리케이션을 선택한 다음, 인터넷을 선택합니다. Chromium Web Browser로 나열되어 있는 Chromium을 찾을 수 있습니다.

Firefox 설치

참고: 현재 사용자에 대해서만 Firefox를 설치할 수 있습니다.

AL2 인스턴스에 현재 사용자를 위한 Firefox를 설치하려면 다음 단계를 완료하십시오.

  1. Linux 64비트용 Firefox 최신 버전을 다운로드하려면 다음 명령을 실행합니다.

    curl -L -o ~/firefox.tar.xz 'https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US'
  2. 다운로드한 파일 콘텐츠를 추출하려면 다음 명령을 실행합니다.

    tar Jxf ~/firefox.tar.xz -C ~/
  3. 바탕 화면에 Firefox 바로가기를 만들려면 다음 명령을 실행합니다.

    echo '[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
    Exec=/home/ec2-user/firefox/firefox
    Name=Firefox
    Comment=Firefox web browser
    GenericName=Firefox web browser
    Categories=Network;WebBrowser;' > ~/Desktop/Firefox.desktop
  4. 바탕 화면 바로가기를 사용하여 Firefox를 실행합니다.
    참고: 애플리케이션 실행 프로그램을 신뢰할 수 없다는 메시지가 표시되면 신뢰할 수 있는 프로그램으로 표시를 선택합니다.

관련 정보

GUI를 통해 Amazon EC2 macOS 인스턴스에 액세스하려면 어떻게 해야 합니까?

AWS 공식
AWS 공식업데이트됨 2달 전