> For the complete documentation index, see [llms.txt](https://docs.plenit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plenit.com/docs-pt/productos/migrations/how-to/como-migrar-un-servidor-gnulinux-desde-aws-a-plenit.md).

# Como migrar um servidor GNU/Linux da AWS para a Plenit

Para migrar um servidor GNU/Linux da AWS para a Plenit, exportas o disco da instância para um bucket S3 em formato VHD e depois importas-no na Plenit pela URL do objeto.

O grosso do trabalho está do lado da AWS: preparar a máquina, deixar um S3 com as permissões corretas e lançar a exportação com o AWS CLI.

<br>

> 👍 O que consegues
>
> O disco da tua instância da AWS exportado para S3 em formato VHD e importado na Plenit pela respetiva URL, pronto para implementar o servidor de destino.

<br>

### Antes de começar

* Iniciar sessão na plataforma da Plenit com Permissões de administrador da empresa ou sobre uma Subscrição de **Servidores**.
* Ter acesso à secção **Migrations** dentro de **Cloud Services**.
* Ter uma subscrição da AWS com pelo menos um servidor para exportar.

<br>

> ❗️ O que não permite exportar a AWS
>
> Antes de começar, verifica se o teu caso não choca com os limites da AWS:
>
> * Não exporta imagens com software de terceiros da AWS: nem **Windows**, nem **SQL Server**, nem imagens criadas a partir do **AWS Marketplace**.
> * Não exporta imagens com instantâneos de **EBS cifradas** no block device mapping.
> * Só exporta volumes de dados EBS do block device mapping; não os **adicionados depois de lançar** a instância.
> * Não exporta imagens **partilhadas a partir de outra conta** da AWS.
> * Máximo **5 tarefas de conversão por região** em paralelo (ampliável até 20).
> * Não exporta volumes **superiores a 1 TB**.

<br>

### Passo 0. Prepara a máquina GNU/Linux

Antes de exportar, deixa o servidor de origem pronto:

* Ativa **SSH** para o acesso remoto e permite as sessões SSH no firewall da máquina (por exemplo, em `iptables`).
* Cria um **utilizador adicional não root** para trabalhar por SSH.
* Verifica que a máquina usa **GRUB** (Legacy ou GRUB 2) como gestor de arranque.
* Verifica que o sistema de ficheiros raiz é um destes: **EXT2, EXT3, EXT4, Btrfs, JFS ou XFS**.

<br>

Para verificar o sistema de ficheiros e o arranque:

```bash
lsblk -f            # tipo de sistema de ficheiros de cada volume
ls /boot/grub*      # presença de GRUB / GRUB2
```

<br>

### Passo 1. Instala o AWS CLI no teu equipamento

Instala a interface de linha de comandos da AWS no equipamento a partir do qual vais lançar a migração (no Windows, o instalador `.msi`, adicionando-o ao Path; no Linux, via Python e Pip). Depois, verifica que responde:

```bash
aws --version
```

{/\* 📸 CAPTURA 1 · verificação da versão do AWS CLI \*/}

![Verificação da versão do AWS CLI](https://REEMPLAZA-URL/servidores-migracion-aws-01.png)

<br>

### Passo 2. Prepara o bucket S3

#### 2.1 Cria o bucket na mesma região

Na consola da AWS, procura **S3** e clica em **Criar bucket**. Dá-lhe um **nome** e escolhe a **Região**.

> ❗️ Mesma região que a instância
>
> O bucket S3 deve estar na mesma região que a máquina que vais exportar. Se a instância estiver na Irlanda (`eu-west-1`), o bucket também.

<br>

Em **Propriedades dos objetos**, marca **ACL ativadas**.

{/\* 📸 CAPTURA 2 · criação do bucket com nome, região e ACL ativadas \*/}

![Criação do bucket S3 com nome e região](https://REEMPLAZA-URL/servidores-migracion-aws-02.png)

<br>

#### 2.2 Permite o acesso necessário

Em **Bloquear acesso público**, desmarca **Bloquear todo o acesso público** e aceita o aviso. Deixa o resto por omissão e clica em **Criar bucket**.

{/\* 📸 CAPTURA 3 · desbloqueio do acesso público do bucket \*/}

![Configuração de acesso público do bucket](https://REEMPLAZA-URL/servidores-migracion-aws-03.png)

<br>

#### 2.3 Adiciona o beneficiário da Plenit na ACL

Entra no bucket, separador **Permissões → Lista de controlo de acesso (ACL) → Editar**. Clica em **Adicionar beneficiário**, introduz a cadeia do beneficiário canónico da Plenit, assinala **Leitura** e **Escrita** e **Guarda alterações**.

<br>

> 🚧 Confirma a cadeia do beneficiário
>
> É o identificador da conta da Plenit que irá recolher a exportação a partir do teu bucket. Usa o valor atual que te indique o Partner Success; se não estiver correto, a exportação não será entregue.

{/\* 📸 CAPTURA 4 · edição da ACL adicionando o beneficiário com leitura/escrita \*/}

![Edição da ACL do bucket para adicionar o beneficiário](https://REEMPLAZA-URL/servidores-migracion-aws-04.png)

### Passo 3. Exporta a instância da AWS

#### 3.1 Localiza o ID da instância

Na consola, procura **EC2 → Instâncias**, localiza a máquina a migrar e copia o seu **ID da instância** (`i-…`). Guarda-o.

{/\* 📸 CAPTURA 5 · EC2 · ID da instância a exportar \*/}

![Cópia do ID da instância no EC2](https://REEMPLAZA-URL/servidores-migracion-aws-05.png)

<br>

#### 3.2 Cria as chaves de acesso

A partir do perfil de utilizador, entra em **Credenciais de segurança → Chaves de acesso → Criar uma chave de acesso**. Copia o **ID da chave de acesso** e a **chave secreta** e descarrega o ficheiro de chaves. Vais usá-las para autenticar o AWS CLI.

{/\* 📸 CAPTURA 6 · criação e descarga das chaves de acesso \*/}

![Criação das chaves de acesso da AWS](https://REEMPLAZA-URL/servidores-migracion-aws-06.png)

<br>

#### 3.3 Prepara o ficheiro de exportação

Cria um ficheiro `file.json` com o formato de saída (**VHD**, para o importar na Plenit), o bucket e o prefixo (a pasta onde será guardado o conteúdo exportado):

```json
{
  "DiskImageFormat": "VHD",
  "S3Bucket": "teu-bucket",
  "S3Prefix": "vms/"
}
```

Anota o caminho onde guardas o ficheiro, precisas dele no comando. No Linux, dá permissão de leitura ao ficheiro.

<br>

#### 3.4 Carrega as credenciais e lança a exportação

Carrega as variáveis de ambiente com a tua região e as tuas chaves. No PowerShell (Windows):

```powershell
$Env:AWS_DEFAULT_REGION='eu-west-1'
$Env:AWS_ACCESS_KEY_ID='<ID-CHAVE-ACESSO>'
$Env:AWS_SECRET_ACCESS_KEY='<CHAVE-SECRETA>'
echo $Env:AWS_DEFAULT_REGION   # verifica que foi carregado
```

Em GNU/Linux é o mesmo com `export`:

```bash
export AWS_DEFAULT_REGION='eu-west-1'
export AWS_ACCESS_KEY_ID='<ID-CHAVE-ACESSO>'
export AWS_SECRET_ACCESS_KEY='<CHAVE-SECRETA>'
echo $AWS_DEFAULT_REGION
```

Lança a tarefa de exportação com o ID da instância e o caminho do `file.json`:

```bash
aws ec2 create-instance-export-task --instance-id <ID-INSTANCIA> --target-environment microsoft --export-to-s3-task file://<CAMINHO-PARA-O-FICHEIRO>
```

{/\* 📸 CAPTURA 7 · PowerShell · carregamento de variáveis e comando de exportação \*/}

![Carregamento de variáveis e comando de exportação da instância](https://REEMPLAZA-URL/servidores-migracion-aws-07.png)

<br>

#### 3.5 Obtém a URL do VHD

O processo demora consoante o tamanho do servidor. Quando terminar, entra no bucket S3, abre a pasta do prefixo que definiste (por exemplo, `vms/`) e, sobre o VHD, **copia a URL** do objeto. É a que vais usar para importar na Plenit (também podes descarregar o VHD, mas para a migração o mais prático é a URL).

{/\* 📸 CAPTURA 8 · bucket S3 · objeto VHD com a opção de copiar a URL \*/}

![Cópia da URL do VHD no bucket S3](https://REEMPLAZA-URL/servidores-migracion-aws-08.png)

<br>

### Passo 4. Importa o disco na Plenit

Em **Cloud Services → Migrations**, clica em **Nova migração**.

> 🚧 Importa a partir do mesmo equipamento da operação AWS
>
> A importação por URL deve ser lançada a partir do equipamento em que fizeste todo o processo da AWS.

<br>

#### 4.1 Serviço e tipo de origem

Seleciona **Servidores** e, como tipo, **Virtual**.

{/\* 📸 CAPTURA 9 · assistente · serviço Servidores e tipo Virtual \*/}

![Seleção de Servidores e tipo Virtual no assistente](https://REEMPLAZA-URL/servidores-migracion-aws-09.png)

<br>

#### 4.2 Formato, método e dados do disco

Seleciona **Discos Virtuais Compatíveis** como formato e **descarregamento por URL** como método de entrega (mais rápido do que o FTP, ao evitar a intermediação). Preenche os dados do disco:

* **Nome do Ficheiro** com a sua extensão (a do Passo 3).
* **URL do Disco**: a que copiaste do bucket.
* **Tipo de Disco**: o principal do sistema operativo, de sistema; os restantes, de dados.
* **Nome a mostrar**: o identificador do Disco na consola.

Clica em **Seguinte**.

{/\* 📸 CAPTURA 10 · assistente · descarga mediante URL e dados do disco \*/}

![Formato, método por URL e dados do Disco](https://REEMPLAZA-URL/servidores-migracion-aws-10.png)

<br>

#### 4.3 Organização, subscrição e implementação

Indica a **Organização**, a **Subscrição** e a **Zona de disponibilidade** onde carregar o disco. À pergunta de implementar um novo servidor com os discos importados, o habitual é **Sim**.

{/\* 📸 CAPTURA 11 · assistente · organização, subscrição, zona e opção de implementar \*/}

![Seleção de Organização, Subscrição e Implementação](https://REEMPLAZA-URL/servidores-migracion-aws-11.png)

<br>

#### 4.4 Servidor de destino

Se escolheste Implementar, indica o **nome** (aceita espaços), o **sistema operativo**, o **tamanho** (CPU e RAM) e o **tipo de Rede** (standard ou VPC). Clica **Concluir**.

{/\* 📸 CAPTURA 12 · assistente · configuração do servidor de destino \*/}

![Configuração do servidor de destino](https://REEMPLAZA-URL/servidores-migracion-aws-12.png)

Com isto ficam lançadas as bases da migração e arrancam os processos internos que desembocam na implementação do servidor na subscrição escolhida.

<br>

### Conclusão

Esta migração é a mais trabalhosa do bloco porque quase tudo acontece na AWS: preparar a máquina, deixar o bucket S3 com a região e as permissões corretas, carregar as credenciais e lançar a exportação para VHD.

Duas coisas a condicionam por completo: respeitar os limites de exportação da AWS (nada de Windows, SQL Server, imagens do Marketplace ou volumes com mais de 1 TB) e que a ACL do bucket tenha o beneficiário da Plenit bem definido, porque é isso que permite recolher a exportação. Com o VHD já no S3, importá-lo na Plenit é colar a respetiva URL no assistente, isso sim, a partir do mesmo equipamento onde fizeste o trabalho na AWS.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.plenit.com/docs-pt/productos/migrations/how-to/como-migrar-un-servidor-gnulinux-desde-aws-a-plenit.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
