Como instalar uma GUI em minha instância do Amazon EC2 executando o Amazon Linux 2?

Última atualização: 4/08/2022

Desejo instalar uma interface gráfica de usuário (GUI) em minha instância do Amazon Elastic Compute Cloud (Amazon EC2) executando o Amazon Linux 2. Como posso fazer isso?

Breve descrição

Antes de continuar, considere uma destas alternativas para instalar manualmente uma GUI:

  • Inicie em uma AMI do Amazon Linux 2 que vem com o MATE pré-instalado. Para obter mais informações, consulte Configurar a conexão de área de trabalho Amazon Linux 2 MATE.
  • Comece a usar o Amazon WorkSpaces, um serviço totalmente gerenciado de virtualização de área de trabalho persistente. Para obter mais informações, consulte Amazon WorkSpaces.
  • Comece a usar o NICE DCV, um protocolo de exibição remota que fornece streaming seguro de áreas de trabalho remotas e aplicações de qualquer nuvem ou datacenter para qualquer dispositivo. Para obter mais informações, consulte NICE DCV.

Se você quiser continuar com a instalação manual da GUI, faça o seguinte:

  1. Instale o ambiente de desktop MATE, uma GUI leve baseada no GNOME 2 disponível como um extra para o Amazon Linux 2. Para obter mais informações sobre o MATE, consulte o site do ambiente desktop do MATE.
  2. Instale um serviço de computação de rede virtual (VNC), como o TigerVNC. Para obter mais informações sobre o TigerVNC, acesse o site tigervnc.org.
  3. Conecte a GUI usando a VNC.
  4. (Opcional) Desative a autenticação de senha para VNC.
  5. (Opcional) Instale um navegador de Web, como o Chromium ou o Firefox. Para obter mais informações sobre o Chromium, acesse o site chromium.org. Para obter mais informações sobre o Firefox, acesse o site mozilla.org. Observe que tanto o Chromium quanto o Firefox estão disponíveis apenas na variante X86.

Observação: estas instruções se aplicam apenas ao Amazon Linux 2. Para confirmar a versão que você está executando, execute o seguinte comando:

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

Para obter instruções sobre como acessar uma instância do EC2 macOS usando uma GUI, consulte Como acesso minha instância do Mac do Amazon EC2 por meio de uma GUI?

Resolução

Antes de começar

1.    Conecte a sua instância de usuário do EC2 usando o SSH.

A instância deve ser uma sub-rede pública e deve estar acessível por meio de um endereço IP público ou endereço de IP elástico. Ou você pode estabelecer uma conexão usando a AWS VPN ou o AWS Direct Connect, que permite acesso à sua instância por um IP privado. Essas instruções não se aplicam a ambientes que usam um host bastion. Por motivos de segurança, o tráfego para o servidor de VNC é encapsulado usando o SSH. É uma prática recomendada para evitar abrir portas VNC em seus grupos de segurança.

2.    Atualize a instância executando sudo yum update e depois reinicie a instância. Não atualizar e reiniciar pode levar a resultados imprevisíveis durante a execução das etapas a seguir.

Instalar o ambiente de área de trabalho MATE

1.    Instale os pacotes do MATE.

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

2.    Defina o MATE como seu desktop padrão para todos os usuários.

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

Instale o TigerVNC

1.    Instale o servidor TigerVNC:

sudo yum install tigervnc-server

2.    Configure uma senha específica de VNC contendo de seis a oito caracteres para esse usuário. Quando aparecer uma mensagem perguntando se você deseja inserir uma senha somente para visualização, pressione “n”.

vncpasswd

3.    Restrinja o acesso à rede VNC ao host local, para que a VNC só possa ser acessada com o uso de um túnel SSH seguro.

Crie o diretório de configuração tigervnc:

sudo mkdir /etc/tigervnc

Crie um arquivo de configuração obrigatório contendo a opção localhost:

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

4.    Inicie o VNC Server no display número 1 e faça com que ele sempre inicie no momento da inicialização.

Crie uma nova unidade systemd.

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

Use o comando sed para substituir todas as ocorrências de USER na nova unidade com ec2-user.

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

Recarregue a configuração de gerenciador systemd.

sudo systemctl daemon-reload

Ative o serviço.

sudo systemctl enable vncserver@:1

Inicie o serviço.

sudo systemctl start vncserver@:1

Conectar a GUI usando a VNC

1.    Instale o software do TigerVNC em seu computador local, caso ainda não esteja instalado. O TigerVNC está disponível para Windows, Linux e macOS. Consulte o site do TigerVNC para ter acesso ao download.

Linux: o pacote tigervnc está disponível nos repositórios de muitas distribuições e pode ser instalado usando os respectivos gerenciadores de pacotes.

macOS: baixe e instale TigerVNC-x.y.z.dmg, onde x.y.z representa a versão mais recente.
Windows:
baixe e instale tigervnc64-x.y.z.exe (64 bits) ou tigervnc-x.y.z.exe (32 bits), onde x.y.z representa a versão mais recente.

2.    No computador local, use o SSH para se conectar à sua instância enquanto cria um túnel para encaminhar todo o tráfego na porta local 5901/TCP (VNC) para o servidor de VNC da instância:

Linux e macOS

Ao se conectar à instância usando SSH, adicione o parâmetro -L para ativar o encaminhamento de porta. Substitua PEM_FILE pela chave privada e INSTANCE_IP pelo IP público ou privado da instância, conforme for o caso.

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

Windows

Ao abrir a conexão com PuTTY, configure o encaminhamento de porta e abra a conexão:

  1. No menu Conexão, selecione SSH e, em seguida, selecione Túneis.
  2. Insira 5901 no campo Source Port (Porta de origem).
  3. Insira localhost:5901 no campo Destination (Destino).
  4. Selecione Add (Adicionar).

3.    Abra o TigerVNC Viewer em seu computador local. Quando aparecer uma mensagem perguntando o hostname do servidor VNC, insira localhost:1 e conecte-se a ele.

4.    Insira a senha da VNC que você definiu na etapa 2 da seção Instalar TigerVNC. Se aparecer um alerta informando que a conexão não é segura, desconsidere. Você está acessando o servidor VNC usando um túnel SSH criptografado.

O ambiente de área de trabalho do MATE aparecerá.

(Opcional) Desative a autenticação de senha para a VNC

Não é uma prática recomendada desativar a autenticação de senha da VNC. Qualquer usuário que possa usar SSH para se conectar à instância poderá criar um túnel e acessar a área de trabalho da VNC. Se a instância for uma instância de usuário único (ou seja, nenhuma outra pessoa pode fazer login) e você, de qualquer modo, quiser desativar a autenticação de senha para a VNC, siga estas etapas:

1.    Altere a configuração de tipos de segurança do servidor VNC para nenhum:

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

2.    Reinicie o servidor VNC.

sudo systemctl restart vncserver@:1

(Opcional) Instalar um navegador web (somente X86)

A AWS não fornece navegadores da Web, como o Chromium ou o Firefox, nos repositórios do Amazon Linux 2. Para instalar um desses navegadores, siga estas etapas. Observe que a AWS não é compatível com software instalado de outras fontes.

As instruções a seguir se aplicam a instâncias do EC2 baseadas em processadores Intel e AMD de 64 bits (x86_64). Essas fontes de terceiros não são compatíveis com navegadores da Web para instâncias baseadas nos processadores Graviton (aarch64). Para confirmar a arquitetura da instância, execute o seguinte comando:

$ uname -m
x86_64

Para instalar o Chromium (versão em código aberto do Google Chrome), faça o seguinte:

1.    Ative o repositório EPEL. Para obter mais informações, consulte a documentação do EPEL no site Fedoraproject.org.

sudo amazon-linux-extras install epel

2.    Instale os pacotes do Chromium.

sudo yum install chromium

O Chromium será instalado no MATE em Applications (Aplicações), Internet, Chromium Web Browser (Navegador Web Chromium).

Para instalar o Mozilla Firefox (apenas para o usuário atual), faça o seguinte:

1.    Baixe a versão mais recente do Firefox para Linux 64 bits em seu computador local. Consulte o site mozilla.org para ter acesso ao download.

2.    Após baixar o Firefox, copie o arquivo para sua instância. Consulte os respectivos sites do Linux e do Windows para obter instruções.

3.    Conecte-se à instância do EC2 usando SSH.

4.    Extraia o conteúdo do arquivo. O exemplo de comando indica que o arquivo está no diretório inicial do ec2-user. Altere o caminho e a versão do Firefox, conforme necessário.

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

5.    Usando o vim ou o editor de sua preferência, crie um ícone da área de trabalho. Crie o arquivo ~/Desktop/Firefox.desktop com o conteúdo mostrado no exemplo a seguir.

[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.    Use o ícone da área de trabalho que você criou na etapa 5 para iniciar o Firefox.

7.    Se aparecer um aviso de que o iniciador da aplicação não está marcado como confiável, selecione Mark as Trusted (Marcar como confiável) e clique duas vezes para abrir o Firefox.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?