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

6분 분량
0

Amazon Linux 2를 실행하는Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 GUI(그래픽 사용자 인터페이스)를 설치하고 싶습니다. 어떻게 해야 하나요?

간략한 설명

GUI를 수동으로 설치하기 전에 다음 대안 중 하나를 먼저 고려해 보세요.

  • MATE가 사전 설치된 Amazon Linux 2 AMI에서 실행합니다. 자세한 내용은 Amazon Linux 2 MATE 데스크톱 연결 구성을 참고하세요.
  • 완전관리형 영구 데스크톱 가상화 서비스인 Amazon WorkSpaces를 사용합니다. 자세한 내용은 Amazon WorkSpaces를 참고하세요.
  • NICE DCV를 사용합니다. NICE DCV는 클라우드나 데이터 센터에서 어떤 디바이스로든 원격 데스크톱 및 애플리케이션 스트리밍을 안전하게 제공할 수 있는 원격 디스플레이 프로토콜입니다. 자세한 내용은 NICE DCV를 참고하세요.

수동으로 GUI를 설치하려면 다음을 따르세요.

  1. Amazon Linux 2에서 추가로 사용할 수 있고 GNOME 2 기반의 경량 GUI인 MATE 데스크톱 환경을 설치합니다. MATE와 관련한 자세한 내용은 MATE 데스크톱 환경 웹사이트를 참고하세요.
  2. TigerVNC와 같은 가상 네트워크 컴퓨팅(VNC) 서비스를 설치합니다. TigerVNC와 관련한 자세한 내용은 tigervnc.org 웹사이트를 참고하세요.
  3. VNC를 사용해 GUI에 연결합니다.
  4. (선택 사항) VNC의 암호 인증을 끕니다.
  5. (선택 사항) Chromium이나 Firefox와 같은 웹 브라우저를 설치합니다. Chromium과 관련한 자세한 내용은 chromium.org 웹사이트를 참고하세요. Firefox와 관련한 자세한 내용은 mozilla.org 웹사이트를 참고하세요. 참고로 Chromium과 Firefox는 모두 X86 버전에서만 사용할 수 있습니다.

참고: 이 지침은 Amazon Linux 2에만 적용됩니다. 실행 중인 버전을 확인하려면 다음 명령을 실행하세요.

$ grep PRETTY_NAME /etc/os-release
PRETTY_NAME="Amazon Linux 2"

GUI를 사용해 EC2 macOS 인스턴스에 액세스하는 방법을 알아보려면 GUI를 통해 Amazon EC2 Mac 인스턴스에 액세스하려면 어떻게 해야 하나요?를 참고하세요.

해결 방법

시작하기 전 참고 사항

  1. SSH를 사용해 EC2 사용자로 인스턴스에 연결하세요.

인스턴스는 퍼블릭 서브넷에 있어야 하고 퍼블릭 IP 주소나 탄력적 IP 주소를 통해 액세스할 수 있어야 합니다. 또는 AWS VPN이나 AWS Direct Connect를 사용하여 연결을 설정하면 프라이빗 IP를 통해 인스턴스에 액세스할 수 있습니다. 이는 Bastion Host를 사용하는 환경에는 적용되지 않습니다. 보안을 위해 VNC 서버로 가는 트래픽은 SSH를 사용해 터널링됩니다. 보안 그룹에서는 VNC 포트를 열지 않는 것이 좋습니다.

  1. sudo yum update를 실행해 인스턴스를 업데이트한 후 인스턴스를 재부팅합니다. 업데이트 및 재부팅에 실패하면 다음 단계를 실행할 때 예기치 못한 결과가 발생할 수 있습니다.

MATE 데스크톱 환경 설치

  1. MATE 패키지를 설치합니다.
sudo amazon-linux-extras install mate-desktop1.x
  1. MATE를 모든 사용자의 기본 데스크톱으로 정의합니다.
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'

TigerVNC 설치

  1. TigerVNC 서버를 설치합니다.
sudo yum install tigervnc-server
  1. 해당 사용자에 대해 6~8자의 VNC 전용 암호를 구성합니다. 보기 전용 암호를 입력할지 묻는 메시지가 표시되면 “n”을 누릅니다.
vncpasswd
  1. VNC 네트워크가 localhost에 액세스하는 것을 제한해 보안 SSH 터널을 사용해야만 VNC에 액세스할 수 있도록 합니다.

tigervnc 구성 디렉터리를 생성합니다.

sudo mkdir /etc/tigervnc

localhost 옵션을 포함하는 필수 구성 파일을 생성합니다.

sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
  1. 디스플레이 번호 1에서 VNC 서버를 시작하고 부팅 시 항상 시작되도록 합니다.

systemd 유닛을 생성합니다.

sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service

sed 명령을 사용해 새 유닛에 있는 USER 모두를 ec2-user로 바꿉니다.

sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service

systemd 관리자 구성을 다시 로드합니다.

sudo systemctl daemon-reload

서비스를 켭니다.

sudo systemctl enable vncserver@:1

서비스를 시작합니다.

sudo systemctl start vncserver@:1

VNC를 사용해 GUI에 연결

  1. TigerVNC 소프트웨어가 아직 설치되지 않은 경우 로컬 컴퓨터에 설치합니다. TigerVNC는 Windows, Linux, macOS에서 사용할 수 있습니다. 다운로드하려면 TigerVNC 웹사이트를 참고하세요.

Linux: tigervnc 패키지는 여러 배포판의 리포지토리에서 사용할 수 있으며 해당 패키지 관리자를 사용하여 설치할 수 있습니다.

macOS: TigerVNC-x.y.z.dmg를 다운로드하고 설치합니다. 여기서 x.y.z는 최신 버전을 나타냅니다.**
Windows:** tigervnc64-x.y.z.exe(64비트)나 tigervnc-x.y.z.exe(32비트)를 다운로드하고 설치합니다. 여기서 x.y.z는 최신 버전을 나타냅니다.

  1. 로컬 컴퓨터에서 SSH를 사용해 인스턴스에 연결하고, 로컬 포트 5901/TCP(VNC)의 모든 트래픽을 인스턴스의 VNC 서버로 전달하는 터널을 생성합니다.

Linux 및 macOS

SSH를 사용하여 인스턴스에 연결할 때 -L 파라미터를 추가해 포트 전달을 활성화합니다. 필요에 따라 PEM_FILE을 프라이빗 키로, INSTANCE_IP를 인스턴스의 퍼블릭 또는 프라이빗 IP로 대체합니다.

ssh -L 5901:localhost:5901 -i PEM_FILE ec2-user@INSTANCE_IP

Windows

PuTTY로 연결을 열 때 포트 포워딩을 구성한 다음 연결을 엽니다.

  1. 연결 메뉴에서 SSH를 선택하고 터널을 선택합니다.

  2. 소스 포트 필드에 5901을 입력합니다.

  3. 대상 필드에 localhost:5901을 입력합니다.

  4. 추가를 선택합니다.

  5. 로컬 컴퓨터에서 TigerVNC 뷰어를 엽니다. VNC 서버 호스트 이름을 묻는 메시지가 표시되면 localhost:1을 입력하고 연결합니다.

  6. TigerVNC 설치 섹션 2단계에서 설정한 VNC 암호를 입력합니다. 연결이 안전하지 않다는 경고가 나타나면 무시하세요. 암호화된 SSH 터널을 사용하여 VNC 서버에 액세스하는 중이기 때문입니다.

MATE 데스크톱 환경이 나타납니다.

(선택 사항) VNC의 암호 인증 끄기

VNC 암호 인증을 끄는 것은 좋은 방법이 아닙니다. SSH를 사용해 인스턴스에 연결할 수 있는 모든 사용자가 터널을 생성하고 VNC 데스크톱에 액세스할 수 있습니다. 단일 사용자 인스턴스(즉, 다른 사람이 로그인할 수 없음)이고 VNC 암호 인증을 끄고 싶으면 다음 단계를 따르세요.

  1. VNC 서버의 보안 유형 설정을 없음으로 변경합니다.
echo SecurityTypes=None >> ~/.vnc/config
  1. VNC 서버를 다시 시작합니다.
sudo systemctl restart vncserver@:1

(선택 사항) 웹 브라우저 설치(X86만 해당)

AWS에서는 Amazon Linux 2 리포지토리에 Chromium이나 Firefox와 같은 웹 브라우저를 제공하지 않습니다. 이 같은 브라우저를 설치하려면 다음 단계를 따르세요. AWS에서는 타사 소스로 설치한 소프트웨어에 대한 지원을 제공하지 않습니다.

다음 지침은 64비트 Intel 및 AMD 프로세서(x86_64) 기반의 EC2 인스턴스에 적용됩니다. 이 같은 타사 소스는 Graviton 프로세서(aarch64) 기반의 인스턴스용 웹 브라우저를 제공하지 않습니다. 인스턴스의 아키텍처를 확인하려면 다음 명령어를 실행하세요.

$ uname -m
x86_64

Chromium(Google Chrome을 지원하는 오픈 소스 프로젝트)을 설치하려면 다음을 따르세요.

  1. EPEL 리포지토리를 활성화합니다. 자세한 내용은 FedoraProject.org 웹사이트에 안내된 EPEL 설명서를 참고하세요.
sudo amazon-linux-extras install epel
  1. Chromium 패키지를 설치합니다.
sudo yum install chromium

Chromium은 애플리케이션, 인터넷, Chromium 웹 브라우저 아래 MATE에 설치됩니다.

Mozilla Firefox를 설치하려면(현재 사용자만 해당) 다음을 실행하세요.

  1. Linux 64비트용 최신 Firefox 버전을 로컬 컴퓨터에 다운로드합니다. 다운로드하려면 mozilla.org 웹사이트를 참고하세요.

  2. Firefox를 다운로드한 후 파일을 인스턴스에 복사합니다. 자세한 지침은 LinuxWindows 웹사이트를 참고하세요.

  3. SSH를 사용해 EC2 인스턴스에 연결합니다.

  4. 파일 내용을 추출합니다. 이 예제 명령에서는 파일이 ec2-user의 홈 디렉터리에 있음을 보여줍니다. 필요에 따라 경로와 Firefox 버전을 변경하세요.

tar jxf ~/firefox-xx.y.tar.bz2 -C ~/
  1. vim 또는 선호하는 편집기를 사용해 바탕 화면 아이콘을 만드세요. 다음 예시와 같은 내용으로 ~/Desktop/Firefox.desktop 파일을 생성합니다.
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
Icon[en_US]=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
Name[en_US]=Firefox
Exec=/home/ec2-user/firefox/firefox
Comment[en_US]=Firefox web browser
Name=Firefox
Comment=Firefox web browser
GenericName[en_US.UTF-8]=Firefox web browser
Categories=Network;WebBrowser;
  1. 5단계에서 만든 바탕 화면 아이콘을 사용해 Firefox를 실행합니다.

  2. 애플리케이션 실행 프로그램이 신뢰하는 프로그램이 아니라는 메시지가 표시되면 [신뢰할 수 있는 프로그램으로 표시]를 선택하고 두 번 클릭하여 Firefox를 엽니다.

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠