CLF- Networking
Tags: aws, networking, vpc
Published: 2023-01-20 19:15:09

Cloud Computing is a collection of servers connected over the Internet using a virtual network. This virtual network connects the cloud computing resources across the globe. In this article, we would be discussing how AWS VPC helps connect AWS resources across the globe.

## AWS Networking Services:
AWS provides a series of services that provide better network features, security, and connectivity.

**Amazon VPC**
With Amazon VPC you can configure AWS Services/resources in a virtual sub network. It is very similar to an old school network that would be used to operate your traditional data centre. We will discuss Amazon VPC at length as we dig deeper into the topic in hand.

**AWS Direct Connect**
Amazon Web Services provides a network service that lets you establish a dedicated network connection between your on premise infrastructure and AWS Cloud platform. This private network establishment ensures better bandwidth throughput and more consistent network than internet-based networks.

**Subnet**
As we already know virtual private cloud is a virtual network we create to put our resources under that particular network. With Amazon VPC you can further classify this virtual network into sub networks which are known as subnets. A subnet as defined above is division of a virtual network into smaller chunks.

The reason we do subnetting is to further classify the distribution of traffic. Let’s assume we have certain set of traffic which we plan to route to a particular destination. If it follows a standard routing path, then there is a possibility that traffic will be rerouted through all the routing points. With subnets you limit the routes to limited points and classify them under subnets. We break these virtual networks into subnet networks by dividing the network based on the IP assigned to the network. If we break a network down in two parts with equal IP, that means we are assigning half IP range to each subnet. (Please note: An IP Address is an unique ID that can be assigned to a resource or a machine)

**Internet Gateway**

As mentioned above an internet gateway is a component of VPC that can horizontally scale, and be highly available. It helps communication between VPC and the Internet.  

Internet Gateway basically serves two purposes for you:
- It gives you a target inside your VPC route tables, so you can route your traffic that can be routed using it
- It also supports NAT that is Network Address Translation for those instances that have been assigned public IPv4 addresses.

**How VPC works?**
Whenever we create resources in AWS we have an option of assigning a default a VPC to that resource and at the same time we can even create a custom VPC and assign that to the resource we have with us. When we create a VPC, we are creating a container under which we can put our resources. As we can see above, we have a VPC for a region under which we have two subnets with different instances under them.
These instances as shown are under different availability zones and can communicate with each other by using virtual routers. There is an Internet Gateway in place to help these resources communicate with the internet or other resources out there. This is how a Virtual Private Cloud looks like and functions in a nutshell.

## Conclusion
- VPC allow to create boundry where your application and resources are isolated from outside. 
- When you create a VPC you select IP range and region. 
Inside the VPC, you divided the space into it in subnet to put your resources.
- To create subnet you need: VPC, AZ and IP range.
- To enable internate connectivity, we need gateway IGW.
- VGW allow you to create a VPN connexion between private network to your VPC.