AWS SA(02): Understanding network connection in AWS
In last episode, we have created accounts to hold the AWS resources. In this episode we gonna talk about the network connectivity. network connectivity is essential for designing secure, efficient, and cost-effective cloud environments.
AWS global infrastructure
Before dive into network connectivity, we should have a big picture about AWS cloud infra. The Global infra is built around AWS Regions and Availability Zones:
Based on the global infra, AWS provided a bunch of services to reduce network latency:
The core concept: VPC
VPC: A logically isolated network within AWS, allowing you to define IP ranges, subnets, routing tables, and security settings.The key features in VPC are:
BTW: VPC can only be created in one region, but it can cross multi AZ. subnet can only land in one AZ.
Several AWS services need to host within a VPC for functionality, security, or compliance. These services typically interact with your resources privately:
The AWS resources that supports network connection
Direct Connection
Establish a dedicated connection from an on-premises network to one or more VPCs.
Site-to-Site VPN
AWS managed VPN endpoint, creating an IPsec VPN connection between your remote networks and Amazon VPC over the internet.
Client VPN
an AWS managed high availability and scalability service enabling secure software remote access
Software VPN
creating a VPN connection between your remote network and a software VPN appliance running in your Amazon VPC network
Transit Gateway
an AWS managed high availability and scalability regional network transit hub used to interconnect VPCs and customer networks.
VPN CloudHub
uses an Amazon VPC virtual private gateway with multiple customer gateways, each using unique BGP autonomous system numbers (ASNs). The remote sites must not have overlapping IP ranges.
VPC peering
a networking connection between two VPCs that enables routing using each VPC’s private IP addresses
Internet Gateway
a horizontally scaled, redundant, and highly available VPC component that allows communication between your VPC and the internet.
Egress-only Gateway
a horizontally scaled, redundant, and highly available VPC component that allows outbound communication over IPv6 from instances in your VPC to the internet,
NAT Gateway
a Network Address Translation (NAT) service that support instances in a private subnet connect to services outside VPC but external services cannot initiate a connection with those instances.
NAT Instance
use an instance to run network address translation (NAT) service. Not recommend, suggest migrate to NAT gateway.
Recommended by LinkedIn
Interface/Gateway Endpoint
Both of them are using to connect to AWS services from within your Virtual Private Cloud (VPC) without using the public internet. they have a little difference:
Private Link
a highly available, scalable technology that you can use to privately connect your VPC to services and resources as if they were in your VPC.
The types of connectivity
For a complicated system There are serval parts will be involved:
As an AWS Solution Architect, when we talk about network connectivity, it is more related how to make sure these parts can connect with each other via the aws services described above.
Connecting remote networks with your Amazon VPC environment
Connecting VPC with Internet
Integrate multiple Amazon VPCs into a larger virtual network
Connecting VPC with AWS managed Services
Monitoring
AWS provided serveral services to monitor the network traffic, As a solution architect you need to know how to choose the right tool based on business requirement.
VPC Flow Logs:
Traffic Mirroring
CloudTrail logs
Amazon CloudWatch
Amazon CloudWatch Internet Monitor
Amazon VPC IP Address Manager (IPAM)
Reachability Analyzer
Network Access Analyzer
AWS Network Manager
Conclusion
Based all the info above, the steps to build your network environment will be:
1. Understand what parts are involed in your system
2. Choose the network services to build network topology
3. Config monitoring for the network traffic for debugging and tracing