Come posso installare una GUI su un'istanza Amazon EC2 con Amazon Linux 2?

Ultimo aggiornamento: 20-04-2021

Voglio installare una GUI (Graphical User Interface) nella mia istanza di Amazon Elastic Compute Cloud (Amazon EC2) con Amazon Linux 2. Come si fa?

Breve descrizione

Prima di procedere, considera innanzitutto una di queste alternative all'installazione manuale di una GUI:

  • Avvia da un'AMI Amazon Linux 2 fornita con MATE preinstallato. Consulta Configura la connessione desktop Amazon Linux 2 MATE per i dettagli.
  • Inizia ad utilizzare Amazon WorkSpaces, un servizio di virtualizzazione desktop cloud persistente e completamente gestito che fornisce agli utenti l'accesso ai dati, alle applicazioni e alle risorse di cui hanno bisogno, ovunque e in qualsiasi momento, da qualsiasi dispositivo supportato. Consulta la homepage del prodotto per i dettagli.
  • Inizia ad utilizzare NICE DCV, un protocollo di visualizzazione remota a elevate prestazioni che offre ai clienti una modalità sicura per la distribuzione di desktop remoti e streaming di applicazioni da qualsiasi cloud o data center a ogni dispositivo, in condizioni di rete variabili. Consulta la homepage del prodotto per i dettagli.

Se vuoi procedere con l'installazione manuale della GUI, procedi come segue:

  1. Installa l'ambiente desktop MATE, una GUI lightwight basata su GNOME 2 disponibile come extra per Amazon Linux 2. Per ulteriori informazioni su MATE, visita il sito Web dell'ambiente desktop MATE.
  2. Installa un servizio di virtual network computing (VNC) come ad esempio TigerVNC. Per ulteriori informazioni su TigerVNC, visita il sito tigervnc.org.
  3. Connettiti alla GUI utilizzando il servizio VNC.
  4. Disabilita l'autenticazione con password per VNC (facoltativo).
  5. Installa un browser Web come ad esempio Chromium o Firefox (facoltativo). Per ulteriori informazioni su Chromium, visita il sito Web chromium.org. Per ulteriori informazioni su Firefox, visita il sito Web mozzilla.org. Nota che sia Chromium che Firefox sono disponibili solo nella variante X86.

Nota: queste istruzioni sono relative solo ad Amazon Linux 2. Per verificare quale versione stai utilizzando, esegui il seguente comando:

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

Per avere istruzioni su come accedere a un'istanza EC2 su macOS utilizzando una GUI, consulta l'articolo Come posso accedere all'istanza Amazon EC2 su Mac tramite una GUI?

Risoluzione

Prima di iniziare

1.    Connettiti all'istanza come utente EC2 utilizzando SSH.

L'istanza deve trovarsi in una sottorete pubblica e accessibile attraverso un indirizzo IP pubblico o elastico. In alternativa, puoi stabilire una connessione utilizzando AWS VPN o AWS Direct Connect che ti permette di accedere all'istanza attraverso un indirizzo IP privato. Queste istruzioni non sono valide per gli ambienti che utilizzano un bastion host. Per questioni di sicurezza, il traffico verso il server VNC passa attraverso un tunnel SSH. Si tratta di una best practice per evitare di aprire le porte VNC nei tuoi gruppi di sicurezza.

2.    Aggiorna la tua istanza eseguendo l'aggiornamento sudo yum quindi riavviala. Il mancato aggiornamento e riavvio può portare a risultati inaspettati quando si completano i passaggi seguenti.

Installa l'ambiente desktop MATE

1.    Installa i pacchetti MATE.

sudo amazon-linux-extras install mate-desktop1.x

2.    Definisci MATE come desktop di default per tutti gli utenti.

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

Installa TigerVNC

1.    Installa il server TigerVNC:

sudo yum install tigervnc-server

2.    Configura una password specifica per VNC per questo utente che contenga da 6 a 8 caratteri. Quando ti viene richiesto se vuoi inserire una password view-only, premi "n".

vncpasswd

3.    Limita l'accesso alla rete VNC all'host locale, in modo che sia possibile accedere a VNC solo utilizzando un tunnel SSH sicuro.

Crea la directory di configurazione tigervnc:

sudo mkdir /etc/tigervnc

Crea un file di configurazione obbligatorio contenente l'opzione localhost:

sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'

4.    Avvia il server VNC sul display numero 1 e fallo partire sempre all'avvio.

Crea una nuova unità systemd.

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

Utilizza il comando sed per sostituire tutte le occorrenze di USER nella nuova unità con ec2-user.

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

Ricarica la configurazione di gestione systemd.

sudo systemctl daemon-reload

Abilita il servizio.

sudo systemctl enable vncserver@:1

Avvia il servizio.

sudo systemctl start vncserver@:1

Connettiti alla GUI utilizzando VNC

1.    Se non è già stato fatto, installa il software TigerVNC sul tuo computer. TigerVNC è disponibile per Windows, Linux e macOS. Visita il sito Web TigerVNC per accedere al download.

Linux: il pacchetto tigervnc è disponibile negli archivi di molte distribuzioni e può essere installato utilizzando i rispettivi gestori di pacchetti.

macOS: scarica e installa TigerVNC-x.y.z.dmg, dove x.y.z rappresenta la versione più recente.
Windows:
scarica e installa tigervnc64-x.y.z.exe (64-bit) o tigervnc-x.y.z.exe (32 bit), dove x.y.z rappresenta la versione più recente.

2.    Sul tuo computer, utilizza SSH per connetterti all'istanza mentre crei un tunnel per inoltrare tutto il traffico sulla porta 5901/TCP (VNC) al server VNC dell'istanza:

Linux e macOS

Quando ti connetti alla tua istanza usando SSH, aggiungi il parametro -L per abilitare l'inoltro delle porte. Sostituisci PEM_FILE con la tua chiave privata e INSTANCE_IP con l'IP pubblico o privato della tua istanza, a seconda dei casi.

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

Windows

Quando apri la connessione con PuTTY, configura l'inoltro delle porte, quindi apri la connessione:    Dal menu Connection (Connessione), seleziona SSH, quindi seleziona Tunnel.    Inserisci 5901 nel campoSource Port (Porta di origine).    Inserisci localhost:5901 nel campo Destination (Destinazione).     Seleziona Add (Aggiungi).

3.    Apri TigerVNC Viewer sul tuo computer locale. Quando ti viene richiesto il nome dell'host per il server VNC, inserisci localhost:1, quindi connettiti.

4.    Inserisci la password VNC che hai impostato al passaggio 2 della sezione Installare TigerVNC. Se appare un avviso che dice che la connessione non è sicura, ignoralo. Stai accedendo al server VNC utilizzando un tunnel SSH crittografato.

Appare l'ambiente desktop MATE.

Disabilita l'autenticazione con password per VNC (opzionale)

Non è una buona pratica disabilitare l'autenticazione con password VNC. Tutti gli utenti che sono in grado di utilizzare SSH per connettersi alla tua istanza saranno in grado di creare un tunnel e di accedere al tuo desktop VNC. Se si tratta di un'istanza per utente singolo (ovvero, nessun altro utente può accedere) e si desidera disabilitare comunque l'autenticazione con password per VNC, completa questa procedura:

1.    Modifica l'impostazione dei tipi di sicurezza del server VNC su Nessuno:

echo SecurityTypes=None >> ~/.vnc/config

2.    Riavvia il server VNC.

sudo systemctl restart vncserver@:1

Installa un browser Web (solo X86) (opzionale)

AWS non fornisce browser Web come Chromium o Firefox negli archivi Amazon Linux 2. Ecco i passaggi per installare uno di questi browser. Si noti che AWS non fornisce assistenza per i software installati da fonti di terze parti.

Le istruzioni riportate di seguito si applicano alle istanze EC2 basate su processori Intel e AMD a 64 bit (x86_64). Queste fonti di terze parti non supportano istanze basate su processori Graviton (aarch64). Per confermare l'architettura dell'istanza, esegui il seguente comando:

$ uname -m
x86_64

Per installare Chromium (la versione open source di Google Chrome), procedi come segue:

1.    Abilita l’archivioEPEL. Visualizza la documentazione EPEL sul sito Web Fedoraprject.org per saperne di più.

sudo amazon-linux-extras install epel

2.    Installa i pacchetti di Chromium.

sudo yum install chromium

Chromium si installa su MATE sotto Applicazioni, Internet, Chromium Web Browser.

Per installare Mozilla Firefox (solo per l'utente attuale), procedi come indicato di seguito segue:

1.    Scarica la versione più recente di Firefox per Linux a 64-bit sul tuo computer. Visita il sito Web mozilla.org per accedere al download.

2.    Una volta scaricato Firefox, copia il file nella tua istanza. Visita i rispettivi siti Web di Linux e Windows per le istruzioni.

3.    Estrai i contenuti del file. Il comando che segue indica che il file i trova nella directory principale ec2-user. Modifica il percorso e la versione di Firefox secondo necessità.

tar jxf ~/firefox-xx.y.tar.bz2 -C ~/

4.    Crea un'icona per il desktop utilizzando vim o il tuo editor preferito. Crea il file ~/Desktop/Firefox.desktop con i contenuti come mostrati nell'esempio seguente.

[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;

5.    Per avviare Firefox, utilizza l'icona sul desktop che hai creato al passaggio 4.

6.    Se appare un messaggio che indica che il programma di avvio dell'applicazione non viene contrassegnato come affidabile, seleziona Contrassegna come affidabile e quindi fai nuovamente doppio clic per aprire Firefox.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?