Máquinas Virtuais

A RNL oferece a possibilidade de alojar VMs para terceiros, dado que a necessidade seja devidamente justificada, e que exista capacidade para alocar os recursos necessários.

Admissibilidade

  • Pedidos de docentes para uso no contexto de cadeiras de LEIC e MEIC.
  • Pedidos de docentes para projetos no contexto de teses de alunos de MEIC.
  • Pedidos de grupos ou organizações de alunos com fins académicos ou educacionais.

Poderão ser aceites outros tipos de casos não contemplados, desde que o objetivo vá minimamente ao encontro à missão do DEI.

As seguintes são possíveis situações que podem levar ao impedimento do alojamento de VMs:

  • Falta de capacidade para alocar os recursos desejados.
  • Elevado risco de segurança para o resto da infraestrutura.
  • Necessidade de uso continuo elevado de CPU e/ou tráfego.
  • Uso a nível pessoal e por iniciativa própria. Por melhor que seja a intenção não temos capacidade para começar a satisfazer pedidos individuais.

Condições de uso

  • A RNL apenas efetua a instalação inicial da VM. A configuração e gestão dos serviços pretendidos é da responsabilidade do titular da VM.
  • A VM será desligada caso seja detetado que tenha sido comprometida. O restauro da VM dependerá da situação ocorrida.
  • Para prever o ponto anterior recomenda-se que sejam feitas atualizações frequentes e se tenha os devidos cuidados de segurança, sendo isto da responsabilidade do titular da VM.

Disponibilidade

  • A RNL não garante nenhum nível de disponibilidade (SLA) para a VM.
  • A VM estará atribuída para correr num hipervisor específico, que caso avarie provocará indisponibilidade inesperada.
  • O tempo recuperação da VM dependerá do tipo de avaria, recursos disponíveis, e importância em relação às restantes VMs.
  • Dada uma avaria, caso a VM não seja crítica para o funcionamento de aulas poderá não ser possível ficar online durante um longo período.

Serviços disponíveis

Bases de dados

Oferecemos a possibilidade de alojar bases de dados no nosso cluster de MariaDB (redundância entre dois servidores físicos distintos), de forma a poupar recursos na VM e salvaguardar as bases de dados em caso de falha de algum servidor. São feitos backups diários de todas estas bases de dados.

Backups

Podemos efectuar backups diários da VM, presumindo que tenhamos capacidade disponível no nosso sistema de backups.

Certificado

Por a pertencer a uma instituição académica, a RNL pode obter gratuitamente qualquer certificado sob o sub-domínio rnl.tecnico.ulisboa.pt, assinado por uma entidade confiada globalmente. Como tal, podemos oferecer um certificado para <nome da VM>.rnl.tecnico.ulisboa.pt, para uso em HTTPS ou qualquer outro serviço com SSL/TLS.

Caso seja pretendido usar um domínio próprio na VM, a RNL não poderá oferecer o certificado, que terá de ser adquirido por outra via. Atualmente é possível obter certificados confiados globalmente atrás da iniciativa Let’s Encrypt.

Alojamento de DNS

Caso seja usado um domínio próprio na VM, podemos configurar os servidores de DNS da RNL para serem autoritários para esse domínio.
No caso da VM ter um servidor DNS a servir de master, podemos configurar ambos os servidores de DNS da RNL para servirem de slave e replicar automaticamente.
Caso não seja pretendido ter um servidor de DNS na VM, podemos configurar o nosso servidor de DNS principal como master. Neste caso qualquer alteração ao DNS terá de ser feita por pedido à RNL.

Serviços não disponíveis

Painel de gestão

A RNL oferece alojamento de VMs apenas por forma a aproveitar melhor os recursos que existem, e não é pretendido oferecer todas as funcionalidades normalmente presentes num serviço comercial análogo. Como tal, não existe nenhum painel de gestão para as VMs e outros serviços mencionados nesta página. Qualquer alteração desejada terá de ser pedida por email para rnl@rnl.tecnico.ulisboa.pt.

Características das VM

Os recursos que temos disponíveis para alojar VMs são apenas os excedentes que não estamos a usar para os nossos próprios serviços, portanto não temos recursos reservados especificamente para responder a pedidos. A não ser num caso muito extremo, não iremos desalojar VMs existentes em situação de recursos escassos, apenas passar a rejeitar novos pedidos.

O que consideramos como características base para uma VM, caso não seja especificado, é o seguinte:

  • Sistema operativo: Debian stable
  • Memória RAM: 1 GB
  • Número de vCPUs: 1
  • Espaço em disco: 10 GB
  • Portas acessíveis: 22 (SSH), 80 (HTTP) e 443 (HTTPS)
  • Serviços adicionais: Nenhum

O recurso mais escasso é a memória RAM, pelo que sugerimos que se tente poupar tanto quanto possível neste aspeto.
Atualmente podemos oferecer VMs de 2 a 4 GB se devidamente justificado. Acima disso só se for realmente bem justificado e crucial para o DEI.

Em relação ao disco, podemos, desde que se justifique, alocar espaço na ordem das centenas de GB. No entanto, e obviamente, é também um recurso finito.

Como requisitar uma VM

Enviar um email para rnl@rnl.tecnico.ulisboa.pt com os seguintes dados:

  • Nome para a VM
  • Utilização da VM, e que serviços é pretendido correr
  • Distribuição Linux desejada
  • Número de vCPUs
  • Memória RAM necessária
  • Espaço em disco necessário
  • Portas acessíveis do exterior
  • Serviços adicionais pretendidos, nomeadamente:
    • Bases de dados
    • Backups
    • Certificado
    • DNS
  • Duração de utilização:
    • Previsto ser necessária apenas durante um certo intervalo de tempo
    • Uso por tempo indeterminado
  • Contacto/s de quem ficará responsável

As características que forem omitidas serão baseadas no descrito no ponto anterior.

Recomendações

Servidor web

Caso seja pretendido correr um servidor web com PHP sugerimos usar o mesmo que usamos na RNL: Nginx com php-fpm. Permite usar pouca memória e ao mesmo tempo poder configurar para escalar em situações de muitas ligações concorrentes.

Caso seja usado HTTPS, convém garantir que o servidor redireciona todas as ligações HTTP para HTTPS.
Exemplo para Nginx:

        server { # Redirecciona HTTP para HTTPS 
                listen *:80;
                listen [::]:80;
                server_name .rnl.tecnico.ulisboa.pt;
                rewrite ^ https://$server_name$request_uri? permanent;
        }

Configurações automáticas recomendadas podem ser obtidas a partir do Mozilla SSL Configuration Generator.

A configuração das opções para HTTPS (ex: SSL/TLS) atualizada pode ser consultada em Cipherli.st.

SSH

Recomendamos fortemente que a configuração do /etc/ssh/sshd_config se mantenha de origem, ou seja, apenas a permitir SSH com chaves e não com passwords.

PasswordAuthentication no

Atualizações

Por razões óbvias, convém garantir que todo o software se mantém atualizado para corrigir eventuais falhas de segurança.
Atenção especial para software web que seja instalado manualmente, que pode precisar de atualizações manuais.

Para atualizar um sistema Debian:

aptitude update && aptitude upgrade

Podem ser configuradas as atualizações automáticas em Debian utilizando Unattended Upgrades.