AWS networking shares a lot in common with the way you run things locally; we’ll discuss some differences.
In this article, I’m going to break AWS networking down to its basic building blocks to offer some big-picture insight. By the way, you might enjoy Cloud Academy’s course on VPCs and AWS networking.
The following are what I believe the main network-oriented services on AWS:
- Amazon Virtual Private Clouds (VPCs) let you launch AWS resources into virtual, isolated networks defined to perfectly fit your needs.
- AWS Direct Connect links your local network to your AWS resources through an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable.
- Amazon Route 53 provides a highly available and scalable Domain Name System (DNS) web service.
AWS Networking: Virtual Private Cloud (VPC)
Properly understanding VPCs is critically important not only for AWS Networking but for successfully working with AWS itself. As always, AWS’s documentation is a great place to start.
Here’s their definition:
Amazon Virtual Private Cloud (Amazon VPC) enables you to launch Amazon Web Services (AWS) resources into a virtual network that you’ve defined. This virtual network closely resembles a traditional network that you’d operate in your own data center, with the benefits of using the scalable infrastructure of AWS.
So if you’re already familiar with networking, you are in luck: AWS networking’s use of virtual networks closely resembles a traditional network that you’d operate in your own data center. but even if you’re still a bit new to the scene, you can hopefully still pick up some important basics.
How is AWS VPC Networking different?
1. AWS Networking Configurations
Assuming you have an AWS account you should already have a configured VPC waiting for you. If you’d like to roll your own, open your VPC dashboard an select “Start VPC Wizard” you will see these four choices:
- VPC with a Single Public Subnet.
- VPC with Public and Private Subnets.
- VPC with Public and Private Subnets and Hardware VPN Access.
- VPC with a Private Subnet Only and Hardware VPN Access.
For the time being forget about the last two – which involve connecting to an external VPN – and concentrate on numbers one and two.
In a VPC with a Single Public Subnet, your instances run in a private, isolated section of the AWS cloud with direct access to the Internet. Network Access Control Lists and Security Groups can be used to provide close control over inbound and outbound network traffic to your instances.
In a VPC with Public and Private Subnets, besides a public subnet, this configuration adds a private subnet whose instances are not addressable from the Internet. Instances in the private subnet can establish outbound connections to the Internet via the public subnet using Network Address Translation (NAT).
So subnets come in two flavors, public and private. Here’s how they work:
- If a subnet’s traffic is routed to an Internet gateway, the subnet is known as a public subnet.
- If a subnet doesn’t have a route to the Internet gateway, the subnet is known as a private subnet.
Some other things to know about subnets:
- A Subnet lives within a VPC and within a single Availability Zone
- You can have multiple Subnets within a VPC that live in different Availability Zones
3. Regions and Availability Zones
AWS regions are completely isolated from each other. To reduce network traffic latency, it is usually best to choose a region that’s geographically close to you or your resources. While each AWS region is isolated, there are multiple Availability Zones within a region that are connected to each other via low-latency links.
4. Security Groups and NACLs
While Network Access Control Lists and Security groups both exist to control network traffic, their main difference is that ACLs act as a firewall for controlling traffic into and out of subnets, while security groups provide security at the instance level.
5. Internet Gateways
When you launch a VPC, by default, an Internet Gateway (IGW) will be created and attached. As you can probably guess, this serves to connect resources within a VPC to the Internet. Now, since the Internet is where all the bad guys live, make sure you’ve locked all the doors that need locking.
Hint: If you are setting up an instance, configure your security group to allow only the minimum possible amount of incoming traffic – which is probably SSH (port 22) set to allow access only from your own IP. You can open other ports as needed later on.
6. Route Tables
Route tables direct network traffic between instances inside a subnet. If you need resources within different subnets to be able to talk to each other, then you will definitely need to understand route tables.
AWS Direct Connect
You are probably not going to need AWS Direct Connect unless you are planning on building significant infrastructure on AWS. Nevertheless, it is an important AWS networking concept. In a nutshell, AWS Direct Connect links a local network to your AWS resources through a dedicated connection to an AWS Direct Connect physical location (generally, a third party provider) over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable.
Amazon Route 53
If you want your users to find you, you’ll need DNS routing. The AWS networking solution to that problem is Route 53, which offers highly available and scalable Domain Name System, domain name registration, and health-checking web services. It provides services, unlike other DNS providers, but with some nice extras like:
- Health checks and DNS failover. There’s nothing like users successfully finding their way to your web app…only to discover that the server is down. Route53 can make your applications highly available and resilient to failure by keeping a careful watch on their status. If your applications are deployed in multiple availability zones within multiple AWS regions, Route 53 can perform health checks against each endpoint, allowing your clients to invisibly switch between servers without even noticing that there was a problem.
- Routing Decisions are based on…
– Health check status
– WRR (weighted round robin),
– LBR (latency-based routing)
– Geolocation routing.
- Aliasing is another special feature Route 53 that is unique to AWS.
AWS Networking is not quite the same as “old world” networking, but where it’s different, it’s usually a good thing. Here’s a summary of what we discussed:
VPC (Virtual Private Cloud)
– Different Configurations for your Network
– Regions and Availability Zones
– Security Groups and NACLs
– Internet Gateways
– Route Tables
AWS Direct Connect
Amazon Route 53
– Health checks and DNS failover
– Routing Decision Making