In this section of the AWS Certified Advanced Networking - Specialty learning path, we introduce you to the various networking and VPC services currently available in AWS that are relevant to the ANS-C01 exam.
Learning Objectives
- Identify and describe the various networking services available in AWS
- Describe how to configure an Amazon Virtual Private Cloud (VPC)
- Understand how to control network traffic via Security Groups and Network Access Control Lists (NACLs)
- Describe options for VPC connectivity, subnets, and routing
- Understand how to share VPC resources using the AWS Resource Access Manager (RAM)
- Identify how to evaluate the configuration of VPC resources using the VPC Reachability Analyzer
Prerequisites
The AWS Certified Advanced Networking - Specialty certification has been designed for anyone with experience designing, implementing, and operating complex AWS and hybrid networking architectures. Ideally, you’ll also have some exposure to the nuances of AWS networking, particularly regarding the integration of AWS services and AWS security best practices. Many exam questions will require advanced level knowledge of many AWS services, including AWS networking services. The AWS Cloud concepts introduced in this course will be explained and reinforced from the ground up.
Hello, and welcome to this lecture covering AWS VPC Subnets.
So what does a subnet look like with an AWS, and what information does it contain? Well when the subnet is configured and created within the management console, it contains the data around the following components. Summary, Route Table, Network ACL, Flow Logs, and Tags.
Let's look at the summary. The summary is just that, a summary of all the elements and metadata associated with the subnet. The Subnet-ID shows the automatically generated ID of the subnet along with its tag name. The Subnet-ID is a unique identifier for that subnet. You can use this value when configuring AWS through a command line interface, such as the AWS CLI.
For example, you could issue a following command to run an EC2 instance in this particular subnet. The IPv4 CIDR section shows the CIDR Block associated to that subnet using IPv4. And the same applies for the IPv6 CIDR Block section too. The state of the subnet will either show as pending or available.
The VPC section shows the VPC that the subnet belongs to using its VPC ID, which again, is a unique identifier of the VPC, similar to that of the Subnet-ID. The available IPs list how many IP available addresses you have for your resources left within that subnet. If you try to launch an EC2 instance in your subnet, and it does not have enough free addresses, then you'll get the following error.
Remember, in addition to the network and broadcast address of the subnet, three other IP addresses are reserved within the subnet for AWS purposes. The Availability Zone shows which AZ the subnet belongs in. And again, subnets cannot span more than one Availability Zone. The Route Table shows which Route Table the subnet is using and is shown by its Route Table ID and Tag name. More on AWS routing will be covered in an upcoming lecture.
The Network ACL, or NACLs, as I refer to, shows the subnet's associated NACL. And again, by using its NACL ID. During the creation of a new VPC, the default Route Table and the default NACL are also created. These defaults are then associated to any subnet that did not have a custom Route Table or NACL associated.
The Default Subnet section identifies if the subnet was created by default from the default VPC that comes with your AWS account. The Auto-assign Public IP value can either be set to as yes or no, but I'll talk more about this setting later in this lecture. And finally, the Auto-assign-IPv6 addresses again can be either set to yes or no.
The Route Table tab shows the Route Table that the subnet is using along with the route's destinations and targets for that route. Further details on configuration of routes will be provided in an upcoming lecture so I won't go into detail on this section right now.
The Network ACL, or NACL, shows the current NACL associated to the subnet and it will display both inbound and outbound rule sets.
If you haven't created a custom NACL, then your subnet will automatically be associated with your VPC's default NACL, which allows all traffic to flow in and out which, by default, provides no level of security, and so I highly recommend you either modify your default NACL or even better, create a custom NACL for each subnet.
NACLs provide a rule-based tool for controlling ingress and egress network traffic at the protocol and subnet level. In other words, NACLs monitor and filter traffic moving in and out of your subnet. NACLs are stateless by their design, meaning that any response traffic generated from a request will have to be specified in either the inbound or outbound rule set depending on the direction of response expected.
The rule set itself is very simple, and has both inbound and outbound list of rules, and these rules are comprised of just six different fields. These being, Rule Number, ACL rules are read in the ascending order, and as soon as a network packet is received, it reads each rule in ascending order until a match is found.
For this reason, you'll want to carefully sequence your rules with an organized numbering system. I would suggest that you leave a gap of at least 50 between each of your rules to allow you to more easily add new rules in sequence later if it becomes necessary. Type, this dropdown list allows you to select from a list of common protocol types, including SSH, RDP, HTTP, and POP3.
You can alternatively specify custom protocols such as varieties of ICMP. Protocol, based on your choice for type, the protocol option might be grayed out. For custom rules like TCP/UDP, however, you should provide a value. Port Range, if you do create a custom rule, you'll need to specify the port range for the protocol to use.
Source, this can be a network subnet range, a specific IP address, or even left open to traffic from anywhere using the value of 0.0.0.0/0.
Allow/Deny, each rule must include an action, specifying whether the traffic will be permitted to either enter or leave the associated subnet or not.
The Flow Logs tab shows you any Flow Logs that you have set up and created for the subnet to capture IP traffic flow information. More information on Flow Logs will be covered in a later lecture.
Finally, the Tags tab allows you to add custom key value pairs to help with the tagging of your subnet. In this example, I added a Key of Name with a Value of Subnet A.
That brings us to the end of this lecture. Following this, I shall be talking about the differences between a public and private subnet.
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.