What is AWS EC2?
AWS EC2 is short for Amazon Web Services Elastic Compute Cloud. Such a clever name!
What is it really? In the simplest terms it is a web service. Here’s what Wikipedia says about web services:
If we dive a little deeper, AWS EC2 is a web service that allows you to rent increments of processing power, storage capacity, and connectivity to the network running within AWS’s giant infrastructure.
I interviewed our Cloud Team here at Metal Toad. Here’s how they describe AWS EC2 in their own words:
“Amazon’s implementation of virtual machines, in a large variety of sizes and capabilities. They’re essentially the original reason for AWS existing, but as AWS goes more service- and container-oriented, they’re becoming somewhat less central to their offerings. Most people start out with learning how to do basic AWS networking and EC2 instance management.”
-- Michael Ellis, Senior Cloud Engineer
"EC2 is basically having your very own hypervisor running on someone else's top notch hardware, but with virtual infrastructure too, like subnetting and firewalls."
-- Tyler Roberts, Systems Administrator
AWS EC2 allows you to build out your environment with virtual servers, selecting CPU, memory, storage, and network capacity based on your requirements. You can also have multiple physical locations across the world, allowing your data and/or applications to be closer to your target audience for speed and reduced latency.
Security is a huge aspect of EC2 as well, allowing you to securely store login information using AWS Key Pairs, you store the private on your local machine, and Amazon stores the public, making brute force password attacks null and void. Software firewalls that allow you to configure allowed ports, protocols, and IP address ranges either access to, or block access from, whatever needs you have to secure your environment even further. EC2 Security Groups are also an easy way to tightly lock down your data, even down to controlling specific users and automated processes on what services they can access.
Networking is a large part of the EC2 service as well; static IP addresses (Elastic IPs), and VPCs (virtual private clouds) which you can configure to separate your production, stage, and dev environments for extra security, performance, and cost savings (for example, you wouldn't necessarily want to have or need to have a staging environment as powerful as your production environment, and can adjust your chosen EC2 instance hardware configuration accordingly, and separate network traffic entirely between VPC's)
And finally, one of the most powerful features of AWS EC2 is AMIs (Amazon Machine Images) of which you can create your own custom versions of, or pick from hundreds in the Amazon Market Place, from CentOS to Windows, and most things in between, and with custom software and configurations available for almost any application.
AWS EC2 FAQ
Does AWS free support EC2-VPC?
Yes. AWS does have free tier EC2-VPC instances, and you have basic free support with AWS forums, and their extensive documentation. AWS actually has a LOT of services that have free levels, here is a link to all of those. EC2 and VPC are some of the staples of AWS and usually the first stop for new users.
Does AWS free support EC2-VPC?
Yes. Create the keypair, create the user on the OS with the public key, and they’re ready to connect from their own box with the private key via SSH.
How to SSH into an AWS EC2 instance?
To SSH into an AWS EC2 instance you need to have an account on the EC2 instance with a public key, and a matching private key on your local system in order to ssh in. You’ll also want to make sure your security group allows port 22 from your current IP address.
Just like you would a bare metal server or VM. Each EC2 instance can be assigned public and/or private IP addresses.
Other Experts on AWS EC2
A few more descriptions from AWS themselves and experts out in the world:
“Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment.”
“Amazon EC2 (Elastic Compute Cloud), one of Amazon Web Services’ most well-known services, offers businesses the ability to run applications on the public cloud. Developers can create instances of virtual machines and easily configure the capacity scaling of instances using the EC2 web interface.
EC2 also allows users to build apps to automate scaling according to changing needs and peak periods, and makes it simple to deploy virtual servers and manage storage, lessening the need to invest in hardware and helping streamline development processes.”
-- Sumo Logic
“Elastic Cloud Compute (EC2) instances are one of their core resource offerings, and they form the backbone of most cloud deployments. EC2 instances provide you with customizable and scalable server options. Let’s deconstruct the current AWS offerings as of April 2019 in order to best understand the EC2 offerings that are currently available.”