GCP PlayCloud Labs
-
GCP PlayCloud Labs
-
Guided Lab: How to Launch a GCP Compute Engine Linux Instance
-
Guided Lab: Creating a VM Using Instance Templates
-
Guided Lab: Creating and Managing Instance Groups in Compute Engine
-
Guided Lab: Creating a Spot VM Instance
-
Guided Lab: Configuring Shielded VM Options
-
Guided Lab: Exploring Instance Metadata in Google Cloud
-
Guided Lab: Vertically Scaling a VM Instance
-
Guided Lab: Setting up a Web Server on a VM Instance
-
Guided Lab: Using Startup Scripts in GCP VM Instances
-
Guided Lab: Creating a Custom Image from a VM Instance with Web Server in Google Cloud
-
Guided Lab: Creating VM Snapshots and Restoring a VM from a Snapshot
-
Guided Lab: Setting Up and Managing a Database on a VM Instance
-
Guided Lab: Installing WordPress on an Ubuntu VM Instance with LEMP Stack
-
Guided Lab: Deploying a LAMP Stack on a Compute Engine VM
-
Guided Lab: Reserving or Promoting a Static IP Address for a VM Instance
-
Guided Lab: SSH Access to GCP VM Instance from Local Machine using SSH Key Pair
-
Guided Lab: Guarding Your VM with Deletion Protection
-
Guided Lab: Setting Up a Linux Bastion Host on GCP
-
Guided Lab: Creating a Cloud Storage Bucket
-
Guided Lab: Uploading, Organizing, and Managing Objects in Cloud Storage
-
Guided Lab: Exploring Google Cloud Storage Classes
-
Guided Lab: Hosting a Static Website in Google Cloud Storage Bucket
-
Guided Lab: Protecting Data on Cloud Storage Bucket Against Accidental Delete and Overwrite Using Object Versioning
-
Guided Lab: Using Cloud Storage Lifecycle Rules to Automate Object Management
-
Guided Lab: Managing Cloud Storage Buckets via SSH Commands
-
Guided Lab: Creating a Cloud SQL Instance
-
Guided Lab: Running SQL Commands in Cloud SQL Studio
-
Guided Lab: Creating and Restoring Cloud SQL Backups
-
Guided Lab: Integrating Cloud SQL Database instance with a VM instance
-
Guided Lab: Connecting Cloud SQL Database with MySQL Workbench (Local)
-
Guided Lab: Guarding Your Cloud SQL Instances with Deletion Protection
-
Guided Lab: Creating a Cloud NAT Gateway
-
Guided Lab: Creating a Google Kubernetes Engine (GKE) Cluster
-
Guided Lab: Connecting to a Kubernetes Engine Cluster
-
Guided Lab: Deploying a Simple Web Application on GKE
-
Guided Lab: Creating a Custom Virtual Private Cloud (VPC)
-
Guided Lab: Establishing VPC Peering for Secure Cross‑Network Communication
-
Guided Lab: Configuring Firewall Rules to Secure and Access a VM
-
Guided Lab: Creating an Application Load Balancer
-
Guided Lab: Creating a Network Load Balancer
Guided Lab: Configuring Firewall Rules to Secure and Access a VM
Description
Firewall rules in Google Cloud control which traffic is allowed to reach your VM instances. Properly configured firewall rules enhance security by restricting access to only the necessary protocols and IP addresses.
In this guided lab, you’ll launch a Compute Engine VM and configure firewall rules to allow SSH access only from a specific IP address, as well as allow HTTP and HTTPS traffic. You’ll then test connectivity to ensure the rules are applied correctly, providing hands-on experience with basic GCP networking and security controls.
Prerequisites
This lab assumes you are familiar with Compute Engine VM instances and accessing it through SSH
If you find any gaps in your knowledge, consider taking the following labs:
Objectives
In this lab, you will:
- Launch a Compute Engine VM instance
- Create firewall rules to allow SSH only from a specific IP
- Create firewall rules to allow HTTP and HTTPS traffic
- Test connectivity to verify the firewall rules
Lab Steps
Creating a VM instance
1. In the Google Cloud console, use the unified search bar to navigate to Compute Engine.

2. Click VM instances, then click Create Instance.

3. Configure the VM instance with the following:
- Name: <your desired VM name>
- Machine type: e2-micro

4. Leave the remaining settings at their default values and click Create.
Create a Firewall Rule for SSH and HTTP/HTTPS
1. Navigate to VPC network → Firewall in the Cloud console.

2. Click Create Firewall Rule.

3. Create a firewall rule for SSH with the following configuration:

- Name: ssh-from-my-IP (or any name you desire)
- Network: default (where your VM’s VPC currently is)
- Targets: All instances in the network (or specify tags)
- Source IP ranges: <your public IP address>/32 (e.g.,
123.0.123.11/32) - Protocols and ports: Select Specified protocols and ports → tcp:22
4. Create a firewall rule again for HTTP/HTTPS with the following configuration:

- Name: allow-http-https (or any name you desire)
- Network: default (where your VM’s VPC currently is)
- Targets: All instances in the network (or specify tags)
- Source IP ranges: 0.0.0.0/0 (allow from anywhere)
- Protocols and ports: Select Specified protocols and ports → tcp:80, tcp:443

Testing Connectivity to your VM
1. Go back to Compute Engine → VM Instances in the Google Cloud console.
2. Find your created VM and click SSH to connect. Take notice of its External IP, which we will use later

3. Let’s install a simple web server to verify that HTTP traffic can reach the VM.
sudo apt update
sudo apt install apache2 -y
sudo systemctl start apache2

4. Once the installation is done, open the VM’s external IP in a browser → the default web page should load.

Well done! You’ve successfully secured a Compute Engine VM by configuring firewall rules to restrict SSH access and allow HTTP/HTTPS traffic. This guided lab helps you understand the basic workflow of controlling network access and protecting VM instances in Google Cloud. You can use the same firewall concepts covered in this lab to secure more complex environments and manage access for multiple VMs. In future guided labs, we’ll build on this foundation by exploring advanced networking, load balancing, and additional security features.