Cómo transferir archivos de EC2 a S3

Cómo transferir archivos de EC2 a S3
EC2 (Elastic Compute Cloud) es un servicio de cómputo escalable proporcionado por AWS. Puede usar el servicio AWS EC2 para iniciar servidores virtuales en la nube en segundos o minutos. AWS proporciona selección a nivel de hardware mientras inicializa una instancia EC2 (EC2 Virtual Machine). Puede seleccionar arquitectura de hardware, sistema operativo, almacenamiento y diferentes configuraciones de CPU y memoria dependiendo de sus requisitos.
S3 (un servicio de almacenamiento simple) es un servicio de almacenamiento altamente disponible y escalable proporcionado por AWS. Proporciona un almacenamiento casi infinito, pero solo se le cobrará por lo que usa de este almacenamiento. S3 almacena sus datos en varios lugares para que no pierda sus datos en caso de desastre. Es por eso que S3 se puede usar para hacer una copia de seguridad de sus datos importantes.
Mientras trabaja en EC2, a veces necesita almacenar algunos datos importantes de la instancia de EC2 a S3 regularmente, como las copias de seguridad de la base de datos o algunos otros datos importantes como copia de seguridad porque los servidores EC2 pueden bloquearse en AWS, y puede perder todos sus datos. En este blog, discutiremos cómo podemos mover datos importantes de EC2 a S3.

Instalación del paquete AWSCLI

Primero, debe instalar el awscli Paquete en su instancia de EC2. El awscli El paquete se utiliza para interactuar con AWS usando la interfaz de línea de comandos. Revise la versión del awscli paquete para verificar si ya está instalado o no.

ubuntu@ubuntu: ~ $ aws --version

Para instalar el awscli Paquete, primero, descargue el archivo zip empaquetado usando el comando curl.

ubuntu@ubuntu: ~ $ curl "https: // awscli.amazonaws.com/awscli-exe-linux-x86_64.ZIP "-O" AWSCLIV2.cremallera"

Descompensar el paquete usando el abrir la cremallera dominio.

ubuntu@ubuntu: ~ $ unzip awscliv2.cremallera

Instala el awscli paquete usando el siguiente comando.

ubuntu@ubuntu: ~ $ sudo ./AWS/Instalar

Habilitar el acceso S3 en la instancia de EC2

Después de instalar el awscli Paquete, ahora habilite el acceso S3 en la instancia de EC2 para que la instancia de EC2 pueda almacenar datos en S3. Hay dos formas de otorgar acceso a la instancia de EC2. Puedes usar cualquiera de ellos para otorgar acceso.

  • Acceso de subvención utilizando el rol de IAM (forma recomendada)
  • Acceso de subvención utilizando la ID de clave de acceso

Acceso de subvención utilizando el rol de IAM (forma recomendada)

Las instancias de EC2 se pueden otorgar acceso para cargar archivos en S3 utilizando el rol de IAM. Se crea y se adjunta un papel de IAM con acceso a datos de carga en S3 a la instancia de EC2.

NOTA: Nunca otorgue permisos adicionales utilizando el rol de IAM. Si alguien más tiene acceso a su instancia de EC2, puede usarlo para proporcionar recursos adicionales a su cuenta.

Para crear un rol de IAM, primero, cree una política de IAM con permisos específicos. Inicie sesión en la consola de administración de AWS y busque IAM en la barra de búsqueda.

Haga clic en las 'Políticas' desde el panel del lado izquierdo en 'Gestión de acceso'.

Ahora haga clic en el botón 'Crear política' que aparece en el lado derecho.

Mostrará una página para crear una política. Seleccione la pestaña 'Editor visual' en la parte superior.

Del editor visual, seleccione S3 como servicio, Putobject bajo la categoría de escritura como acción, y Todos los recursos Como recurso.

Después de especificar el servicio, la acción y el recurso, ahora haga clic en el botón 'Siguiente' en la esquina inferior derecha.

Las etiquetas son opcionales y se pueden omitir haciendo clic en el botón 'Siguiente' en la esquina inferior derecha.

Agregue el nombre de la política en la página de revisión y haga clic en el botón 'Crear política' para crear la política.

Después de crear la política IAM, haga clic en los 'roles' desde el panel lateral izquierdo en la consola IAM.

Haga clic en el botón 'Crear rol' para crear un nuevo rol.

Seleccione 'Servicio AWS' como una entidad confiable y 'EC2' como un caso de uso y haga clic en el botón 'Siguiente' para agregar permisos.

Para permisos, seleccione la política IAM creada en el paso anterior y haga clic en 'Siguiente'.

Agregue el nombre de rol y haga clic en el botón 'Crear rol' para crear el rol.

Ahora se ha creado el papel de IAM; Es hora de adjuntarlo a la instancia de EC2. Busque el EC2 en la consola de administración de AWS.

Haga clic en las 'instancias' desde el panel lateral izquierdo, y mostrará todas las instancias.

Seleccione la instancia en que desea otorgar acceso para cargar archivos en S3 y haga clic en el botón 'Acciones' en la esquina superior derecha de la consola. Seleccione la seguridad> Modificar el rol de IAM en el menú desplegable.

Seleccione el rol IAM creado anteriormente y haga clic en el botón Guardar. Ahora se le ha otorgado el acceso a la instancia de EC2 para cargar archivos en S3.

Acceso de subvención utilizando la ID de clave de acceso

Para otorgar acceso a EC2 una instancia utilizando la clave de acceso, primero genere una nueva clave de acceso desde la consola IAM. Desde la consola IAM, haga clic en los 'usuarios' debajo del 'acceso de administración' desde el panel del lado izquierdo.

Haga clic en su cuenta de usuario y vaya a la pestaña 'Credenciales de seguridad' de la lista del usuario.

En la pestaña 'Credenciales de seguridad', haga clic en 'Crear clave de acceso' para generar una nueva tecla de acceso.

Descargue el archivo CSV que contiene la ID de clave de acceso y la clave de acceso secreto.

Después de generar la ID de clave de acceso y la clave de acceso secreto, inicie sesión en la instancia de EC2 usando SSH y configure la tecla de acceso.

Ubuntu@ubuntu: ~ $ AWS Configurar

Solicitará una ID de clave de acceso y la clave de acceso secreto. Proporcionar las credenciales que acabamos de generar.

Ahora la instancia de EC2 tiene acceso para cargar los archivos en S3 usando la interfaz de línea de comando.

Cargar archivos a S3 desde EC2

Antes de subir los archivos a S3, primero, cree un cubo S3. Desde la consola de gestión, busque S3.

Desde la consola S3, haga clic en el botón 'Crear cubo'.

Ingrese el nombre y la región del cubo, deje el resto de la configuración de forma predeterminada y cree el cubo. El nombre del cubo S3 debe ser universalmente único.

Ahora inicie sesión en su instancia de EC2 usando SSH y cargue el archivo en S3 usando la interfaz de línea de comandos. La sintaxis para cargar el archivo en S3 es el siguiente.

Ubuntu@ubuntu: ~ $ AWS S3 CP [Archivo de origen] [Destino en S3] -Región [Región S3 Bucket]

Para copiar un archivo llamado archivo.txt a s3, use el siguiente comando.

Ubuntu@ubuntu: ~ $ AWS S3 CP File.txt s3: // linuxhint-demo-bucket/--region us-east-1

Para verificar si el archivo está presente en el cubo S3 o no, use el siguiente comando.

Ubuntu@ubuntu: ~ $ AWS S3 LS S3: // Linuxhint-Demo-Bucket/-Region US-East-1

El archivo ha sido copiado al cubo S3. En lugar de copiar un archivo a S3, también podemos mover el archivo a S3.

Ubuntu@ubuntu: ~ $ AWS S3 MV New-File.txt s3: // linuxhint-demo-bucket/--region us-east-1

Conclusión

Los archivos de las instancias de EC2 se pueden guardar como una copia de seguridad cargándolos en S3 (servicio de almacenamiento simple). Este blog describe el procedimiento para cargar archivos de EC2 a S3 usando dos formas diferentes, yo.mi., Usando el rol de IAM y la ID de clave de acceso. Después de leer este blog, espero que pueda transferir fácilmente archivos de EC2 a S3 usando de cualquier manera.