18 |
19 | ### VPC:
20 | 
21 | - Virtual Private Cloud
22 | - Create a virtual networking environment
23 | - Isolated section of your AWS services - keeps your stuff contained
24 |
25 | It’s customisable:
26 | - Private and public access (depending on what you’re architecting)
27 | - IP ranges
28 | - Security controls - NACL
29 | - Connect to on premises infra via VPN/Direct connect - hybrid cloud
30 | - Route Table
31 | - Connect it to the internet or on premises infra
32 | - NAT gateway - bastion/jumpbox
33 | - VPC Peering (no transitive peering, you have to be explicit)
34 |
35 | Your VPC sits inside a Region. Subnets sit inside a VPC.
36 |
37 | NOTE: Your free AWS account comes with a default VPC and we’re going to create a custom VPC.
38 |
39 |
40 |
41 |
42 | What is a CIDR Range?
43 |
44 | ### CIDR:
45 |
46 | CIDR stand for Classless Inter-Domain Routing
47 |
48 | CIDR is a shorthand method for representing a range of IP addresses.
49 |
50 | Here are some examples of IP Addresses:
51 |
52 | - 192.168.0.4
53 | - 13.34.16.191
54 |
55 | Here are some examples of CIDR Numbers:
56 |
57 | - 127.0.0.0/24 means the same as 127.0.0/24 and means from to 127.0.0.0 to 127.0.0.255
58 | - 14.0.0.0/8 means the same as 14/8 and means from to 14.0.0.0 to 14.255.255.255
59 |
60 | CIDRs look very much like IP Addresses but they _are not the same thing_.
61 |
62 | #### How does 14/8 mean 14.0.0.0 to 14.255.255.255?
63 |
64 | An IP number is made up of 32 'bits' in binary. What 32/8 means is:
65 |
66 | - the first 8 bits are fixed (in this case, the _14_).
67 | - the remaining 24 bits (32 minus 8) will be variable (in this case the last three sets of numbers, which can all be 0,1,2,3,.... up to 255).
68 |
69 | #### How does 127.0.0.0/24 mean 127.0.0.0 to 127.0.0.255?
70 |
71 | Similar to the above:
72 |
73 | - the first 24 bits are fixed (in this case, the _127.0.0_).
74 | - the remaining 8 bits (32 minus 24) will be variable (in this case the last single set of numbers, which can 0,1,2,3,.... up to 255).
75 |
76 |
6 |
7 | - People in tech using AWS who want to understand more about how apps are architected at the network level
8 | - Anyone planning to sit an associate level AWS exam who'd like more understanding of VPCs, subnets, route tables etc
9 | - Aspiring cloud architects who are looking for a basic introduction
10 |
11 |
12 | What will we be covering in 1 day?
13 |
14 | - High level introduction of cloud networking
15 | - Introduction to AWS resources such as VPCs, subnets, internet gateways, route tables etc
16 | - Creating/configuring AWS resources via the console for hosting a basic web app with a database
17 | - Introduction and practicing the art of whiteboarding cloud architecture
18 | - Wrap up/Rehash
19 |
20 |
21 | What we won't be covering
22 |
23 | - This will not be covering AWS cloud 101 topics, see our previous bootcamp content for this
24 | - This will not be teaching you programming languages - code will be provided where needed
25 |
26 |
27 | How will you be learning?
28 |
29 | The day will be a mix of theoretical, hands-on, collaboration, whiteboarding and solo work.
30 |
31 |
32 | What will you need?
33 |
34 |
35 | - A laptop
36 | - Access to an AWS account with Admin Privileges (Required before the bootcamp, we will not be covering this, but we can help you via slack if you get stuck - Instructions on this HERE)
37 |
38 |
--------------------------------------------------------------------------------
/part-1/cloud-networking.pdf:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:76d25b8c98894326816e98ab5e4dc3309317d0948bdd59de274a5cabdf07b5bf
3 | size 24321951
4 |
--------------------------------------------------------------------------------
/part-1/intro-key-concepts.md:
--------------------------------------------------------------------------------
1 | # Intro and Key Concepts
2 |
3 | Together, lets go through our introduction slides!
4 |
5 | [Link to introduction slides](https://www.canva.com/design/DAFJXR6ioO0/2j49UbDuL62WfMPaTeStjg/view#1)
6 |
7 | Alternatively, you can open the [PDF Version](part-1/cloud-networking.pdf).
--------------------------------------------------------------------------------
/part-2/2.1_setting_up_vpc_and_subnets.md:
--------------------------------------------------------------------------------
1 |
2 | # Session 1 - Basic VPC Set-Up
3 |
4 | By the end of this session you'll have:
5 | 1. Virtual Private Cloud (VPC)
6 | 2. Private Subnet
7 | 3. Public Subnet
8 | 4. NAT Gateway
9 | 5. Route Table
10 | 6. Internet Gateway (IGW)
11 | 7. Security Group
12 | 8. IAM Role for your SSM Agent
13 |
14 | ### Virtual Private Cloud (VPC)
15 | We're going to create a VPC for our webapp.
16 |
17 | Remember to check your Region, we're going to be choosing Sydney (ap-southeast-2)
18 |
19 | 
20 |
21 |
22 | 1. From the console go to Services > Networking and Content Delivery > VPC (or just search 'VPC' from Services)
23 | 2. From the left, go to Your VPC's > Create VPC
24 |
25 | 
26 |
27 | 3. Fill in the fields > Create:
28 | - Name tag: __cloud-networking-bootcamp__
29 | - IPv4 CIDR block: __10.0.0.0/16__
30 |
31 | 
32 |
33 | *(The rest are kept as-is)*
34 |
35 | 🌈 woo-hoo! You have created your VPC 🌈
36 |
37 | When you create a VPC, it also creates the following, which we will need to configure:
38 | - Route Table
39 | - Network ACL
40 | - Security Group
41 |
42 | ### Private and Public Subnets
43 | Now that you have your VPC, let's create public (accessible by the internet) and private (for private data) subnets. It's always 1 subnet for 1 AZ in a VPC.
44 |
45 | 1. From the console go to Services > Networking and Content Delivery > VPC > Subnets (or from the left, go to Subnets) > Create Subnet
46 |
47 | 
48 |
49 | 2. Choose your VPC from the drop down:
50 |
51 | 
52 |
53 | 3. Fill in the fields > Create:
54 | - Name tag: __cloud-networking-bootcamp-private__
55 | - IPv4 CIDR block: __10.0.1.0/24__
56 | - Availability Zone: __No preference__
57 | *(To stop one availability zone being overloaded, a, b and c AZ's are different for different accounts - otherwise most things would be deployed into AZ-a)*
58 |
59 | 🔁 Repeat these steps, changing the fields to __cloud-networking-bootcamp-public__ and IPv4 to __10.0.2.0/24__
60 |
61 | 🌈 woo-hoo! You have created your Public and Private Subnets 🌈
62 |
63 | 
64 |
65 |
66 |
67 | ### Internet Gateway (IGW)
68 | Let there be internet! Without an internet gateway, the cool stuff you create isn't accessible from the internet.
69 |
70 | 1. From the console go to Services > Networking and Content Delivery > VPC > Internet Gateways (or from the left, go to Internet Gateways) > Create Internet Gateway
71 | 2. Name tag: __cloud-networking-bootcamp-igw__
72 | 3. Create
73 |
74 | 
75 |
76 | 🌈 woo-hoo! You have created your IGW 🌈
77 |
78 | ...but wait, __detached__ ?
79 |
80 | 
81 |
82 | To attach our IGW to our VPC:
83 | 1. Select our IGW > Actions > Attach to VPC
84 | 2. Choose our cloud-networking-bootcamp VPC
85 | 3. Attach
86 |
87 | 
88 |
89 | 
90 |
91 | NOTE: Only 1 IGW per VPC - so if you're having issues, make sure your VPC isn't already associated with another IWG
92 |
93 | 🌈 woo-hoo! You have attached your IGW to your VPC 🌈
94 |
95 | ### NAT Gateway
96 |
97 | Remember, a Public NAT Gateways gives your private subnet access to the internet (egress). This is a one-way street though, it won't give public access to your private subnet - 🔒 this keeps your private subnet secure.
98 |
99 | __💵 NAT Gateways Cost Money 💵 So, make sure you delete this resource once done! Cost details: https://aws.amazon.com/vpc/pricing/__
100 |
101 |
102 | 1. From the console go to Services > VPC > NAT Gateways > Create NAT Gateway
103 |
104 | 
105 |
106 | 2. Choose your __public__ subnet from the list and Create and ENI
107 |
108 | 
109 |
110 | 🌈 woo-hoo! You have created your NAT Gateway 🌈
111 |
112 | ### Route Tables
113 | Time to configure your route table!
114 |
115 | Here's the routes we need to make sure we configure:
116 | - Your Public Subnet routes internet traffic via your Internet Gateway *(Public Route Table)*
117 | - Your Private Subnet routes internet traffic via your NAT Gateway (which then forwards traffic out the Internet Gateway) *(Main or Default Route Table)*
118 |
119 | Configuring your route tables
120 | 1. From the console go to Services > Networking and Content Delivery > VPC > Route Tables (or from the left, go to Route Tables) > Create Route Table
121 | 2. Name tag: __cloud-networking-bootcamp-public__ and select our VPC from the dropdown > Create
122 | 
123 |
124 |
125 | Now your should have 2 route tables that look like this...
126 |
127 | 
128 |
129 | 👉🏽 At this point, you can re-name your Main route table to __private route table__
130 |
131 | 
132 |
133 |
134 | NOTE: Where *Main* is __Yes__ means it is the "main route table", which means anything new defaults to this route table. This means anything to be publicly routeable needs to be explicitly configured this way - this is good!
135 |
136 | 3. Select your __public route table__ > Edit routes > Add route
137 | 
138 |
139 | 4. Fill in the fields:
140 | - Destination: 0.0.0.0/0
141 | - Target: Internet Gateway > cloud-networking-bootcamp-igw
142 |
143 | 
144 |
145 | 5. Select your __private route table__ > Edit routes > Add route
146 | 6. Fill in the fields:
147 | - Destination: 0.0.0.0/0
148 | - Target: NAT Gateway > __Your NAT Gateway ID__
149 |
150 | 
151 |
152 |
153 | Now let's associate our __Public Subnet__ with our __Public Route Table__
154 |
155 | 7. Select your public route table > Subnet Associations tab > Edit subnet associations
156 |
157 | 
158 |
159 | 8. Choose your public subnet > Save
160 |
161 | 
162 |
163 | 🔁 Repeat these steps, but it will be your __Private Subnet__ associated with your __Private Route Table__
164 |
165 |
166 | 🌈 woo-hoo! You have configured your route tables! 🌈
167 |
168 |
169 | 
170 |
171 |
172 | ### Security Group for your Private Web Server
173 | Now that we have our public and private zones of our VPC set up, we need to look at how we pass information securely between. For example, the load balances will require access to your web servers in the private subnet, but we don't want these web servers directly accessible from the Internet.
174 |
175 | Security Group for a __Private__ web server
176 | 1. From the console go to Services > Networking and Content Delivery > VPC > Security Groups (or from the left, go to Security Groups) > Create Create Security Group
177 |
178 | 
179 |
180 |
181 | 2. Fill in the fields > Create:
182 |
183 | - Security group name: __http_securitygroup__
184 | - Description: __Allows my ELB to talk to my web server__
185 | - VPC: __cloud-networking-bootcamp__
186 |
187 | 
188 |
189 |
190 | 3. Create some rules for your new sg for *Inbound*:
191 | - Protcol: ICMP (allows you to ping a resource) __AND__ HTTP
192 | - Custom: *Your public subnet CIDR range* __10.0.2.0/24__
193 | __Anything that is associated with this security group can recieve HTTP and ICMP traffic from your public subnet - this is greate for your private webservers that are not directly connected to the internet__
194 |
195 | 
196 |
197 |
198 | ### IAM Role for your SSM Agent
199 |
200 | We're going to create an IAM role to give us SSM access to your EC2 instance. SSM will allow us to remotely access your instance.
201 | __NOTE: we'll be using this role when we launch our EC2 instances in the next part__
202 |
203 | 1. From the Console, go to Services > Security, Identity, & Compliance > IAM
204 |
205 | 
206 |
207 | 2. On the left hand side, Click on Roles > Create role
208 | 3. Select AWS service, then EC2 as the service that will use this role
209 | 
210 | 4. Filter the policies by searching for SSM. Select the policy named *AmazonSSMManagedInstanceCore*, then click Next until you reach the review page
211 | 
212 | 5. Name the role *cloud-networking-bootcamp-ssm* and check the correct policy was added, then click *Create role*
213 | 
214 |
215 | 🌈 woo-hoo! You have created a IAM role which allows you use SSM to manage your EC2 instances 🌈
216 |
217 |
218 |
219 | ### So what have we created?
220 | By now you'll have:
221 | 1. Virtual Private Cloud (VPC) ✅
222 | 2. Private Subnet ✅
223 | 3. Public Subnet ✅
224 | 4. Route Tables ✅
225 | 5. Internet Gateway (IGW) ✅
226 | 6. Security Group ✅
227 | 7. IAM Role for your SSM Agent ✅
228 |
229 | Let's revise what we have created using a network diagram!
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
--------------------------------------------------------------------------------
/part-2/2.2_setting_up_your_load_balancer.md:
--------------------------------------------------------------------------------
1 | # Load Balancer
2 | A managed AWS service that distributes traffic to targets you specify
3 |
4 | There are 4 types:
5 | - ALB - HTTP/S (layer 7)
6 | - NLB - TCP, UDP (layer 4)
7 | - GLB - To manage a fleet of third-party virtual appliances that support GENEVE
8 | - ELB -(TCP, SSL/TLS, HTTP, HTTPS (Layer 4 and 7) Basic load balancing for EC2 👈🏿 This is what we're going to work with!
9 |
10 | [Here's the Docs on their differences in more detail](https://aws.amazon.com/elasticloadbalancing/features/#Product_comparisons)
11 |
12 | 
13 |
14 | ### Security Group for Load Balancer
15 | The load balancer will need to accept incoming HTTP traffic so that it can forward requests onto your private web servers.
16 |
17 | Security Group for a __Public__ load balancer
18 | 1. From the console go to Services > Networking and Content Delivery > VPC > Security Groups (or from the left, go to Security Groups) > Create Create Security Group
19 | 2. Fill in the fields > Create:
20 |
21 | - Security group name: __http_elb_securitygroup__
22 | - Description: __Allows my incoming HTTP requests from the internet__
23 | - VPC: __cloud-networking-bootcamp__
24 |
25 | 3. Create some rules for your new sg for *Inbound*:
26 | - Protcol: HTTP
27 | - Custom: 0.0.0.0/0 (traffic from anywhere)
28 |
29 |
30 | ### Creating an ELB
31 |
32 | 1. Services > Compute > EC2 > Load Balancers
33 |
34 | 
35 |
36 | 2. Create Load Balancers
37 |
38 | 
39 |
40 | 3. Classic Load Balancer > Create
41 |
42 | 
43 |
44 | 3.1 Load Balancer Name: __cloud-networking-bootcamp-ELB__
45 | 3.2 Create LB Inside: __[your VPC you’ve created]__
46 |
47 | 
48 |
49 | 4. Listener Configuration
50 |
51 | Usually, we'd want to use HTTPS to ensure that our traffic is secure. We're not doing this today as we don't have a domain. For any public traffic over the internet, you will want to use HTTPS.
52 |
53 | 4.1 Select Subnets
54 |
55 | Available Subnets > + [your public subnet]
56 |
57 | 
58 |
59 | __NOTE: Notice what the console suggests that you have at least 2 instances in 2 AZ’s? We’re going to create these and your load balancer will go between these 2.__
60 |
61 | 1. Click ‘Next: Assign Security Groups’
62 |
63 | 2. Choose your __http_elb_securitygroup__ security group
64 |
65 | 3. Click ‘Next: Configure Health Check’
66 |
67 | Leave the defaults as is!
68 |
69 | __This is the fault tolerance of your load balancer and EC2. If your EC2 is not available to serve traffic within these thresholds, then it would be considered ‘unhealthy’. You can use this threshold for scaling events.__
70 |
71 | 
72 |
73 |
74 | 9. Click ‘Next: Add EC2 Instances’
75 |
76 | Don't add anything to this yet
77 |
78 | 10. Click 'Next: Add Tags' > nothing to do here > Click 'Review and Create'
79 |
80 | 
81 |
82 | 11. Create
83 |
84 | 🌈 Woo hoo! You have created your ELB! 🌈
85 |
86 |
--------------------------------------------------------------------------------
/part-2/2.3_deploying_webservers.md:
--------------------------------------------------------------------------------
1 | # Deploying Simple Webservers
2 |
3 | By the end of this session you'll have:
4 | 1. 2 EC2's in your __private__ subnet
5 | 2. 1 EC2 in your __public__ subnet
6 | 3. The ability to ping your private EC2's using a jumpbox
7 | 4. The ability to test your ELB using Webserver A and B
8 |
9 |
10 | We're going to deploy 2 webservers, webserver A and webserver B. The intent is that we will be able to hit a public end point and see the load being balanced between the webservers.
11 |
12 | 
13 |
14 |
15 | ### 🚀 Launch two EC2 instances into your private subnet
16 | These two instances will be our two web servers
17 |
18 | 1. Services > Compute > EC2 > Launch Instance
19 | 2. Choose *Amazon Linux 2 AMI* > t2.micro
20 | 3. Click *Next: Configure Instance Details*
21 | 4. Select the cloud-networking-bootcamp VPC and the associated __private__ subnet
22 | 5. Assign the IAM role created earlier with SSM permissions
23 | 
24 | 6. Next until you get to *Configure Security Group* > Select an existing security group
25 | 7. Security Group name: __http_securitygroup__ (this is the security group you created in 3.1 when setting up your VPC)
26 | 8. Review and Launch > Launch
27 | 9. Proceed without key pair > Launch
28 |
29 | 
30 |
31 | 🔁 Repeat these steps!
32 |
33 | 🌈 Woo hoo! You have created 2 EC2 Instances! 🌈
34 |
35 | Tip: give each of these instances a name in the EC2 console to make them easier to identify later. You can call them `webserver-A` and `webserver-B` to keep things simple
36 |
37 | 
38 |
39 | ### 🚀 Launch 1 EC2 instance into your public subnet
40 | This instance will serve as a jumpbox so that we can test connectivity from our public to our private subnet and confirm that our web servers are set up correctly.
41 |
42 | 1. Services > Compute > EC2 > Launch Instance
43 | 2. Choose *Amazon Linux 2 AMI* > t2.micro
44 | 3. Click *Next: Configure Instance Details*
45 | 4. Select the cloud-networking-bootcamp VPC and the associated __public__ subnet
46 | 5. Ensure that "Auto-assign Public IP" is set to "Enable"
47 | 6. Assign the IAM role created earlier with SSM permissions
48 |
49 | 
50 |
51 |
52 | 1. Next until you get to *Configure Security Group* > Create new Security Group
53 | 2. Security Group name: __public-sg__
54 | 3. __No Rules needed for the Security Group, we're going to use SSM to connect__
55 | 4. Review and Launch > Launch
56 | 5. Proceed without key pair > Launch
57 |
58 | 
59 |
60 | Tip: give this instance a name in the EC2 console to make them easier to identify later. You can call this one `jumpbox`.
61 |
62 | 
63 |
64 | ### Let's test the connectivity of our EC2 Instances
65 |
66 | 
67 |
68 | We're going to use SSM to ping our EC2's. SSM is an agent that allows us to to connect to our EC2s using the Session Manager in the AWS Console.
69 | Why ping? This will let us know if the correct route tables have been set up to access resources in our private subnet.
70 |
71 | 1. Services > Management & Governance > Systems Manager
72 | 2. Select __Session Manager__ on the left hand side
73 | 3. Select __Start Session__
74 | 4. Select your __public EC2__ instance from the list of instances
75 |
76 | 
77 |
78 | 5. A new tab should open with a terminal on your NAT instance!
79 | 6. type `ping 10.0.1.x` You should see some responses come back from the web server (this should be the IP address of one of your web servers launched above. You can find the IP address of your web server instances in the EC2 under `Private IPs`. As we'll be using these addresses again later, it might be a good idea to note them down to avoid switching back and forth between tabs).
80 | 7. Press `ctrl+c` to stop pinging the server
81 | 8. try pinging your other web server to ensure that's also set up correctly
82 |
83 | 🌈 Woo hoo! You have tested your connection to your EC2 instances via your public subnet! 🌈
84 |
85 |
86 | ### Setting up your EC2 Instance as a Web Server
87 | Using SSM you ssh into your `webserver-A` and `webserver-B` EC2 instances, you're going to set them up as basic Apache web servers.
88 |
89 | SSM into either `webserver-A` or `webserver-B`, but note which one you're setting up first (you're going to repeat these steps for both). Once you have the terminal open:
90 |
91 |
92 | 1. Make sure you have the right privileges:
93 |
94 | `sudo su`
95 |
96 | 2. Update your OS
97 |
98 | `yum update -y`
99 |
100 | 3. Install an Apache server
101 |
102 | `yum install httpd -y`
103 |
104 | 4. This command just makes sure your web server restarts if it stops
105 |
106 | `systemctl enable httpd`
107 |
108 | 5. Start your web server
109 |
110 | `systemctl start httpd`
111 |
112 | 6. Let's edit our web server!
113 |
114 | `cd /var/www/html`
115 |
116 | 7. Let's create a file to edit `touch index.html`
117 |
118 | You can open `index.html` in nano:
119 |
120 | `nano index.html`
121 |
122 | 8. This is the code we want in that file:
123 |
124 | `
Hello from Web Server A!`
125 |
126 | 9. Save and Exit nano (ctrl+x, then y)
127 |
128 | 10. Test your webserver is running:
129 |
130 | `curl localhost` 👉🏽 Response: `Hello from Web Server A!`
131 |
132 | OR
133 |
134 | `systemctl status httpd` 👉🏽 Response: `Active: active (running) `
135 |
136 | 11. 🔁 Repeat these steps for your 2nd EC2 instance (Web Server B), but change your index.html file to be `Hello from Web Server B!`
137 |
138 |
139 |
140 | 🌈 Woo hoo! You have made your EC2 Webservers! 🌈
141 |
142 | ### Let's now test our web servers
143 | 1. Follow the instructions above to get a terminal on our public EC2 instance
144 | 2. Type `curl -v 10.0.1.x` where the IP is that of your first web server (you can find the IP address of your web server instances in the EC2 under `Private IPs`)
145 | 3. Inspect the text returned, it should say `Hello from Web Server A!`
146 | 4. Now try the same, but change the IP address to your second server
147 | 5. You should see in the response `Hello from Web Server B!` this time
148 |
149 | 🌈 Woo hoo! You have now confirmed that your two web servers have been correctly set up! 🌈
150 |
151 |
152 |
153 | ### Let's now assign our instances to our load balancer!
154 |
155 | 1. Services > EC2 > Load Balancers > Select your load balancer
156 | 2. Go to the 'Instances' Tab
157 | 3. Edit Instances
158 |
159 | 
160 |
161 | 4. Choose the two __Private Web Servers__ from this list
162 | 5. Try out the ELB's endpoint via the 'Description' Tab
163 | 6. Copy and Paste your ELB's DNS name into a Web Browser
164 |
165 | 
166 |
167 | 7. It should look something like this:
168 |
169 | 
170 |
171 |
172 | Now that you have a public endpoint to your load balancer and 2 web servers, we should be able to see the load balancer in action.
173 | Expected behaviour is that as you refresh your end point, you will see a round-robin behaviour between webserver A and B.
174 |
175 | 🌈 Woo hoo! You have 2 web servers, connected to a load balancer and it works! 🌈
176 |
177 |
178 | You should now have:
179 | - ✅ 2 EC2's in your __private__ subnet
180 | - ✅ 1 EC2 in your __public__ subnet
181 | - ✅ The ability to ping your private EC2's using a jumpbox
182 | - ✅ The ability to test your ELB using Webserver A and B
183 |
184 |
--------------------------------------------------------------------------------
/part-2/2.4_clean_up.md:
--------------------------------------------------------------------------------
1 | # Clean Up!
2 |
3 | ### 🚨 __If you don't switch things off, your AWS account will incur a cost__ 🚨
4 |
5 | ### 👉🏽 'Terminate' your 3 EC2 instances (2 private, 1 public)
6 | Services > EC2 > Instances > Select an EC2 instance > Actions > Instance Status > Terminate
7 |
8 | ### 👉🏽 Delete your ELB
9 | Services > EC2 > Load Balancers > Select your ELB > Actions > Delete
10 |
11 | ### 👉🏽 Delete your NAT Gateway
12 | Services > VPC > NAT Gateways > Select your NATGW > Actions > Delete NAT Gateway
13 |
14 | ### 👉🏽 'Release' your EIPs
15 | Services > VPC > Elastic IPs > Select the EIP > Actions > Release Addresses > When prompted, choose release.
16 |
17 | ### 👉🏽 Delete your VPC
18 | Services > VPC > Your VPCs > Select your VPC > Actions > Delete VPC (again Delete VPC)
19 |
20 | __NOTE: If your EC2 Instances or NATGW haven't fully deleted yet, it will give you an error__
21 |
22 | Here's a summary of what deleting your VPC does:
23 |
24 | 
25 |
26 | ### 👉🏽 Delete IAM Role
27 | Services > IAM > Select the IAM role you created > Delete Role
28 |
29 | # Awesome work! 🌈
30 |
31 |
--------------------------------------------------------------------------------
/part-2/2022-images/1-vpc-subnets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/1-vpc-subnets.png
--------------------------------------------------------------------------------
/part-2/2022-images/2-route-tables.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/2-route-tables.png
--------------------------------------------------------------------------------
/part-2/2022-images/3-elb-network-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/3-elb-network-diagram.png
--------------------------------------------------------------------------------
/part-2/2022-images/3.2/select-security-groups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/3.2/select-security-groups.png
--------------------------------------------------------------------------------
/part-2/2022-images/3.2/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/3.2/success.png
--------------------------------------------------------------------------------
/part-2/2022-images/3.3/edit-network-settings-btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/3.3/edit-network-settings-btn.png
--------------------------------------------------------------------------------
/part-2/2022-images/3.3/elb-dns-name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/3.3/elb-dns-name.png
--------------------------------------------------------------------------------
/part-2/2022-images/3.3/load-balancer-instance-tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/3.3/load-balancer-instance-tab.png
--------------------------------------------------------------------------------
/part-2/2022-images/3.3/select-private-servers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/3.3/select-private-servers.png
--------------------------------------------------------------------------------
/part-2/2022-images/3.3/select-public instance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/3.3/select-public instance.png
--------------------------------------------------------------------------------
/part-2/2022-images/4-ping-webservers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/4-ping-webservers.png
--------------------------------------------------------------------------------
/part-2/2022-images/attach-igw-vpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/attach-igw-vpc.png
--------------------------------------------------------------------------------
/part-2/2022-images/attach-igw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/attach-igw.png
--------------------------------------------------------------------------------
/part-2/2022-images/create-key-pair.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/create-key-pair.png
--------------------------------------------------------------------------------
/part-2/2022-images/create-load-balancer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/create-load-balancer.png
--------------------------------------------------------------------------------
/part-2/2022-images/create-natgw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/create-natgw.png
--------------------------------------------------------------------------------
/part-2/2022-images/create-sg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/create-sg.png
--------------------------------------------------------------------------------
/part-2/2022-images/create-subnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/create-subnet.png
--------------------------------------------------------------------------------
/part-2/2022-images/create-vpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/create-vpc.png
--------------------------------------------------------------------------------
/part-2/2022-images/edit-route-table-name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/edit-route-table-name.png
--------------------------------------------------------------------------------
/part-2/2022-images/edit-subnet-assoc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/edit-subnet-assoc.png
--------------------------------------------------------------------------------
/part-2/2022-images/iam-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/iam-menu.png
--------------------------------------------------------------------------------
/part-2/2022-images/iam-role-details-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/iam-role-details-1.png
--------------------------------------------------------------------------------
/part-2/2022-images/iam-role-details-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/iam-role-details-2.png
--------------------------------------------------------------------------------
/part-2/2022-images/iam-role-details-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/iam-role-details-3.png
--------------------------------------------------------------------------------
/part-2/2022-images/igw-detached.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/igw-detached.png
--------------------------------------------------------------------------------
/part-2/2022-images/igw-details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/igw-details.png
--------------------------------------------------------------------------------
/part-2/2022-images/igw-routes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/igw-routes.png
--------------------------------------------------------------------------------
/part-2/2022-images/jumpbox-running.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/jumpbox-running.png
--------------------------------------------------------------------------------
/part-2/2022-images/natgw-public-details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/natgw-public-details.png
--------------------------------------------------------------------------------
/part-2/2022-images/natgw-routes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/natgw-routes.png
--------------------------------------------------------------------------------
/part-2/2022-images/network-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/network-settings.png
--------------------------------------------------------------------------------
/part-2/2022-images/public-route-table-add-route.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/public-route-table-add-route.png
--------------------------------------------------------------------------------
/part-2/2022-images/region-select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/region-select.png
--------------------------------------------------------------------------------
/part-2/2022-images/route-table-details-public.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/route-table-details-public.png
--------------------------------------------------------------------------------
/part-2/2022-images/route-table-internet-gateway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/route-table-internet-gateway.png
--------------------------------------------------------------------------------
/part-2/2022-images/route-tables.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/route-tables.png
--------------------------------------------------------------------------------
/part-2/2022-images/select-elb-subnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/select-elb-subnet.png
--------------------------------------------------------------------------------
/part-2/2022-images/select-elb-vpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/select-elb-vpc.png
--------------------------------------------------------------------------------
/part-2/2022-images/select-ssm-iam-role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/select-ssm-iam-role.png
--------------------------------------------------------------------------------
/part-2/2022-images/select-your-vpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/select-your-vpc.png
--------------------------------------------------------------------------------
/part-2/2022-images/sg-details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/sg-details.png
--------------------------------------------------------------------------------
/part-2/2022-images/sg-inbound-rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/sg-inbound-rules.png
--------------------------------------------------------------------------------
/part-2/2022-images/start-session-jumpbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/start-session-jumpbox.png
--------------------------------------------------------------------------------
/part-2/2022-images/vpc-details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/vpc-details.png
--------------------------------------------------------------------------------
/part-2/2022-images/web-servers-running.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/2022-images/web-servers-running.png
--------------------------------------------------------------------------------
/part-2/images/1-region.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/1-region.png
--------------------------------------------------------------------------------
/part-2/images/10-subnet-association.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/10-subnet-association.png
--------------------------------------------------------------------------------
/part-2/images/11-associated-subnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/11-associated-subnet.png
--------------------------------------------------------------------------------
/part-2/images/12-change-sg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/12-change-sg.png
--------------------------------------------------------------------------------
/part-2/images/13-select-sg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/13-select-sg.png
--------------------------------------------------------------------------------
/part-2/images/2-create-vpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/2-create-vpc.png
--------------------------------------------------------------------------------
/part-2/images/3-subnet-creation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3-subnet-creation.png
--------------------------------------------------------------------------------
/part-2/images/3.2.1-launch-instance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.1-launch-instance.png
--------------------------------------------------------------------------------
/part-2/images/3.2.10-select-subnet-private.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.10-select-subnet-private.png
--------------------------------------------------------------------------------
/part-2/images/3.2.11-default-sg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.11-default-sg.png
--------------------------------------------------------------------------------
/part-2/images/3.2.12-create-keypair.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.12-create-keypair.png
--------------------------------------------------------------------------------
/part-2/images/3.2.13-create-role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.13-create-role.png
--------------------------------------------------------------------------------
/part-2/images/3.2.14-attach-permission.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.14-attach-permission.png
--------------------------------------------------------------------------------
/part-2/images/3.2.15-review-role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.15-review-role.png
--------------------------------------------------------------------------------
/part-2/images/3.2.16-start-session.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.16-start-session.png
--------------------------------------------------------------------------------
/part-2/images/3.2.2-select-ami.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.2-select-ami.png
--------------------------------------------------------------------------------
/part-2/images/3.2.3-select-insance-type.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.3-select-insance-type.png
--------------------------------------------------------------------------------
/part-2/images/3.2.4-select-vpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.4-select-vpc.png
--------------------------------------------------------------------------------
/part-2/images/3.2.5-select-subnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.5-select-subnet.png
--------------------------------------------------------------------------------
/part-2/images/3.2.6-select-iam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.6-select-iam.png
--------------------------------------------------------------------------------
/part-2/images/3.2.7-create-sg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.7-create-sg.png
--------------------------------------------------------------------------------
/part-2/images/3.2.8-launch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.8-launch.png
--------------------------------------------------------------------------------
/part-2/images/3.2.9-without-keypair.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/3.2.9-without-keypair.png
--------------------------------------------------------------------------------
/part-2/images/4-auto-assign-ip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/4-auto-assign-ip.png
--------------------------------------------------------------------------------
/part-2/images/5-enable-auto-assign-ip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/5-enable-auto-assign-ip.png
--------------------------------------------------------------------------------
/part-2/images/6-igw-detached.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/6-igw-detached.png
--------------------------------------------------------------------------------
/part-2/images/7-public-route-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/7-public-route-table.png
--------------------------------------------------------------------------------
/part-2/images/8-2-route-tables.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/8-2-route-tables.png
--------------------------------------------------------------------------------
/part-2/images/9-public-route-to-internet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/9-public-route-to-internet.png
--------------------------------------------------------------------------------
/part-2/images/NAT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/NAT.png
--------------------------------------------------------------------------------
/part-2/images/allocate_instances_elb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/allocate_instances_elb.png
--------------------------------------------------------------------------------
/part-2/images/classic_lb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/classic_lb.png
--------------------------------------------------------------------------------
/part-2/images/create_lb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/create_lb.png
--------------------------------------------------------------------------------
/part-2/images/create_natg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/create_natg.png
--------------------------------------------------------------------------------
/part-2/images/delete_VPC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/delete_VPC.png
--------------------------------------------------------------------------------
/part-2/images/deploy_webservers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/deploy_webservers.png
--------------------------------------------------------------------------------
/part-2/images/edit_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/edit_rules.png
--------------------------------------------------------------------------------
/part-2/images/elb_dns_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/elb_dns_name.png
--------------------------------------------------------------------------------
/part-2/images/elb_network_diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/elb_network_diagram.png
--------------------------------------------------------------------------------
/part-2/images/final_vpc_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/final_vpc_image.png
--------------------------------------------------------------------------------
/part-2/images/https_elb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/https_elb.png
--------------------------------------------------------------------------------
/part-2/images/lb_health_check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/lb_health_check.png
--------------------------------------------------------------------------------
/part-2/images/lb_public_subnet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/lb_public_subnet.png
--------------------------------------------------------------------------------
/part-2/images/lb_vpc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/lb_vpc.png
--------------------------------------------------------------------------------
/part-2/images/lb_warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/lb_warning.png
--------------------------------------------------------------------------------
/part-2/images/nat_gateway_done.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/nat_gateway_done.png
--------------------------------------------------------------------------------
/part-2/images/ping_webservers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/ping_webservers.png
--------------------------------------------------------------------------------
/part-2/images/review_create_lb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/review_create_lb.png
--------------------------------------------------------------------------------
/part-2/images/route_tables_igw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/route_tables_igw.png
--------------------------------------------------------------------------------
/part-2/images/services_elb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/services_elb.png
--------------------------------------------------------------------------------
/part-2/images/ssh_your_ip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/ssh_your_ip.png
--------------------------------------------------------------------------------
/part-2/images/subnet_eni.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/subnet_eni.png
--------------------------------------------------------------------------------
/part-2/images/vpc_subnets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/vpc_subnets.png
--------------------------------------------------------------------------------
/part-2/images/webserver_response.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/webserver_response.png
--------------------------------------------------------------------------------
/part-2/images/webserver_sg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/part-2/images/webserver_sg.png
--------------------------------------------------------------------------------
/whiteboarding-mini-session/images/block_letters.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/whiteboarding-mini-session/images/block_letters.jpg
--------------------------------------------------------------------------------
/whiteboarding-mini-session/images/database.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/whiteboarding-mini-session/images/database.jpg
--------------------------------------------------------------------------------
/whiteboarding-mini-session/images/end_user.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/whiteboarding-mini-session/images/end_user.jpg
--------------------------------------------------------------------------------
/whiteboarding-mini-session/images/internet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/whiteboarding-mini-session/images/internet.jpg
--------------------------------------------------------------------------------
/whiteboarding-mini-session/images/lambda.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/whiteboarding-mini-session/images/lambda.jpg
--------------------------------------------------------------------------------
/whiteboarding-mini-session/images/secure_padlock.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/whiteboarding-mini-session/images/secure_padlock.jpg
--------------------------------------------------------------------------------
/whiteboarding-mini-session/images/spacing_techstack.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/whiteboarding-mini-session/images/spacing_techstack.jpg
--------------------------------------------------------------------------------
/whiteboarding-mini-session/images/tools.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DevOps-Represent/DevOps-Represent-Cloud-Networking/a7ce6dea705e5fa721165ee85f5e1c89c5662e35/whiteboarding-mini-session/images/tools.jpg
--------------------------------------------------------------------------------
/whiteboarding-mini-session/whiteboarding_basics.md:
--------------------------------------------------------------------------------
1 | # Technical Whiteboarding Basics
2 |
3 | To draw out a tech stack or articulating a technical problem using a whiteboard is a skill many experienced people take for granted. The aim of this session is to provide a starting point for developing your technical whiteboarding skills. For people who already have this in their toolkit, this session will hopefully encourage you to improve your existing skills.
4 |
5 | What are the benefits of technical whiteboarding?
6 |
7 | ### Here's a short list of areas in your career where good whiteboarding skills are really helpful:
8 |
9 | - A whiteboard can be a really useful tool to communicate ideas and problem solving
10 | - It's common for an interviewer to ask an interviewee to whiteboard out a problem/tech stack/coding solution
11 | - Incorporating a whiteboard into presentations/meetings can help keep things engaging and interactive
12 | - Drawing things out on a whiteboard introduces a visual aspect to your conversations, making them multi-modal
13 |
14 |
15 |
16 | Some basics to be aware of
17 |
18 | #### Tools
19 | What are the tools for whiteboarding? Whiteboard and markers. For your whiteboarding session to be effective, do a quick check to ensure the board is clear (might need a more extensive clean) and your markers are working. Take the time to have the right tools, otherwise everything becomes a lot harder and you revert to just talking through things.
20 |
21 | To make things more interactive, you can always incorporate sticky notes. The use of both whiteboard and sticky notes can be quite effective!
22 |
23 | 
24 |
25 |
26 | #### Plan
27 | Planning what you're going to put on the whiteboard can be really useful for yourself and the audience. For example, you're about to draw a cloud network diagram for a web app that has a database, maybe you want to write a list of the components of your network. You can even use this as a checklist to make sure everything is present and accounted for. Talking out your plan can also act as a guage of whether you're on the right track (good for interviews) and sets expectations (good for meetings).
28 |
29 |
30 | #### Handwriting
31 | Work out what style of hand writing works best for you. Whiteboards don't act the same as a pen and paper. Writing in block letters is clearer than cursive. Remember that sometimes we take pictures of whiteboard discussions to reference later - so they need to be legible.
32 |
33 | 
34 |
35 | Handwriting is terrible? Use more images to demonstrate what you're trying to get across eg. instead of writing 'database', maybe draw the symbol for a data base (see below)
36 |
37 | #### Spacing
38 | Be aware of the space you have to work with. If you're drawing a tech stack, do you have enough space to draw out each component vertically ↕️ ? Could you try horizontial ↔️ ? You might need to have a rough idea of how many layers/components you're planning to draw.
39 | Have you left some space for some surprises to be added (external dependencies outside the stack)?
40 |
41 | 
42 |
43 |
44 | #### Use of Words vs Symbols
45 | Do you find yourself writing a lot of words? Could some of this be substituted for symbols or acroynms? Any commonly used acroynms and their meaning can be documented in the corner for people to reference. This is about knowing your audience.
46 |
47 | Try and keep your symbols simple and consistent. This means you can draw them quickly and the same symbol should be used for correlating components.
48 |
49 | Here are some helpful symbols that you can use in a tech stack or cloud network diagram, some are specific to AWS.
50 |
51 | 
52 |
53 | 
54 |
55 | 
56 |
57 | 
58 |
59 |
60 | #### Talk it through
61 | Remember to talk through your thoughts as you are drawing. This can be hard to master, but here's some things to consider:
62 | - It's harder to hear you when you're talking while facing the whiteboard
63 | - Have you started talking about something that you haven't drawn yet? Is there enough context?
64 | - If you're having to explain your symbols/words more often than not, you may need to revisit your choice of symbols/words
65 | - Can people see what you have drawn while you're talking? Position yourself so people can see the whiteboard 👀
66 |
67 | #### Make it Interactive
68 | A great way to keep people engaged and to also help you when you're stuck is to ask questions.
69 |
70 | Not sure what the symbol for a lambda function is? You can ask, "does anyone know the best symbol for a lambda function?". This is also a good way to all agree on a symbol that may not have been obvious if you came up with one by yourself.
71 |
72 |
73 |
74 | Let's try an exercise!
75 |
76 | ### In a small group, we're going to whiteboard some of the concepts we have learnt today! 👩🏾🏫
77 |
78 | *TASK: As a group, you will be whiteboarding the cloud network we created in AWS including all of the components. Multiple people can be drawing, but always as a coordinated effort, talking through your thoughts and asking each other questions. The key is that you are all engaged and standing by the whiteboard.*
79 |
80 | ### Things to consider:
81 | - If you need 5 minutes to read over things and discuss, do this before starting
82 | - Help each other out if you feel like someone's stuck
83 | - Make space for each other and don't take over
84 | - Communication is key
85 | - It's ok if you don't know something, you can indicate uncertainty in your whiteboard drawing
86 |
87 |
88 |