AWS CloudShell — Finally!

AWS Cloudshell from AWS News Blog

While exploring my passion and interest for cloud computing, I have tried and learnt AWS, Microsoft Azure and Google Cloud Platform. I started off on AWS and learnt how to use the AWS Management Console and AWS CLI. However, when I went to learn Azure and GCP, I realised a very glaring feature that AWS lacked. Azure and GCP each had their respective Cloud Shells, which were very useful. GCP had a cloud shell since its birth if I am not mistaken. This was something I was quite surprised at since I felt that the cloud shell was an amazing feature that helps simplify a lot of things from the AWS CLI.

This week I was reading the AWS News Blog as to see what’s new and happening when I saw an article by Jeff Barr on the release of AWS CloudShell. To me, it was like a “finally!” moment and I immediately wanted to try it out for myself. I will write briefly about AWS CloudShell as well as my own experience using it in this blog.

AWS CloudShell

There are many ways to interact with AWS resources. You can use the management console, the CLI, IaC (Infrastructure as Code), Terraform and many other methods. However, the CLI requires setting up using IAM access keys, public keys and the sort.

This is where AWS CloudShell comes in to save you that trouble. CloudShell is essentially an AWS CLI terminal running on an environment in AWS itself. It is easy to use, simple and very secure, with all your credentials already configured natively without you needing to do it yourself. The environment comes built-in with Python and Node runtimes, with plans to include more in the future.

AWS CloudShell Welcome Message

The shell environment uses Amazon Linux 2 and provides 1GB of file storage per region in the home directory which is persistent and will be available even after you close and reopen a new environment. There is even an IAM role for CloudShell, which is AWSCLoudShellFullAccess . For those who have used Azure and GCP CloudShells, it is a somewhat similar concept.

CloudShell can be accessed from the icon at the top right corner, similar to Azure.

CloudShell Features

AWS CloudShell comes with quite a few interesting features, some for customization, some for ease of access and others for general AWS use.

CloudShell allows you to change and customize your theme and display preferences to suit your needs and likes. This allows you to choose the most comfortable layout and configuration to use AWS CloudShell with.

AWS CloudShell Preferences

AWS CloudShell also allows you to create multiple sessions using tabs that can split horizontally or vertically. CloudShell offers very flexible layouts that you can use to maximize your productivity and see all the information you need at the same time. The below two examples are just 2 of the many different layouts you can create.

AWS CloudShell Vertical Split
AWS CloudShell Horizontal Split

Furthermore, you can also transfer files from your shell environment to your desktop and vice versa very easily as well. This way, you can import all your existing scripts into AWS CloudShell to be used.

Each CloudShell session also lasts about 20 minutes of inactivity before it times out. Files stored in the home directory persist between sessions of CloudShell. You can store a max of 1GB per region. However, any data not stored in the home directory is ephemeral and will disappear after you close and reopen a new CloudShell environment.

Current Limitations

As CloudShell is still newly released, there are a few limitations present.

Firstly, you can only open up to 10 concurrent shells in each region. This is a huge number but is still a limitation to those who will use more than 10 for whatever reason.

CloudShell sessions can communicate with the Internet using outbound traffic, but do not permit any inbound connections. Resources in private subnets are also unaccessible using CloudShell.

CloudShell is only available in US East (Virginia), US East (Ohio), US West (Oregon), Europe (Ireland) and the Asia Pacific (Tokyo) regions as of now. Hence, I was unable to try it out in my default region of Singapore. However, there are plans to expand to all regions in due time.

Lastly, AWS CloudShell currently only comes prepackaged with Node, Python, Bash, Powershell, jq, git, ECS CLI, SAM CLI, npm and pip. Other packages and runtimes will have to be manually added by you as of now.

CloudShell in Action

I decided to mess around with CloudShell on my own and see how it works. As CloudShell is not available in my region of Singapore, I changed to us-east-1 to test this out. Hence, there are no resources launched in this region.

Here I ran a simple describe-instances command after launching my CloudShell environment. You do not see any resources as I have not deployed any in us-east-1 but as you can see it works similarly to your own command line, without the need to run aws configure. After opening a CloudShell session, the aws command is already ready to use and all your credentials are already automatically configured.

This makes it quick and easy to access a CLI for managing your AWS resources. I am looking forward to CloudShell becoming more developed and available in all regions soon!

--

--

--

Making Cloud Computing easy to learn and adopt for everybody, tech trained or otherwise. Simple and quick to understand content

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Git let’s Go

Contributing to Golang using Google's Pixelbook

Ever since I was a little boy, I have only ever wanted to be a Doctor.

Supercharging Bulk DFIR triage with Node-RED, Google’s Log2timeline & Google’s Timesketch

A Python Approach to SEO: Automating the Boring Stuff

Dealing with Large Data Files and Bad git commits

Xcode: How to handle “local repository out of date”

ACID vs BASE in Databases

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cloud Digests

Cloud Digests

Making Cloud Computing easy to learn and adopt for everybody, tech trained or otherwise. Simple and quick to understand content

More from Medium

AWS re:Invent 2021- Day 3

Top 3 Takeaways from The 2022 AWS Summit In Brussels

Why Did We Migrate to AWS Cloud Platform?

Serverless the savior

Hercules