Data Transfers with AWS DataSync
Running Operations with the Snow Family
Amazon CloudFront Design Patterns
Inter-Regional and Intra-Regional Communication Patterns
Understanding Direct Connect
The course is part of this learning path
Instructor: Mike Brown
In this lecture, we will outline some of the options for inter and intra-regional communication.
- Intra-regional communication refers to traffic that stays within a region
- Inter-regional communication refers to traffic that is sent between regions
Almost all services in AWS are regional services, this includes VPCs and the resources you deploy to them.
Because of this, we have some questions to consider.
- If we deploy resources to a VPC do these resources need to access:
- The Internet
- Your offices
- Resources in other regions
- Do we need to connect to resources in different VPCs, if so are those resources in the same or different regions
- Do we need to access AWS services from the resources we have deployed to our VPCs
Answering these questions will help us to determine the resources we need to deploy and configure to facilitate the correct communication.
Resources deployed to the same VPC
When you create a VPC in a region such as eu-west-2 and create subnets in each of the availability zones for that region, resources deployed to them can communicate automatically. For example two EC2 instances deployed to different subnets in different AZs would have no trouble routing traffic to each other through the default router created when the VPC was created.
The traffic between these instances is encrypted and stays on the AWS backbone even when the traffic travels between data centers in the same region.
- If the resources you have deployed to your VPC need internet access we will need to deploy Internet Gateways and perhaps NAT Gateways.
- If the resources you have deployed to your VPC need to access your offices we might use a Site-to-Site VPN or Direct Connect.
Resources deployed to different VPCs
Deploying all of our resources to a single VPC simplifies communication, but there are plenty of reasons why you might need to deploy resources to multiple VPCs. Reasons like:
Isolation - resources might need to be isolated from each other, using multiple VPCs for this, either VPCs in the same or different regions is ideal because by default, communication isn’t enabled between VPCs
Multi-Region Deployments - VPCs are regional so if you need to deploy resources such as EC2 instances to multiple regions then you will need multiple VPCs
If you need the resources in each VPC to be able to communicate with each other, regardless of whether the VPCs are in the same region or not you will need to implement either:
- VPC Peering
- Transit Gateway
- Customer Managed Site-to-Site VPNs
Of these options Customer Managed site-to-site VPNs are the least desirable as they route traffic between the VPCs through the internet, whereas VPC Peering and Transit Gateways keep all traffic on the AWS backbone.
One advantage of Customer Managed Site-to-Site VPNs, is that you can control the protocols that your connection uses for authentication, integrity checks and encryption. When using VPC Peering you have no control of security protocols used to secure traffic. When using Transit Gateways you must use IPSec.
It is desirable to keep as much traffic as possible on AWS’s networks. When connecting multiple VPCs, VPC Peering and Transit Gateway keep traffic on the AWS Backbone.
When traffic is traveling between your VPCs and AWS services such as S3 and DynamoDB you can use the public endpoints of these services, but to keep your traffic on the AWS backbone and away from public networks we can use VPC Endpoints.
Most organizations will use a mixture of these technologies for Inter and Intra regional communications, but to understand which technologies are correct for you, you will need to understand each technology in a bit more detail.
This course covers the core learning objective to meet the requirements of the 'Designing Network & Data Transfer solutions in AWS - Level 2' skill
- Understand the most appropriate AWS connectivity options to meet performance demands
- Understand the appropriate features and services to enhance and optimize connectivity to AWS public services such as Amazon S3 or Amazon DynamoDB.
- Understand the appropriate AWS data transfer service for migration and/or ingestion
- Apply an edge caching strategy to provide performance benefits for AWS solutions
Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.
To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.
Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.
He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.
In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.
Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.