This is an original planning guide. It is not a vendor manual, an official standard, or legal advice. Example addresses use documentation ranges. Review every command before you paste it.
The first drawing for GCP
GCP in this window is a lab you can name. The lab is a project you administer, not the whole organisation. The drafts come from the Compute Engine, VPC, subnet, and firewall generators. The generators draft commands or files. They do not log into the account, and they do not create anything. You read every name before a later window applies anything.
The network is one VPC network and one subnet or the product's equivalent. A documentation prefix such as 192.0.2.0/24 stays in the note. The prefix you would apply is the one the network guide already assigned. example.com is not a name you own.
The firewall rule names its source. You do not open the rule to 0.0.0.0/0, and you do not delete the firewall to make a test pass. The line you keep has a source you can say. A draft that contains 0.0.0.0/0 is a draft you edit. Management from the whole internet is not the lab.
The virtual machine's service account is not the project owner. The gcloud configuration names this project before any create. prompt-for-this is not a key, a token, or a password. It does not go in the file, the ticket, or user-data.
One lab name, one draft you can read aloud
Write the account label, the region or location, and the lab name. Draft the network first, then the virtual machine, then the edge rule. Read the drafts in that order. If a name does not say lab, change the name before you continue.
Write the project id from a read command, not from memory. If the configuration still points at a different project, the drafts stay in the ticket.
The identity on the virtual machine is not an owner and not a root key. The CLI or Terraform profile is the one in the ticket. A read of that identity, from the CLI guide, matches before any create.
Stop after the drafts are in the ticket. Apply is a later hour, one resource at a time, in the account you wrote down. The cost guide has the size. The infrastructure guide has the language if you are using a file. This page does not apply all four generators in one sitting.
# GCP lab note. Review before you apply.
# Account: the one in the ticket. Region written.
# VPC network uses an assigned prefix, not a documentation range.
# Delete 0.0.0.0/0 from any draft.
# prompt-for-this is not a credential.
# One resource per later window.
A change you can finish
The later change creates the network in the lab, then stops. The machine waits until that network exists and the edge rule is the one you edited.
Rollback of a lab you just created is deleting that lab resource. You do not delete a shared network. You do not edit state or the console blindly to hide a mistake.
- Write the account, the region, and the lab name.
- Draft the network and confirm the prefix is assigned.
- Draft the edge rule and remove 0.0.0.0/0.
- Draft one virtual machine at a lab size.
- Confirm the identity is not an owner.
- Save the drafts. Do not apply them in the writing hour.
- Hand the first create to its own window.
Mistakes that outlive the command
GCP fails in the same few ways. Each one looks finished on the day you type it. The list is here so the ticket can forbid them before the window, not so you can recognise them in an incident review.
- Applying four drafts in one hour.
- A documentation prefix typed into the account.
- A 0.0.0.0/0 rule kept because the generator wrote it.
- An owner or root credential in the file.
- The wrong account, noticed after a create.
- A production name used as the lab.
- User-data or metadata that contains a secret.
- The largest size as the first machine.
- The default network assumed, or the project owner used as the virtual machine identity.
- No second admin before you change a lockout setting.
- Calling the draft a finished environment.
Decisions to write down before the window
Decision 1 for GCP. The account in the note is the lab account. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 2 for GCP. The region is written. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 3 for GCP. The prefix is assigned, not a documentation range. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 4 for GCP. The edge source is a name. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 5 for GCP. 0.0.0.0/0 is absent from the draft you will keep. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 6 for GCP. The machine size is a lab size. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 7 for GCP. The identity is not an owner. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 8 for GCP. No credential is in the file or the ticket. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 9 for GCP. Apply is a later window. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 10 for GCP. One resource will be created first, the network. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 11 for GCP. The gcloud project matches the ticket before any create. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
Decision 12 for GCP. A second person can say which account this is. Write that decision in the ticket before you change the host. The proof is the smallest command or screen that confirms it, recorded with the hostname and the time. If the host disagrees, the ticket changes. A second change does not go on top of a failed check. The rollback is the previous value you wrote down, not a reboot that hides which line mattered.
The hour you stop
Write the account, the project or subscription, the region, and the clock time before you change anything for GCP. If this account is serving people and you do not have a way back, this hour is a plan. A plan you can read tomorrow is a success. A change you cannot undo is not.
Use a lab account, a lab project, or a lab subscription you administer. You do not point a CLI, a pipeline, or a browser tool at an account you do not run. The tools on this site run in the browser. They draft text. They do not log in, and they do not scan.
prompt-for-this is a reminder that a secret is missing. It is not an access key, a token, a password, or a kubeconfig you save. The real secret stays in the password store or the platform's secret store. If a file, a log, a ticket, or a pipeline still contains a live secret, stop and rotate it. Then delete the copy.
One change. A network, a virtual machine, a policy, and a pipeline do not share a window. If two things move and the outcome is wrong, you will not know which one did it. The rollback is the previous file, the previous plan, or the resource you can delete because it was only a lab.
A second person reads the scope aloud: which account, which region, which name. If they cannot find it in the ticket, the ticket is not ready. Silence is not agreement.
Documentation addresses stay in the note. 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, and 2001:db8::/32 are not prefixes you type into a production network. example.com is not your zone. A generated file that opens 0.0.0.0/0 is a file you edit before it is applied. A source you can name is the rule you keep.
Do not apply a draft you have not read. A cost estimate, a policy, a manifest, and a Terraform plan are reading material. Apply, a resize of a live machine, and a delete of a bucket are later decisions with their own proof. Read the names. Then decide.
Keep the previous file. A generator draft is not the previous file. The previous file is what you put back if the new one is wrong. You practised the path back, including the serial console or a second admin, before you changed a network or a lockout setting.
If a step fails twice, stop. The failure is the result. Adding a command from a forum beside a half-applied stack produces an account nobody can explain. Rebuild the lab from the copy you kept.
When the checks pass, the next account waits until someone else can repeat the proof from the notes. GCP is done for this window when the proof is written, not when a CLI printed a success line.
This page is a planning guide. It is not a vendor manual, not an official standard, not legal advice, and not an audit opinion. If an auditor must see the decision, they see the ticket and the evidence, not this paragraph.
Hand the finished note to the neighbouring guide that owns the next step, and leave this account alone until that guide has its own window.
GCP checks before the first create
Check 1 in GCP checks before the first create. The account and region are in the ticket. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 2 in GCP checks before the first create. The lab name is obvious. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 3 in GCP checks before the first create. The prefix is the assigned one. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 4 in GCP checks before the first create. No 0.0.0.0/0 remains. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 5 in GCP checks before the first create. No credential is in the draft. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 6 in GCP checks before the first create. The size is a lab size. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 7 in GCP checks before the first create. The identity was read and it matches, or create has not started. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 8 in GCP checks before the first create. A second person read the account line. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 9 in GCP checks before the first create. The hostname in the prompt matches the hostname in the ticket for GCP. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 10 in GCP checks before the first create. The result line includes the time and the person, not only the command. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 11 in GCP checks before the first create. You can point at the rollback value without searching a chat history. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Check 12 in GCP checks before the first create. Done is a sentence a second person can repeat: the proof for GCP happened, and the next host is not started early. Record the device name, the result, and the time on the same line. If the result does not match this check, stop and fix the ticket before you add another change. The rollback for this check is the previous value you wrote down, not a reboot. A reboot hides whether the check was the one that mattered. When the check passes, move to the next one. When it fails, the incident is this check.
Tools for this guide
These tools run in the browser on this site. They do not log into your machines.
- GCP Compute Engine VM gcloud Generator
- GCP VPC Network gcloud Generator
- GCP Subnet gcloud Generator
- GCP Firewall Rule gcloud Generator
Related pillar guides
Guides in this cluster
These supporting pages belong to this pillar. A published page is linked. The others are named until they are published.
- Cheat Sheet: Terraform GCP Provider Cheat Sheet
- How-To: How to Create a GCP Compute Engine VM (Terraform, gcloud)
- How-To: How to Create a GCP VPC Network (Terraform, gcloud)
- How-To: How to Create a GCP Subnet (Terraform, gcloud)
- How-To: How to Create a GCP Firewall Rule (Terraform, gcloud)
- How-To: How to Create a GCP Cloud NAT (Terraform, gcloud)
- How-To: How to Create a GCP VPC Peering (Terraform, gcloud)
- How-To: How to Create a GCP Cloud VPN (Terraform, gcloud)
- How-To: How to Create a GCP HTTPS Load Balancer (Terraform, gcloud)
- How-To: How to Create a GCP Managed Instance Group (Terraform, gcloud)
- How-To: How to Create a GCP Cloud Storage Bucket (Terraform, gcloud)
- How-To: How to Create a GCP Storage Lifecycle Rule (Terraform, gcloud)
- How-To: How to Create a GCP Static Website on Cloud Storage (Terraform, gcloud)
- How-To: How to Create a GCP Cloud CDN (Terraform, gcloud)
- How-To: How to Create a GCP Cloud DNS Records (Terraform, gcloud)
- How-To: How to Create a GCP Certificate Manager Certificate (Terraform, gcloud)
- How-To: How to Create a GCP Cloud SQL Instance (Terraform, gcloud)
- How-To: How to Create a GCP Memorystore Redis (Terraform, gcloud)
- How-To: How to Create a GCP GKE Cluster (Terraform, gcloud)
- How-To: How to Create a GCP Artifact Registry (Terraform, gcloud)
- How-To: How to Create a GCP Cloud Function (Terraform, gcloud)
- How-To: How to Create a GCP API Gateway (Terraform, gcloud)
- How-To: How to Create a GCP Pub/Sub Topic (Terraform, gcloud)
- How-To: How to Create a GCP Secret Manager Secret (Terraform, gcloud)
- How-To: How to Create a GCP Cloud KMS Key (Terraform, gcloud)
- How-To: How to Create a GCP Service Account & IAM Binding (Terraform, gcloud)
- How-To: How to Create a GCP IAM Group Binding (Terraform, gcloud)
- How-To: How to Create a GCP Billing Budget Alert (Terraform, gcloud)
- How-To: How to Create a GCP Cloud Monitoring Alert (Terraform, gcloud)
- How-To: How to Create a GCP Log Sink (Terraform, gcloud)
- How-To: How to Create a GCP VM Snapshot Schedule (Terraform, gcloud)
- How-To: How to Create a GCP Private Service Connect (Terraform, gcloud)
- How-To: How to Create a GCP Cloud Run Service (Terraform, gcloud)