This course covers the core learning objective to meet the requirements of the 'Designing Network & Data Transfer solutions in AWS - Level 2' skill
Learning Objectives:
- 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
In this lecture, we will outline some of the options for inter and intraregional communication. Intraregional communication refers to traffic that stays within a region. Interregional communication refers to traffic that is sent between regions. Almost all services in AWS are regional services. This includes VPCs and resources you deploy to them. Because of this, we have some questions to consider. First, if we deploy resources for VPC, do these resources need access to the Internet, your offices, or resources of the regions?
Next, do we need to connect resources in different VPCs? If so, are those resources in the same or different regions? And do we need to access AWS services from the resources we have deployed to our VPCs? Answering these questions will help us determine the resources we need to deploy and configure to facilitate the correct communication. When you create a VPC in a region such as EU West 2 and create subnets in each of the availability zones in that region, resources deployed to them can communicate automatically. For example, two EC2 instances deployed to different subnets in different availability zones would have no trouble routing traffic to each other through the default route created when the VPC was created.
The traffic between these instances is encrypted and stays on the address backbone even when that traffic is traveling 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've deployed to your VPC need to access your offices, we might use site-site VPNs or Direct Connects. Deploying all of our resources in 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 VPC is 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 resources in each VPC to be able to communicate each other regardless of whether the VPC is in the same region or not, you will need to implement either VPC peering, transit gateway, or customer-managed site-to-site VPNs.
Of these, 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 the 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 use 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 intraregional communications, but to understand which technologies are correct for you, you will need to understand each technology in a bit more detail.
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.