Use Amazon S3 with Amazon EC2
Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. You can use Amazon S3 to store and retrieve any amount of data for a range of use cases, such as data lakes, websites, backups, and big data analytics, from an Amazon EC2 instance or from anywhere over the internet. For more information, see What is Amazon S3?
Objects are the fundamental entities stored in Amazon S3. Every object stored in Amazon S3 is contained
in a bucket. Buckets organize the Amazon S3 namespace at the highest level and identify the account
responsible for that storage. Amazon S3 buckets are similar to internet domain names. Objects stored
in the buckets have a unique key value and are retrieved using a URL. For example, if an object
with a key value /photos/mygarden.jpg
is stored in the
bucket, then it is addressable using the URL DOC-EXAMPLE-BUCKET1
https://
.
For more information, see
How Amazon S3 works.DOC-EXAMPLE-BUCKET1
.s3.amazonaws.com/photos/mygarden.jpg
Usage examples
Given the benefits of Amazon S3 for storage, you might decide to use this service to store files and data sets for use with EC2 instances. There are several ways to move data to and from Amazon S3 to your instances. In addition to the examples discussed below, there are a variety of tools that people have written that you can use to access your data in Amazon S3 from your computer or your instance. Some of the common ones are discussed in the AWS forums.
If you have permission, you can copy a file to or from Amazon S3 and your instance using one of the following methods.
AWS Tools for Windows PowerShell
Windows instances have the benefit of a graphical browser that you can use to
access the Amazon S3 console directly; however, for scripting purposes, Windows users can
also use the AWS Tools for Windows PowerShell
Use the following command to copy an Amazon S3 object to your Windows instance.
PS C:\>
Copy-S3Object -BucketName
my_bucket
-Keypath-to-file
-LocalFilemy_copied_file.ext
AWS Command Line Interface
The AWS Command Line Interface (AWS CLI) is a unified tool to manage your AWS services. The AWS CLI
enables users to authenticate themselves and download restricted items from Amazon S3 and
also to upload items. For more information, such as how to install and configure the
tools, see the AWS Command Line Interface detail
page
The aws s3 cp command is similar to the Unix cp command. You can copy files from Amazon S3 to your instance, copy files from your instance to Amazon S3, and copy files from one Amazon S3 location to another.
Use the following command to copy an object from Amazon S3 to your instance.
aws s3 cp s3://
my_bucket
/my_folder
/my_file.ext
my_copied_file.ext
Use the following command to copy an object from your instance back into Amazon S3.
aws s3 cp
my_copied_file.ext
s3://my_bucket
/my_folder
/my_file.ext
The aws s3 sync command can synchronize an entire Amazon S3 bucket to a local directory location. This can be helpful for downloading a data set and keeping the local copy up-to-date with the remote set. If you have the proper permissions on the Amazon S3 bucket, you can push your local directory back up to the cloud when you are finished by reversing the source and destination locations in the command.
Use the following command to download an entire Amazon S3 bucket to a local directory on your instance.
aws s3 sync s3://
remote_S3_bucket
local_directory
Amazon S3 API
If you are a developer, you can use an API to access data in Amazon S3. For more information, see the Amazon Simple Storage Service User Guide. You can use this API and its examples to help develop your application and integrate it with other APIs and SDKs, such as the boto Python interface.