In this project, I worked on troubleshooting a network issue for a customer named Ana. She was having trouble reaching her Apache server and couldn't successfully load it on a webpage from her virtual private cloud (VPC).
My objectives for this project were:
I had an exact replica of the customer's VPC and its resources to work with, which made it easier to identify and resolve the problem.
First, I needed to understand what Ana was experiencing. She couldn't reach her Apache server or get it to successfully load on a webpage from her VPC. This gave me a clear focus for my troubleshooting efforts.
The key was to methodically check each component that could be causing the connectivity issue.
Before checking the customer's resources, I needed to install httpd to replicate the environment.
I started by checking the status of the httpd service using the systemctl command:
The status showed that the httpd service was inactive because it had not been started yet. This output indicated that the httpd service was loaded (already installed) but was currently inactive.
To start the httpd service, I entered the following command:
I checked the status again to confirm it was running:
The Apache HTTP Server was now in the Active status, confirming the service was running.
To check if it was working, I opened a new browser tab and entered the public IP of my instance:
With httpd installed and running, I turned my attention to investigating Ana's VPC and resources. I kept in mind the error I received when trying to load Apache in the web browser while troubleshooting this issue.
I opened the AWS Management Console and navigated to the VPC service. From there, I used the left navigation pane to methodically check each service within the VPC to confirm that each resource was configured correctly.
I checked the following components one by one:
Can you ping websites such as www.amazon.com? If so, you can get to the internet (the internet gateway and route table should work).
Apache is a server that commonly uses HTTP/S as ports.
After going through each option, such as routing, security, and resources, I discovered that the security group rules were not properly configured to allow HTTP traffic. The security group needed to have port 80 opened for inbound traffic.
I updated the security group rules to allow HTTP traffic (port 80) from the internet.
After making the necessary changes, I confirmed that the Apache HTTP server was working by testing the following URL in a browser:
This time, the Apache test page loaded successfully, confirming that I had resolved the issue.
I successfully troubleshot the customer's networking issue. I found that Ana had an issue with her security ports in the security group. After fixing the issue by opening port 80 for HTTP traffic, I was able to successfully load the Apache server.
This project reinforced the importance of methodical troubleshooting and checking each component of a network configuration when diagnosing connectivity issues.