¿Cómo implementar AWS EFS para compartir el sistema de archivos entre EC2?

Si está trabajando en un entorno de aplicación de varios servidores en el que tiene el requisito de compartir un sistema de archivos entre varios servidores, debe configurar NFS (Sistema de archivos de red).

NFS le permite compartir el sistema de archivos en más de un servidor, pero la implementación requiere algunas habilidades de administración.

En un entorno de infraestructura tradicional, es posible que deba involucrar a varios equipos y llevaría tiempo crear NFS. Pero si está utilizando AWS, puede hacerlo en unos minutos con su servicio EFS (Elastic File System).

EFS de AWS le permite crear almacenamiento de archivos escalable para usar en EC2. No tiene que preocuparse por la previsión de la capacidad, ya que puede escalar hacia arriba o hacia abajo según la demanda.

Se tomó una ilustración rápida de la página de AWS para darle una idea de cómo funciona.

Algunas de las ventajas de EFS son:

  • Totalmente administrado por AWS.
  • Bajo costo, paga por lo que usas.
  • Alta disponibilidad y durabilidad
  • Escala automáticamente hacia arriba o hacia abajo.
  • Rendimiento escalable

Tengo dos instancias de Ubuntu EC2 en ejecución y, en este tutorial, crearé un EFS y luego lo montaré en ambos servidores EC2.

Vamos a ponerlo en marcha.

  • Inicie sesión en la consola de AWS
  • Vaya a Servicios y seleccione EFS en almacenamiento (enlace directo)
  • Haz clic en «Crear sistema de archivos».

  • AWS asignará automáticamente una dirección IP en la zona de disponibilidad. Puede hacerlo en la siguiente pantalla si necesita cambiarlo.

  • Agregue la etiqueta si lo necesita y seleccione el modo de rendimiento entre Propósito general o E/S máx.

  • Revise la configuración y, si todo está bien, haga clic en «Crear sistema de archivos».

Puede tardar unos segundos y, una vez hecho, recibirá un mensaje de éxito.

¡Éxito!

Ha creado un sistema de archivos. Puede montar su sistema de archivos desde una instancia EC2 con un cliente NFSv4.1 instalado. También puede montar su sistema de archivos desde un servidor local a través de una conexión de AWS Direct Connect.

Podrá ver el sistema de archivos elástico recién creado en la lista.

Esto concluye que ha creado EFS y está listo para montarse en instancias EC2.

Montaje de EFS en EC2

Antes del montaje, debe instalar el cliente NFS. Si amplía la lista y hace clic en «Instrucciones de montaje de Amazon EC2», obtendrá los detalles.

Pero vamos a ver cómo va.

  • Inicie sesión en ambas instancias EC2 e instale el cliente NFS. Tengo Ubuntu, así que usaré lo siguiente.
apt-get install nfs-common
  • Vamos a crear una carpeta donde quieras montar el EFS.

Ej: /aplicaciones

cd / 
mkdir apps

Monte el sistema de archivos con el comando dado en las instrucciones.

Ex:

mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-4fd14a06.efs.us-east-1.amazonaws.com:/ apps

Nota: Si encuentra algún problema durante el montaje, consulte este guía para resolver problemasy no olvide comprobar los grupos de seguridad para asegurarse de lo siguiente.

  • El puerto NFS (2049) está permitido en las reglas de entrada de la instancia EC2
  • Los grupos de seguridad de EC2 están permitidos en los grupos de seguridad de EFS

Tardará unos segundos y notará que /apps está montado si ejecuta el comando df -h

[email protected]:/# df -h | grep apps 
fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% /apps 
[email protected]:/#

Ahora, debe iniciar sesión en otro servidor donde desee tener /apps disponibles y repetir la creación de una carpeta y montar el EFS.

Para verificar, monté mi EFS en otro servidor y puedo ver que se puede acceder a /apps en ambos servidores.

[email protected]:/apps# df -h | grep apps 
fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% 
/apps [email protected]:/apps#

Esto es fácil, ¿no?

Intenté crear algunos archivos y, en general, el rendimiento se ve bien. AWS EFS parece prometedor, y si necesita compartir el sistema de archivos entre instancias EC2, pruébelo y estoy seguro de que le gustará.

¿Está interesado en obtener más información sobre AWS? Mira esto Curso de Udemy.

¿Te gustó leer el artículo? ¿Qué tal compartir con el mundo?