- Lab
- A Cloud Guru
Build Solutions across VPCs with Peering
A VPC peering connection is a networking connection between two VPCs that enables you to route traffic between them using private IPv4 addresses or IPv6 addresses. In this lab, you will create a new VPC for your WordPress blog to run from. You will then create a VPC peering connection between the new VPC and an existing database VPC. By the end of this lab, you will understand how to create a new VPC from scratch, attach internet gateways, edit routing tables, and peer multiple VPCs together.
Path Info
Table of Contents
-
Challenge
Create Web_VPC Subnets and Attach a New Internet Gateway
Using the AWS console, create the
Web_VPC
VPC with the192.168.0.0/16
IPv4 CIDR block. Create theWebIG
internet gateway. Modify the route table to attach the internet gateway to theWeb_VPC
. -
Challenge
Create a Peering Connection
Create a peering connection called
DBtoWeb
. Peer the newly createdWeb_VPC
with theDB_VPC
. EnsureDB_VPC
is the requester andWeb_VPC
is the accepter. Accept the request. -
Challenge
Create an EC2 Instance and configure Wordpress
-
Launch a new public facing Ubuntu Server 24.04 LTS EC2 instance in the
Web_VPC
VPC using the provided bootstrap user data script.#!/bin/bash sudo apt update sudo apt install apache2 php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip unzip -y sudo ufw allow in "Apache" sudo a2enmod rewrite systemctl restart apache2 cd /tmp/ && wget https://wordpress.org/latest.zip unzip latest.zip -d /var/www chown -R www-data:www-data /var/www/wordpress/ mv /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php cd /var/www/wordpress/ perl -pi -e "s/database_name_here/wordpress/g" wp-config.php perl -pi -e "s/username_here/wordpress/g" wp-config.php perl -pi -e "s/password_here/wordpress/g" wp-config.php perl -i -pe' BEGIN { @chars = ("a" .. "z", "A" .. "Z", 0 .. 9); push @chars, split //, "!@#$%^&*()-_ []{}<>~\`+=,.;:/?|"; sub salt { join "", map $chars[ rand @chars ], 1 .. 64 } } s/put your unique phrase here/salt()/ge ' wp-config.php wget https://raw.githubusercontent.com/ACloudGuru-Resources/course-aws-certified-solutions-architect-associate/main/lab/5/000-default.conf mkdir wp-content/uploads chmod 775 wp-content/uploads mv 000-default.conf /etc/apache2/sites-enabled/ systemctl restart apache2
-
Configure Wordpress by editing
/var/www/wordpress/wp-config.php
to pointDB_HOST
to the RDS database endpoint.
-
-
Challenge
Modify the RDS Security Groups to Allow Connections from the Web_VPC VPC
The RDS instance requires a security group modification to allow access from
192.168.0.0/16
. -
Challenge
Test WordPress
Visit the IP address of your EC2 instance in a web browser, and confirm WordPress is working correctly and communicating with the RDS instance via VPC peering.
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.