Utilizar Amazon S3 con instancias de Amazon EC2 - Amazon Elastic Compute Cloud

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?

Los objetos son las entidades fundamentales almacenadas en Amazon S3. Todos los objetos almacenados en Amazon S3 están dentro de un bucket. Los buckets organizan el espacio de nombres de Amazon S3 en el nivel más alto e identifican la cuenta responsable de ese almacenamiento. Los buckets de Amazon S3 son similares a los nombres de dominios de Internet. Los objetos almacenados en los buckets poseen un valor de clave único y se recuperan utilizando una dirección URL. Por ejemplo, si un objeto con el valor clave /photos/mygarden.jpg se almacena en el bucket amzn-s3-demo-bucket1, es direccionable mediante la URL https://amzn-s3-demo-bucket1.s3.amazonaws.com/photos/mygarden.jpg. Para obtener más información, consulte Cómo funciona Amazon S3.

Ejemplos de uso

Dados los beneficios que tiene Amazon S3 para el almacenamiento, es posible que desee utilizar este servicio para almacenar archivos y conjuntos de datos para utilizarlos con instancias de EC2. Hay varias formas de mover datos entre Amazon S3 y sus instancias. Además de los ejemplos que se explican más abajo, existen muchas herramientas que se han creado para poder obtener acceso a sus datos en Amazon S3 desde su equipo o su instancia. Algunas de las más comunes se explican en los foros de AWS.

Si tiene permiso, puede copiar un archivo entre Amazon S3 y su instancia utilizando uno de los métodos siguientes.

GET or wget (Linux)
nota

Este método solo funciona para objetos públicos. Si el objeto no es público, recibirá un mensaje ERROR 403: Forbidden. Si recibe este error, debe utilizar la consola de Amazon S3, la AWS CLI, la API de AWS, los AWS SDK o AWS Tools for Windows PowerShell, y debe disponer de los permisos necesarios. Para obtener más información, consulte Administración de la identidad y el acceso en Amazon S3 y Descarga de un objeto en la Guía del usuario de Amazon S3.

La utilidad wget es un cliente HTTP y FTP que le permite descargar objetos públicos desde Amazon S3. Se instala de forma predeterminada en Amazon Linux y la mayoría de las distribuciones y se puede descargar en Windows. Para descargar un objeto de Amazon S3, utilice el siguiente comando, sustituyendo la URL del objeto que va a descargar.

[ec2-user ~]$ wget https://my_bucket.s3.amazonaws.com/path-to-file
AWS Tools for Windows PowerShell (Windows)

Las instancias de Windows tienen el beneficio de un navegador gráfico que puede utilizar para obtener acceso a la consola de Amazon S3 directamente. Sin embargo, para los fines del scripting, los usuarios de Windows también pueden utilizar las AWS Tools for Windows PowerShell para mover objetos desde y hacia Amazon S3.

Utilice el siguiente comando para copiar un objeto de Amazon S3 a su instancia de Windows.

PS C:\> Copy-S3Object -BucketName my_bucket -Key path-to-file -LocalFile my_copied_file.ext
AWS CLI (Linux and Windows)

La AWS Command Line Interface (AWS CLI) es una herramienta unificada para administrar los servicios de AWS. La AWS CLI permite a los usuarios autenticarse y descargar elementos restringidos de Simple Storage Service (Amazon S3), además de cargar elementos. Para obtener más información sobre cómo instalar y configurar las herramientas, consulte la página de detalles de AWS Command Line Interface.

El comando aws s3 cp es similar al comando cp de Unix. Puede copiar archivos de Amazon S3 en su instancia, copiar archivos de su instancia en Amazon S3 y copiar archivos de una ubicación de Amazon S3 en otra.

Utilice el siguiente comando para copiar un objeto de Amazon S3 a su instancia.

aws s3 cp s3://my_bucket/my_folder/my_file.ext my_copied_file.ext

Utilice el siguiente comando para copiar un objeto de su instancia de nuevo en Amazon S3.

aws s3 cp my_copied_file.ext s3://my_bucket/my_folder/my_file.ext

El comando aws s3 sync puede sincronizar un bucket de Amazon S3 completo en una ubicación de un directorio local. Esto puede facilitar la descarga de un conjunto de datos y mantener la copia local actualizada con el conjunto remoto. Si posee los permisos adecuados en el bucket de Amazon S3, puede enviar su directorio local a la nube cuando haya terminado invirtiendo las ubicaciones de origen y destino en el comando.

Utilice el comando siguiente para descargar un bucket de Amazon S3 completo en un directorio local de su instancia.

aws s3 sync s3://remote_S3_bucket local_directory
Amazon S3 API

Si es desarrollador, puede utilizar una API para obtener acceso a los datos en Amazon S3. Puede utilizar esta API en el desarrollo de la aplicación e integrarla con otras API y SDK. Para obtener más información, consulte Ejemplos de código para Amazon S3 con SDK de AWS en la Guía del usuario de Amazon S3.