In this tutorial we are going to help you use the AWS Command Line Interface (CLI) to access Amazon S3. We will do this so you can easily build your own scripts for backing up your files to the cloud and easily retrieve them as needed. This will make automating your backup process faster, more reliable, and more programmatic. You can use this information to build a scheduled task (or cron job) to handle your backup operations.
Note: This tutorial builds upon the concepts from the Backing Up Your Files to Amazon S3 tutorial. If you haven't done that tutorial yet, you should complete that tutorial first.
In this step, using the IAM service you will create a user account with administrative permission. In later steps you will use this user account to securely access AWS services using the AWS CLI.
a. When you click here, the AWS management console will open in a new browser window, so you can keep this step-by-step guide open. When this screen loads, enter your user name and password to get started. Then type IAM in the search bar and select IAM to open the Identity and Access Management dashboard.
b. From the AWS Identity and Access Management dashboard, click on Users on the left side.
c. Click the Add user button.
d. Enter a user name in the textbox next to User name: (we’ll use AWS_Admin for this example) and select Programmatic access in the Select AWS Access Type section. Click the Next: Permissions button.
e. Click on Attach existing policies directly option. Select AdministratorAccess then click Next: Review.
f. Click on Create user.
g. Click the Download Credentials button and save the credentials.csv file in a safe location (you’ll need this later in step 3) and then click the Close button.
Now that you have your IAM user, you need to install the AWS Command Line Interface (CLI). Below are instructions based on the kind of operating system you are using; please select the tab that corresponds to your operating system.
Select PC from the tabs below if you are using a Windows-based computer.
Select Mac/Linux from the tabs below if you are using a machine running OSX or Linux.
a. Creating a bucket is optional if you already have a bucket created that you want to use. To create a new bucket named my-first-backup-bucket type:
aws s3 mb s3://my-first-backup-bucket
Note: bucket naming has some restrictions; one of those restrictions is that bucket names must be globally unique (e.g. two different AWS users can not have the same bucket name); because of this, if you try the command above you will get a BucketAlreadyExists error.
b. To upload the file my first backup.bak located in the local directory (C:\users) to the S3 bucket my-first-backup-bucket, you would use the following command:
aws s3 cp “C:\users\my first backup.bak” s3://my-first-backup-bucket/
Or, use the original syntax if the filename contains no spaces.
c. To download my-first-backup.bak from S3 to the local directory we would reverse the order of the commands as follows:
aws s3 cp s3://my-first-backup-bucket/my-first-backup.bak ./
d. To delete my-first-backup.bak from your my-first-backup-bucket bucket, use the following command:
aws s3 rm s3://my-first-backup-bucket/my-first-backup.bak
Congratulations! You have set up an IAM user, configured your machine for use with the AWS command line interface and you have learned how to create, copy, retrieve, and delete files from the cloud. In the next tutorial you’ll learn how to set up a virtual tape drive for use in backing up file from an existing backup program like Veeam, Symantec Backup Exec, Microsoft System Center 2012 Data Protection Manager, or other back up programs.