Come posso installare una GUI su un'istanza Amazon EC2 con Amazon Linux 2?
Voglio installare un'interfaccia grafica (GUI) nella mia istanza 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:
- Esegui l'avvio da un'AMI Amazon Linux 2 fornita con MATE preinstallato. Per ulteriori informazioni, consulta la sezione Configurazione della connessione desktop Amazon Linux 2 MATE.
- Inizia a utilizzare Amazon WorkSpaces, un servizio di virtualizzazione desktop persistente e completamente gestito. Per ulteriori informazioni, consulta la sezione Amazon WorkSpaces.
- Inizia a utilizzare NICE DCV, un protocollo di visualizzazione remota che fornisce desktop remoti e streaming di applicazioni in modo sicuro da qualsiasi cloud o data center a qualsiasi dispositivo. Per maggiori informazioni, consulta la sezione NICE DCV.
Se vuoi procedere con l'installazione manuale della GUI, procedi come segue:
- 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.
- Installa un servizio di virtual network computing (VNC) come ad esempio TigerVNC. Per ulteriori informazioni su TigerVNC, visita il sito tigervnc.org.
- Connettiti alla GUI utilizzando il servizio VNC.
- (Facoltativo) Disattiva l'autenticazione con password per VNC.
- (Facoltativo) Installa un browser Web, come Chromium o Firefox. 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 l'istanza eseguendo l'aggiornamento sudo yum, quindi riavvia l'istanza. Il mancato aggiornamento e riavvio può portare a risultati inaspettati quando si completano i passaggi descritti.
Installare 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 contenente da sei a otto caratteri per questo utente. Quando ti viene chiesto se desideri inserire una password di sola visualizzazione, 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
Attiva 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 di 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 campo Source 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.
Viene visualizzato l'ambiente desktop MATE.
(Facoltativo) Disattivare l'autenticazione con password per VNC
Non è consigliabile disattivare 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 (ossia, nessun altro utente vi può accedere) e desideri disattivare 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. Tieni presente che AWS non fornisce supporto per il software installato da fonti di terze parti.
Le istruzioni seguenti si applicano alle istanze EC2 basate su processori Intel e AMD a 64 bit (x86_64). Queste fonti di terze parti non forniscono browser Web per 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. Attiva l’archivio EPEL. Per ulteriori informazioni, consulta la documentazione di EPEL sul sito Web Fedoraprject.org.
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. Connettiti alla tua istanza EC2 tramite SSH.
4. Estrai i contenuti del file. Il comando che segue indica che il file si trova nella directory principale di ec2-user. Modifica il percorso e la versione di Firefox secondo necessità.
tar jxf ~/firefox-xx.y.tar.bz2 -C ~/
5. 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;
6. Usa l'icona del desktop creata al passaggio 5 per avviare Firefox.
7. Se appare un messaggio che indica che il programma di avvio dell'applicazione non viene contrassegnato come affidabile, seleziona Mark as Trusted (Contrassegna come affidabile) e quindi fai nuovamente doppio clic per aprire Firefox.
Video correlati

Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 2 mesi fa
- AWS UFFICIALEAggiornata un anno fa