
Scenario
Your company wants to provision a new network with a public subnet so they can test any new instances within that public subnet. They have tasked you with creating this VPC and subnet through Infrastructure as Code so they can test and launch resources as necessary.
You’ll need to accomplish the following steps to complete your task:
1. Create a service account.
2. Create a service account key to be used with the host instance.
3. Ensure Terraform is installed.
4. Create a main.tf file to create the configuration for the VPC and subnet.
5. Use terraform apply to execute the plan.
Create a Service Account
- From Google Cloud console’s main navigation, choose IAM & Admin > Service Accounts.
- Click Create service account.
- Give your service account a name.
- Click Create.
- In the roles dropdown, select Project > Owner.
- Click Continue and then Done.

Log in to the Host Instance and Ensure Terraform Is Installed
- From Google Cloud navigation, choose Compute Engine > VM instances.

- Click SSH next to
terraform-instance
. - Use
root
privileges:sudo -i
- Change into the
root
directory:cd /
- Input the path to communicate with Terraform into the
/etc/profile
file:echo "PATH='$PATH:/downloads/'" >> /etc/profile
- Run the following in order to be able to call Terraform:
source /etc/profile

- Call Terraform:
terraform

Create a Service Account Key within the Instance
- Allow the SDK to communicate with GCP:
gcloud auth login

- Click on the link given, allow the
cloud_user
email to retrieve the key, and copy and paste the key into your terminal.


- Create the service account key:
gcloud iam service-accounts keys create /downloads/instance.json --iam-account <SERVICE_ACCOUNT>
gcloud iam service-accounts keys create /downloads/instance.json –iam-account terraform@using-terraf-156-16d1549b.iam.gserviceaccount.com

Create and Deploy the Configuration File
- Create a
main.tf
file:vi main.tf
- Paste the following configuration:
provider “google” {
version = “3.5.0”
credentials = file(“/downloads/instance.json”)
project = “”
region = “us-central1”
zone = “us-central1-c”
}
resource “google_compute_network” “vpc_network” {
name = “terraform-network”
}
resource “google_compute_subnetwork” “public-subnetwork” {
name = “terraform-subnetwork”
ip_cidr_range = “10.2.0.0/16”
region = “us-central1”
network = google_compute_network.vpc_network.name
}
- Save and exit the file by pressing Escape followed by
:
wq
.

- Use
terraform init
,terraform validate
,terraform plan
, and thenterraform apply
.





5. Now go to VPC network and you will see that the sub network called “terraform-subnetwork” has been created.

The point of view of your article has taught me a lot, and I already know how to improve the paper on gate.oi, thank you. https://www.gate.io/pt-br/signup/XwNAU
Can you be more specific about the content of your enticle? After reading it, I still have some doubts. Hope you can help me. https://accounts.binance.com/en/register?ref=P9L9FQKY
After reading your article, I have some doubts about gate.io. I don’t know if you’re free? I would like to consult with you. thank you.