> 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/productos/migrations/how-to/como-migrar-un-servidor-gnulinux-desde-aws-a-plenit.md).

# Cómo Migrar un Servidor GNU/Linux desde AWS a Plenit

Para migrar un servidor GNU/Linux de AWS a Plenit, exportas el disco de la instancia a un bucket de S3 en formato VHD y lo importas después en Plenit por la URL del objeto.

El grueso del trabajo está en el lado de AWS: preparar la máquina, dejar un S3 con los permisos correctos y lanzar la exportación con AWS CLI.

<br>

> 👍 Qué consigues
>
> El disco de tu instancia de AWS exportado a S3 en formato VHD e importado en Plenit por su URL, listo para desplegar el servidor de destino.

<br>

### Antes de empezar

* Iniciar sesión en la plataforma de Plenit con permisos de administrador de compañía o sobre una suscripción de **Servidores**.
* Tener acceso al apartado **Migrations** dentro de **Cloud Services**.
* Tener una suscripción de AWS con al menos un servidor que exportar.

<br>

> ❗️ Qué no permite exportar AWS
>
> Antes de empezar, comprueba que tu caso no choca con los límites de AWS:
>
> * No exporta imágenes con software de terceros de AWS: ni **Windows**, ni **SQL Server**, ni imágenes creadas desde el **AWS Marketplace**.
> * No exporta imágenes con instantáneas de **EBS cifradas** en el block device mapping.
> * Solo exporta volúmenes de datos de EBS del block device mapping; no los **añadidos tras lanzar** la instancia.
> * No exporta imágenes **compartidas desde otra cuenta** de AWS.
> * Máximo **5 tareas de conversión por región** en paralelo (ampliable a 20).
> * No exporta volúmenes **mayores de 1 TB**.

<br>

### Paso 0. Prepara la máquina GNU/Linux

Antes de exportar, deja el servidor de origen listo:

* Habilita **SSH** para el acceso remoto y permite las sesiones SSH en el firewall de la máquina (por ejemplo, en `iptables`).
* Crea un **usuario adicional no root** para trabajar por SSH.
* Comprueba que la máquina usa **GRUB** (Legacy o GRUB 2) como gestor de arranque.
* Comprueba que el sistema de archivos raíz es uno de estos: **EXT2, EXT3, EXT4, Btrfs, JFS o XFS**.

<br>

Para verificar el sistema de archivos y el arranque:

```bash
lsblk -f            # tipo de sistema de archivos de cada volumen
ls /boot/grub*      # presencia de GRUB / GRUB2
```

<br>

### Paso 1. Instala AWS CLI en tu equipo

Instala la interfaz de línea de comandos de AWS en el equipo desde el que vas a lanzar la migración (en Windows, el instalador `.msi`, añadiéndolo al Path; en Linux, vía Python y Pip). Después, comprueba que responde:

```bash
aws --version
```

{/\* 📸 CAPTURA 1 · comprobación de la versión de AWS CLI \*/}

![Comprobación de la versión de AWS CLI](https://REEMPLAZA-URL/servidores-migracion-aws-01.png)

<br>

### Paso 2. Prepara el bucket S3

#### 2.1 Crea el bucket en la misma región

En la consola de AWS, busca **S3** y pulsa **Crear bucket**. Dale un **nombre** y elige la **región**.

> ❗️ Misma región que la instancia
>
> El bucket S3 debe estar en la misma región que la máquina que vas a exportar. Si la instancia está en Irlanda (`eu-west-1`), el bucket también.

<br>

En **Propiedades de objetos**, marca **ACL habilitadas**.

{/\* 📸 CAPTURA 2 · creación del bucket con nombre, región y ACL habilitadas \*/}

![Creación del bucket S3 con nombre y región](https://REEMPLAZA-URL/servidores-migracion-aws-02.png)

<br>

#### 2.2 Permite el acceso necesario

En **Bloquear acceso público**, desmarca **Bloquear todo el acceso público** y acepta el aviso. Deja el resto por defecto y pulsa **Crear bucket**.

{/\* 📸 CAPTURA 3 · desbloqueo del acceso público del bucket \*/}

![Configuración de acceso público del bucket](https://REEMPLAZA-URL/servidores-migracion-aws-03.png)

<br>

#### 2.3 Añade el beneficiario de Plenit en la ACL

Entra en el bucket, pestaña **Permisos → Lista de control de acceso (ACL) → Editar**. Pulsa **Agregar beneficiario**, introduce la cadena del beneficiario canónico de Plenit, marca **Lectura** y **Escritura** y **Guarda cambios**.

<br>

> 🚧 Confirma la cadena del beneficiario
>
> Es el identificador de la cuenta de Plenit que recogerá la exportación desde tu bucket. Usa el valor vigente que te facilite Partner Success; si no es correcto, la exportación no se entregará.

{/\* 📸 CAPTURA 4 · edición de la ACL añadiendo el beneficiario con lectura/escritura \*/}

![Edición de la ACL del bucket para añadir el beneficiario](https://REEMPLAZA-URL/servidores-migracion-aws-04.png)

### Paso 3. Exporta la instancia de AWS

#### 3.1 Localiza el ID de la instancia

En la consola, busca **EC2 → Instancias**, localiza la máquina a migrar y copia su **ID de instancia** (`i-…`). Resérvalo.

{/\* 📸 CAPTURA 5 · EC2 · ID de la instancia a exportar \*/}

![Copia del ID de la instancia en EC2](https://REEMPLAZA-URL/servidores-migracion-aws-05.png)

<br>

#### 3.2 Crea las claves de acceso

Desde el perfil de usuario, entra en **Credenciales de seguridad → Claves de acceso → Crear una clave de acceso**. Copia el **ID de clave de acceso** y la **clave secreta** y descarga el archivo de claves. Las usarás para autenticar AWS CLI.

{/\* 📸 CAPTURA 6 · creación y descarga de las claves de acceso \*/}

![Creación de las claves de acceso de AWS](https://REEMPLAZA-URL/servidores-migracion-aws-06.png)

<br>

#### 3.3 Prepara el fichero de exportación

Crea un fichero `file.json` con el formato de salida (**VHD**, para importarlo en Plenit), el bucket y el prefijo (la carpeta donde se guardará lo exportado):

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

Anota la ruta donde guardas el fichero, la necesitas en el comando. En Linux, dale permiso de lectura al archivo.

<br>

#### 3.4 Carga las credenciales y lanza la exportación

Carga las variables de entorno con tu región y tus claves. En PowerShell (Windows):

```powershell
$Env:AWS_DEFAULT_REGION='eu-west-1'
$Env:AWS_ACCESS_KEY_ID='<ID-CLAVE-ACCESO>'
$Env:AWS_SECRET_ACCESS_KEY='<CLAVE-SECRETA>'
echo $Env:AWS_DEFAULT_REGION   # comprueba que se cargó
```

En GNU/Linux es lo mismo con `export`:

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

Lanza la tarea de exportación con el ID de la instancia y la ruta del `file.json`:

```bash
aws ec2 create-instance-export-task --instance-id <ID-INSTANCIA> --target-environment microsoft --export-to-s3-task file://<RUTA-AL-FICHERO>
```

{/\* 📸 CAPTURA 7 · PowerShell · carga de variables y comando de exportación \*/}

![Carga de variables y comando de exportación de la instancia](https://REEMPLAZA-URL/servidores-migracion-aws-07.png)

<br>

#### 3.5 Recoge la URL del VHD

El proceso tarda según el tamaño del servidor. Cuando termine, entra en el bucket S3, abre la carpeta del prefijo que definiste (por ejemplo, `vms/`) y, sobre el VHD, **copia la URL** del objeto. Es la que usarás para importar en Plenit (también puedes descargar el VHD, pero para la migración lo práctico es la URL).

{/\* 📸 CAPTURA 8 · bucket S3 · objeto VHD con la opción de copiar la URL \*/}

![Copia de la URL del VHD en el bucket S3](https://REEMPLAZA-URL/servidores-migracion-aws-08.png)

<br>

### Paso 4. Importa el disco en Plenit

En **Cloud Services → Migrations**, pulsa **Nueva migración**.

> 🚧 Importa desde el mismo equipo de la operativa AWS
>
> La importación por URL debe lanzarse desde el equipo en el que hiciste todo el proceso de AWS.

<br>

#### 4.1 Servicio y tipo de origen

Selecciona **Servidores** y, como tipo, **Virtual**.

{/\* 📸 CAPTURA 9 · asistente · servicio Servidores y tipo Virtual \*/}

![Selección de Servidores y tipo Virtual en el asistente](https://REEMPLAZA-URL/servidores-migracion-aws-09.png)

<br>

#### 4.2 Formato, método y datos del disco

Selecciona **Discos Virtuales Compatibles** como formato y **descarga mediante URL** como método de entrega (más rápido que el FTP, al evitar la intermediación). Rellena los datos del disco:

* **Nombre del fichero** con su extensión (la del Paso 3).
* **URL del disco**: la que copiaste del bucket.
* **Tipo de disco**: el principal del sistema operativo, de sistema; los demás, de datos.
* **Nombre a mostrar**: el identificador del disco en la consola.

Pulsa **Siguiente**.

{/\* 📸 CAPTURA 10 · asistente · descarga mediante URL y datos del disco \*/}

![Formato, método por URL y datos del disco](https://REEMPLAZA-URL/servidores-migracion-aws-10.png)

<br>

#### 4.3 Organización, suscripción y despliegue

Indica la **organización**, la **suscripción** y la **zona de disponibilidad** donde subir el disco. A la pregunta de desplegar un servidor nuevo con los discos importados, lo habitual es **Sí**.

{/\* 📸 CAPTURA 11 · asistente · organización, suscripción, zona y opción de desplegar \*/}

![Selección de organización, suscripción y despliegue](https://REEMPLAZA-URL/servidores-migracion-aws-11.png)

<br>

#### 4.4 Servidor de destino

Si elegiste desplegar, indica el **nombre** (admite espacios), el **sistema operativo**, el **tamaño** (CPU y RAM) y el **tipo de red** (estándar o VPC). Pulsa **Finalizar**.

{/\* 📸 CAPTURA 12 · asistente · configuración del servidor de destino \*/}

![Configuración del servidor de destino](https://REEMPLAZA-URL/servidores-migracion-aws-12.png)

Con esto quedan sentadas las bases de la migración y arrancan los procesos internos que desembocan en el despliegue del servidor en la suscripción elegida.

<br>

### Conclusión

Esta migración es la más laboriosa del bloque porque casi todo ocurre en AWS: preparar la máquina, dejar el bucket S3 con la región y los permisos correctos, cargar las credenciales y lanzar la exportación a VHD.

Dos cosas la condicionan por completo: respetar los límites de exportación de AWS (nada de Windows, SQL Server, imágenes de Marketplace o volúmenes de más de 1 TB) y que la ACL del bucket tenga bien puesto el beneficiario de Plenit, porque es lo que permite recoger la exportación. Con el VHD ya en S3, importarlo en Plenit es pegar su URL en el asistente, eso sí, desde el mismo equipo donde hiciste el trabajo en 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/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.
