What is AWS CLI?

What is AWS CLI?
(Image credit: Image Credit: Pixabay)

Here’s a curious fact of modern computing. For those who have grown up with modern interfaces such as Windows 10 and Apple iOS 11, the idea of a “command line interface” is a bit peculiar. We’re so accustomed to seeing, clicking, and executing that any kind of textual interface (other than actually texting on a phone) is lost on large masses of people.

That’s not true when it comes to cloud computing services, such as Amazon Web Services and the Command Line Interface (or AWS CLI). In fact, for anyone who has worked in a data center, is comfortable with Linux, creates web applications, or remembers the early days of MS-DOS, a command line is not a crippled, old school system but rather a powerful way to control and execute commands.

Technically speaking, the CLI is a downloadable app you use to control AWS functions. That means for Windows users you will need to install and run the 32-bit or 64-bit version of the CLI. On a Mac or Linux distro, you will need to use Python 2.6.5 or higher and install using pip.

After that, the CLI is a terminal service in that it looks like the MS-DOS command line and has scripts you can execute, which saves time and effort. You can start with the basics by typing a help command in the CLI which walks you through what you can type and why.

One key to understanding how CLI works and why you can benefit from using it as an organization is to understand that AWS is a comprehensive cloud computing environment. There are many components, and it’s not always easy to understand how they all work (and how they work together). A CLI helps technical staff execute commands without having to review every feature and function or use a graphical interface.

This means if you have a team to deal only with cloud storage, and you spell out the commands available and what they do, those team members can execute those commands and use the scripting variables required, without having to worry about any other features within AWS.

Benefits of AWS CLI

The true power of the CLI is in its simplicity. As with any command line interface, you can issue commands that are powerful, reduce complexity (ironically because it is not all spelled out in a potentially confusing GUI), and save time with your cloud management and working with your cloud computing infrastructure. It is intended for IT employees, programmers, and other technical folks at your company to be able to perform cloud computing tasks without taking as many steps.

The technical team at most companies are almost always busy with multiple tasks that all seem urgent. They are managing client devices, installing security patches, reconfiguring networking, and dealing with printers and copiers that are not working for a specific department. In short, they are running around like the proverbial headless chickens. AWS CLI provides a way to execute scripts such as looking at Amazon S3 storage instances, triggering backups, performing recursive uploads and downloads, viewing buckets, and inspecting services. At the same time, CLI also lets the technical staff configure AWS itself.

Some of these tasks can be performed within the AW GUI, although not every command is available and some might not be as easy to find, execute or use repeatedly in an automated way. Your technical staff will learn quickly that the CLI is meant to make their jobs easier.

Examples of usage

As with any CLI, there are scripts you can use to trigger certain activities. One of the best ways to understand how the CLI works and why it is so beneficial is to consider how it helps administer the AWS S3 cloud storage environment. (S3 stands for Simple Storage Service and is really the backbone of AWS for all file storage, archiving, and management.)

Without providing the actual command lines (which you can find easily enough in the usage guide), some of the basic functions include the ability to copy one instance of a file store that is local out to the cloud computing storage repository. The basic usage here is to use the sync command and to name the local file store and the target file store on AWS S3.

For AWS itself, you can view the contents of an AWS bucket (similar to a file folder) by using a command to view the contents of a bucket. Because this is a CLI, you can add the script variables such as which S3 instance you want to inspect. You can also start instances, describe instances, publish instances, and manage them. (An instance in AWS parlance is an object such as storage, memory, and networking which are all intended to help you run web applications for your company and manage the related resources.)

John Brandon

John Brandon has covered gadgets and cars for the past 12 years having published over 12,000 articles and tested nearly 8,000 products. He's nothing if not prolific. Before starting his writing career, he led an Information Design practice at a large consumer electronics retailer in the US. His hobbies include deep sea exploration, complaining about the weather, and engineering a vast multiverse conspiracy.