Utilizar Amazon S3 con instancias de Amazon EC2
Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes del sector. Puede usar Amazon S3 para almacenar y recuperar cualquier cantidad de datos para varios casos de uso, como lagos de datos, sitios web, copias de seguridad y análisis de macrodatos, desde una instancia de Amazon EC2 o desde cualquier lugar de Internet. Para obtener más información, consulte ¿Qué es Amazon S3?
Existen dos formas de acceder a los datos de Amazon S3 desde las instancias de Amazon EC2 que posee:
-
Acceso a archivos: utilice Amazon S3 Files para montar un bucket de S3 como sistema de archivos de alto rendimiento en la instancia que posee.
-
Acceso a objetos: utilice la API de Amazon S3, AWS CLI, los SDK de AWS o herramientas que, como wget, sirven para copiar objetos de S3 y pegarle otros dentro.
Acceso a archivos con Amazon S3 Files
Amazon S3 Files es un sistema de archivos sin servidor que le permite montar su bucket de uso general de S3 como sistema de archivos de alto rendimiento en la instancia de computación que posee. Con S3 Files, usted puede acceder a sus objetos de S3, como archivos, mediante operaciones estándar del sistema de archivos, como leer y escribir en la ruta de montaje local.
Puede montar un sistema de archivos de S3 en una instancia de EC2 durante el inicio, o bien después del inicio en una instancia en ejecución.
Requisitos previos
Antes de configurar S3 Files con la instancia de EC2 que posee, asegúrese de tener lo siguiente:
-
Un sistema de archivos de S3 y al menos un destino de montaje en el estado disponible. Para obtener información sobre cómo crear un sistema de archivos de S3, consulte Uso de archivos de Amazon S3 en la Guía del usuario de Amazon S3.
-
Una instancia de EC2 de Linux con un perfil de instancia asociado. Si quiere obtener información sobre los permisos necesarios para montar el sistema de archivos, consulte los Roles y políticas de IAM en la Guía del usuario de Amazon S3.
-
Grupos de seguridad que permitan el tráfico NFS (puerto 2049) entre su instancia y los destinos de montaje del sistema de archivos. Para obtener información sobre la configuración necesaria del grupo de seguridad, consulte Grupos de seguridad en la Guía del usuario de Amazon S3.
Para montar un sistema de archivos en una instancia de EC2 durante el inicio mediante la consola de EC2
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
Seleccione Iniciar instancia.
-
En Network settings (Configuración de red), haga lo siguiente:
-
Elija Edit (Edición de).
-
En Subred, seleccione una subred.
-
Elija el grupo de seguridad predeterminado para asegurarse de que la instancia de EC2 puede acceder al sistema de archivos de S3. No puede obtener acceso a la instancia EC2 mediante Secure Shell (SSH) con este grupo de seguridad. Para el acceso mediante SSH, puede editar más adelante el grupo de seguridad predeterminado y añadir una regla para permitir SSH, o bien añadir un nuevo grupo de seguridad que permita SSH. Puede utilizar la siguiente configuración:
-
Tipo: SSH
-
Protocolo: TCP
-
Rango de puerto: 22
-
Origen: cualquiera 0.0.0.0/0
-
-
-
En Configurar almacenamiento, haga lo siguiente:
-
En Sistemas de archivos, elija S3 Files.
-
Elija Agregar sistema de archivos compartidos.
-
En el sistema de archivos de S3, los sistemas de archivos aparecen en la zona de disponibilidad en función de la subred que seleccionó en la Configuración de red. Elija el sistema de archivos de S3 que desea montar. Si no dispone de ningún sistema de archivos, elija Crear un nuevo sistema de archivos para crear uno nuevo.
-
Ingrese una ruta de montaje local en la instancia de EC2 donde desee montar el sistema de archivos (por ejemplo,
/mnt/s3files). -
Se generará un comando para montar el sistema de archivos y agregarlo a fstab. Puede añadir este comando al campo de Datos de usuario en Detalles avanzados. La instancia de EC2 se configurará entonces para montar el sistema de archivos de S3 cuando se inicie y siempre que se reinicie. También puede ejecutar estos comandos en su instancia de EC2 una vez que se haya iniciado.
-
-
En Detalles avanzados, adjunte un perfil de instancia a su instancia. El rol de IAM debe tener permisos para montar el sistema de archivos y obtener acceso al bucket de S3. Si quiere obtener más información sobre los permisos necesarios, consulte los Roles y políticas de IAM en la Guía del usuario de Amazon S3.
-
Seleccione Iniciar instancia.
Una vez iniciada la instancia, se instalan las utilidades de software necesarias y se monta el sistema de archivos. Si desea ver el sistema de archivos, diríjase a la ruta de montaje local.
Para montar un sistema de archivos en una instancia de EC2 después del inicio
-
Conéctese a la instancia de EC2 a través de Secure Shell (SSH) o de EC2 Instance Connect en la consola de EC2.
-
Para montar el sistema de archivos de S3, use la utilidad de ayudante de montaje
amazon-efs-utils. Dependiendo de la distribución de Linux que tenga, use uno de los siguientes comandos para instalar el paquete deamazon-efs-utils:-
Si utiliza Amazon Linux, ejecute el siguiente comando para instalar efs-utils desde los repositorios de Amazon:
sudo yum -y install amazon-efs-utils -
Si utiliza otras distribuciones de Linux compatibles
, ejecute el siguiente comando: curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install -
Para otras distribuciones de Linux, consulte el repositorio de efs-utils
en GitHub.
-
-
Cree un directorio para el punto de montaje del sistema de archivos mediante el siguiente comando:
sudo mkdir {path/to/mount} -
Monte el sistema de archivos de S3:
FS="{YOUR_FILE_SYSTEM_ID}" sudo mount -t s3files $FS:/ {path/to/mount} -
Confirme que el sistema de archivos esté montado:
df -h {path/to/mount}
Para ver los objetos de su bucket de S3 como archivos
Ahora que ha completado los procedimientos anteriores, puede leer y escribir objetos de S3 como archivos en la ruta de montaje local mediante las operaciones del sistema de archivos estándar. Si tiene objetos en el bucket de S3, puede verlos como archivos mediante el siguiente comando:
ls {path/to/mount}
Acceso basado en objetos
Puede copiar archivos de Amazon S3 y pegarle otros dentro, mediante la API de S3, AWS CLI, los SDK de AWS o las herramientas HTTP estándar. Si tiene los permisos necesarios, puede copiar un archivo entre Amazon S3 y su instancia utilizando uno de los métodos siguientes.