AWS CLI is an efficient and powerful tool cause it enables developers and DevOps people to have a full control over their AWS cloud services by executing commands on a specified line. For an example you can make efficient file transfers to and from Amazon S3 → how to copy from AWS S3 bucket to Azure Blob Storage.
In this tutorial we will guide you through the installation process of AWS CLI, we will see how you can create a multiple named profiles and switch over them.
Prerequisites
- AWS account
- Linux bash environment
- sudo privileges
Installing AWS CLI
Step 1. Before installing the AWS CLI make sure that python and pip are already installed.
sudo python3 -V
sudo pip3 -V
If the output shows you that no packages are installed
you need to follow the next steps.
Step 2. Next you need to install Python3 and pip for Python3. But first update the package list using the following command and install the prerequisites.
sudo apt update
sudo apt install software-properties-common
Step 3. Now add the deadsnakes PPA to your sources list.
sudo add-apt-repository ppa:deadsnakes/ppa
Press Enter
to continue and install Python3.7.
sudo apt install python3.7
Step 4. To install pip for Python 3, execute:
sudo apt install python3-pip
Now, we can make sure that pip3 is installed by checking the pip version using the following command:
pip3 --version
The output
should look something like this:
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
Once you are finished with the python and pip installation we can continue with the AWS CLI installation.
Step 4. We can install AWS CLI simply by running the following command:
pip3 install awscli --upgrade --user
The --upgrade
option tells pip3 to upgrade any requirements that are already installed. The --user
option tells pip3 to install the program to a subdirectory of your user directory to avoid modifying libraries used by your operating system.
If you followed the above steps you have successfully installed AWS CLI
. Just to make sure, run:
aws --version
The output
should be similar to the following:
aws-cli/1.16.253 Python/3.7 Linux/5.0.0-31-generic botocore/1.12.243
Also, if you want to check which packages are outdated
, use the following command:
sudo pip3 list -o
Output:
Package Version Latest Type
------------ -------- -------- -----
asn1crypto 0.24.0 1.0.1 wheel
awscli 1.16.253 1.16.255 wheel
botocore 1.12.243 1.12.245 wheel
cryptography 2.1.4 2.7 wheel
idna 2.6 2.8 wheel
ipaddress 1.0.17 1.0.22 wheel
keyring 10.6.0 18.0.1 wheel
keyrings.alt 3.0 3.1.1 wheel
pygobject 3.26.1 3.34.0 sdist
pyxdg 0.25 0.26 wheel
rsa 3.4.2 4.0 wheel
setuptools 39.0.1 41.4.0 wheel
six 1.11.0 1.12.0 wheel
wheel 0.30.0 0.33.6 wheel
If you find your current version in the table, you can upgrade it using the following command:
pip3 install --upgrade --user awscli
Create multiple named profiles
Step 1. If you navigate to your home directory and list all the files you should see a hidden .aws
folder.
ls -la ~
Navigate to the AWS directory.
cd ~/.aws/
Step 2. Here you will find two configuration files config
and credentials
. In the fist one config
you need to configure your profiles by simply setting up the region
and the output format.
The config
file should look like the following:
[default]
output = json
region = eu-west-1
[profile user1]
output = json
region = eu-west-1
[profile user2]
output = json
region = eu-west-1
The AWS CLI supports three different output formats:
- JSON
- Tab-delimited text (text)
- ASCII-formatted table (table)
In the second one credentials
are stored the user aws_access_key_id
and aws_secret_access_key
which you can find them using the AWS Management Console, open the IAM
service, select the user that you want to use and navigate to the Security Credentials
section.
Step 3. Once you have the aws_access_key_id
and aws_secret_access_key
of the user you should put them into the credentials
file.
[default]
aws_access_key_id = AKIA44QJSDKDJSKHMHZYZ
aws_secret_access_key = U7uyCrEfVC4JP7LdsadsgsagsapQgawI88BsU2ByrJgyMOajaE
[user1]
aws_access_key_id = AKIAVQUFPSJGLSSLVVPJ
aws_secret_access_key = wgsau4Lq5JbU0-Cgdasdahsadgsagsagsay1wsWBozPZMrprln9
[user2]
aws_access_key_id = AFSSGASXKCN3LHMHZYZ
aws_secret_access_key = gsauyCrEfVC4JP7LpdhdhdshhdsvQgawI88BsUgsaasfyMOajaE
Step 4. Finally, to switch over the profiles you can use the following command:
export AWS_PROFILE=user1
To switch your second user use the same command.
export AWS_PROFILE=user2
Before making any actions on your AWS profile you need to make sure which profile you are currently using by running:
echo $AWS_PROFILE
Output:
user2
Conclusion
In this tutorial we learned how to install and use AWS CLI and how to switch over your AWS profiles. For more details on how to use AWS CLI
you can find at AWS CLI Documentation. Feel free to leave a comment below and if you find this tutorial useful, follow our official channel on Telegram.