ACE — Google Cloud Associate Cloud Engineer Cheat Sheet

Compact Google Cloud ACE Cheat sheet for IAM, compute, storage, networking, deployment, operations, and exam decision points.

Use the tables for a quick pre-exam check. Expand a topic’s notes for explanations, examples, and additional distinctions.

Scope and study context

The ACE exam is practical. Expect scenario-style decisions about setting up cloud environments, deploying workloads, managing access, operating resources, and choosing appropriate Google Cloud services. The key is not just knowing product names; it is knowing what to do first, what is safest, what is managed, and what avoids unnecessary operational work.

After reviewing the tables above, move directly into IT Mastery practice:

  1. Start with topic drills for IAM, networking, compute, and storage.
  2. Review every missed question using detailed explanations.
  3. Convert each miss into a rule: service choice, IAM scope, network path, or operational sequence.
  4. Take mixed sets from the question bank to practice switching topics quickly.
  5. Use mock exams only after your weak-topic accuracy improves.

A practical next step: complete a focused set of original practice questions on IAM and networking first, because those concepts appear across many Google Cloud ACE scenarios.

ACE mental model

Exam task patternKnow how to do itCommon exam cue
Set up a cloud environmentCreate/select project, link billing, enable APIs, set gcloud config, use Cloud Shell“A new project needs to use Compute Engine”
Plan and configure resourcesPick region/zone, VPC/subnet, IAM roles, service account, storage/database“Minimize operations” or “least privilege”
Deploy workloadsUse Compute Engine, managed instance groups, Cloud Run, App Engine, GKE, Cloud Functions“Deploy a container” or “autoscale stateless app”
Operate workloadsMonitor, log, alert, inspect health checks, restart/resize/roll back“Users report errors” or “instance unhealthy”
Secure workloadsIAM, service accounts, Secret Manager, Cloud KMS, firewall rules, private access“No external IP” or “avoid service account keys”
Notes and examples

High-yield answer patterns

If the question says…Prefer…Avoid…
Least privilegePredefined role scoped to the narrowest resource; custom role only if neededOwner, Editor, broad project-level grants
Reduce operationsManaged/serverless service that satisfies requirementsSelf-managed VMs when managed service fits
VM has no external IP but needs outbound internetCloud NATAssigning external IPs to every VM
VM has no external IP but needs Google APIsPrivate Google Access on the subnet, plus IAMCloud NAT as the only answer when it only needs Google APIs
Workload needs Google Cloud credentialsAttached service account, impersonation, or Workload Identity FederationDownloaded long-lived service account keys
App needs secretsSecret Manager, sometimes Cloud KMS for encryption keysHardcoded secrets, VM metadata, source control
Asynchronous decouplingPub/SubSynchronous direct calls between every service
Analytics over large datasetsBigQueryCloud SQL for analytical scans
Relational OLTPCloud SQL or Spanner depending scale/global needsBigQuery or Bigtable
Cost groupingLabels, billing export, budgets/alertsTreating labels as IAM or hierarchy controls

Environment setup: projects, billing, APIs, and CLI

Resource setup checklist

StepWhat to verifyWhy it matters
Select projectCorrect PROJECT_ID in Console or gcloud configMany errors are wrong-project errors
BillingProject is linked to an active billing accountAPIs/resources may fail without billing
APIsRequired service APIs are enabledPermissions are not enough if API is disabled
Region/zoneDefaults match intended deployment locationAvoid accidental cross-region resources
IAMUser or service account has required roleConsole visibility and deployment both depend on IAM
QuotasResource quota is availableQuota failures are not fixed by IAM alone
Notes and examples

Essential gcloud setup commands

gcloud init
gcloud auth list
gcloud config configurations list

gcloud config set project PROJECT_ID
gcloud config set compute/region REGION
gcloud config set compute/zone ZONE

gcloud services list --enabled
gcloud services enable compute.googleapis.com run.googleapis.com container.googleapis.com
Command patternUse whenTrap
gcloud auth loginAuthenticate the CLI as a userDoes not automatically provide application credentials to local code
gcloud auth application-default loginTest local code using Application Default CredentialsNot the same as a service account attached to a deployed workload
gcloud config set projectSet default project for commandsSome commands still need explicit region/zone
gcloud services enable SERVICEEnable an API before using a productAPI enabled does not grant IAM permission
Cloud ShellQuick admin tasks in browserCloud Shell still operates in the selected project/config

Resource hierarchy, IAM, and service accounts

Resource hierarchy

LevelPurposeExam notes
OrganizationRoot for company-owned Google Cloud resourcesCentral IAM, org policies, folders
FolderGroup projects by team, app, environment, or business unitIAM and policies can inherit down
ProjectMain boundary for APIs, billing linkage, IAM grants, quotas, resourcesMost ACE tasks happen at project scope
ResourceVM, bucket, dataset, cluster, topic, etc.Some resources support resource-level IAM
Notes and examples

IAM allow policies inherit downward: organization → folder → project → resource. A broad role at a high level can unintentionally grant access to many resources.

IAM decision table

NeedUseAvoid / trap
Grant standard product accessPredefined role, such as storage object viewer/admin, compute admin, logs viewerBasic roles unless explicitly appropriate
Grant only a few permissionsCustom roleCustom roles add maintenance overhead
Grant temporary/conditional accessIAM Conditions when supportedRelying on manual cleanup
Let a user deploy a VM using a service accountGrant service account attachment permission, commonly Service Account User, on that service accountGranting the user all permissions the service account has
Let a workload access Google Cloud APIsAttach a service account to the workload and grant that service account target permissionsEmbedding user credentials or key files
Investigate who changed somethingCloud Audit LogsApplication logs alone
Block allowed access in specific casesIAM deny policy or organization policy, if configuredAssuming an allow grant always wins

Role types

Role typeScopeUse for ACE scenarios
Basic roles: Owner, Editor, ViewerVery broad project-level rolesRarely the best answer for least privilege
Predefined rolesGoogle-managed roles for specific products/tasksDefault choice for exam answers
Custom rolesUser-defined permission setsWhen predefined roles are too broad and exact permissions are known

Service account traps

ConceptCorrect interpretation
Service account as identityA workload can run as a service account. That service account needs permissions on target resources.
Service account as resourceA user may need permission to attach, impersonate, or manage the service account itself.
Service Account UserLets a principal run/attach resources as the service account, depending on context. It does not automatically grant all target-resource permissions to the human user.
Service Account Token CreatorUsed for impersonation/token creation scenarios. More sensitive than simple viewing.
Key filesLong-lived credentials. Prefer attached service accounts, impersonation, or Workload Identity Federation where possible.
Default service accountsConvenient, but do not assume they are least-privilege or safe for production.

Common IAM troubleshooting path

  1. Confirm active identity: user, group, service account, or workload identity.
  2. Confirm correct project, folder, or resource.
  3. Confirm API is enabled.
  4. Check allow policy at resource and inherited levels.
  5. Check deny policies or organization policies if access still fails.
  6. For VMs/GKE/serverless, check the runtime service account, not only the deployer’s account.
  7. For BigQuery, check both job permissions on the project and data permissions on datasets/tables.

Google Cloud resource hierarchy

Google Cloud resources are organized hierarchically. Many ACE questions test where to apply permissions or policies.

LevelWhat to remember
OrganizationTop-level resource for a company using Google Cloud
FolderOptional grouping under an organization
ProjectMain boundary for resources, APIs, IAM, billing association, and quotas
ResourceVM, bucket, dataset, service account, cluster, database, etc.

Decision rules

  • Use projects to separate environments, applications, teams, or billing boundaries.
  • IAM policies are commonly inherited down the hierarchy.
  • Grant access at the lowest practical level.
  • Avoid granting broad access at the organization or folder level unless there is a clear administrative need.
  • A project must generally have required APIs enabled before services can be used.
  • A project must be associated with billing for billable resources.

Candidate traps

TrapBetter thinking
Granting Owner or Editor because something “does not work”Identify the missing permission and use a predefined or custom least-privilege role
Applying project-level access when only one bucket/dataset is neededGrant access on the specific resource if possible
Forgetting API enablementIf deployment fails because a service is unavailable, check whether the API is enabled
Confusing billing account with project ownershipBilling pays for resources; IAM controls access

IAM and service accounts

IAM is one of the most important ACE areas. You need to distinguish who is acting, what they are accessing, and what role is required.

IAM essentials

ConceptReview point
PrincipalUser, group, service account, domain, or other identity
RoleCollection of permissions
PermissionSpecific action, such as compute.instances.get
PolicyBindings of principals to roles on a resource
Basic rolesOwner, Editor, Viewer; broad and usually not best practice
Predefined rolesGoogle-managed roles for specific services/tasks
Custom rolesUser-defined permissions for stricter least privilege
Service accountIdentity used by workloads and automation

Service account decision rules

NeedUse
VM or app needs to call Google APIsAttach a service account with required IAM roles
User needs to deploy a VM using a service accountGrant Service Account User on that service account
User or automation needs to impersonate a service accountGrant appropriate impersonation permission, such as Service Account Token Creator where required
GKE workload needs Google Cloud API accessPrefer Workload Identity / workload identity-based access rather than long-lived keys
External system needs access without service account keysPrefer Workload Identity Federation where suitable
Application needs a secretUse Secret Manager, not hardcoded environment variables or source code

IAM traps

  • Roles are not the same as OAuth scopes. For Compute Engine access to Google APIs, both IAM permissions and access scopes can matter. A common modern pattern is broad API scope with least-privilege IAM.
  • Service account keys are risky. Prefer attached service accounts, impersonation, or federation instead of downloading long-lived keys.
  • Default service accounts are often overused. Create purpose-specific service accounts where practical.
  • Viewer does not mean “safe for all data.” Some viewer roles can expose sensitive configuration or metadata.

Compute and deployment selection

Compute service selection matrix

RequirementChooseWhyWatch for
Full OS control, custom agents, custom networkingCompute EngineInfrastructure as a Service VMsYou manage patching, scaling design, OS config
Identical VM fleet with autoscaling/autohealingManaged instance groupUses instance template, health checks, rolling updatesInstance template changes require rollout
Run stateless container without managing clusterCloud RunServerless containers, scales based on traffic/eventsContainer must fit Cloud Run execution model
Event-driven functionCloud FunctionsDeploy function code triggered by events or HTTPLess control than full container/VM
PaaS app from source with built-in scalingApp EngineManaged application platformApp Engine app location is an important early choice
Kubernetes orchestrationGoogle Kubernetes EnginePods, services, deployments, cluster ecosystemMore Kubernetes concepts and operational responsibility
Fault-tolerant batch or interruptible workSpot/preemptible VMs, Batch, or managed autoscaled workersLower-cost compute for restartable workDo not use for stateful critical workloads without recovery
Notes and examples

Compute Engine quick reference

FeatureUseExam trap
Machine typeCPU/memory sizingResize may require stop/start depending change
Boot diskOS disk for VMDeleting VM may delete boot disk depending setting
Persistent DiskDurable block storage for VMsNot shared POSIX file storage
Local SSDVery high performance ephemeral storageData is not durable through all lifecycle events
SnapshotPoint-in-time disk backupSnapshot is not a bootable image by itself in the same way an image is
Custom imageReusable VM boot disk imageGood for consistent VM creation
Instance templateDefines VM configuration for MIGsImmutable; create a new template for changes
Startup scriptBootstrap VM on boot/createNot a full configuration management system
MetadataVM/project metadataDo not store secrets in plain metadata
Shielded VMIntegrity protections for VMsSecurity feature, not an IAM substitute

Managed instance group decisions

NeedMIG feature
Replace unhealthy VMsAutohealing with health check
Add/remove VMs based on demandAutoscaling
Update a fleet graduallyRolling update
Serve traffic through load balancerBackend service uses instance group
Keep consistent VM configInstance template

Serverless deployment comparison

ServiceDeployable unitCommon triggerBest fit
Cloud RunContainer imageHTTP, events, jobs depending configurationPortable stateless services and APIs
Cloud FunctionsFunction source/codeHTTP or event triggerSmall event-driven units of logic
App EngineApplication sourceHTTP app trafficManaged web apps with minimal infrastructure control

GKE essentials

Kubernetes/GKE conceptWhat to know for ACE
ClusterControl plane plus worker capacity. Regional/zonal choice affects availability and latency.
Node poolGroup of nodes with similar machine/config. Standard mode exposes more node management.
AutopilotMore Google-managed cluster/node operations. Less node-level control.
PodSmallest deployable Kubernetes unit. Usually managed by higher-level controllers.
DeploymentManages replica rollout/rollback for stateless pods.
ServiceStable virtual endpoint for pods. Types include internal and external exposure patterns.
Ingress / GatewayHTTP(S) routing into services. Often integrates with load balancing.
ConfigMapNon-secret configuration.
Kubernetes SecretKubernetes-native secret object; not the same as Secret Manager.
Workload Identity Federation for GKEPreferred way for pods to access Google Cloud APIs without service account key files.

Useful GKE commands:

gcloud container clusters get-credentials CLUSTER_NAME --region REGION --project PROJECT_ID

kubectl get pods -A
kubectl get services -A
kubectl describe pod POD_NAME -n NAMESPACE
kubectl logs POD_NAME -n NAMESPACE
kubectl rollout status deployment/DEPLOYMENT_NAME -n NAMESPACE

Deployment command patterns

## Compute Engine VM
gcloud compute instances create VM_NAME \
  --zone ZONE \
  --machine-type MACHINE_TYPE \
  --image-family IMAGE_FAMILY \
  --image-project IMAGE_PROJECT \
  --service-account SERVICE_ACCOUNT_EMAIL

## Cloud Run service
gcloud run deploy SERVICE_NAME \
  --image REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE:TAG \
  --region REGION

## App Engine app
gcloud app deploy

## Cloud Functions
gcloud functions deploy FUNCTION_NAME \
  --gen2 \
  --runtime RUNTIME \
  --region REGION \
  --source . \
  --entry-point ENTRY_POINT \
  --trigger-http

Compute service selection

Choosing the right compute service is a core ACE skill.

    flowchart TD
	    A[Need to run application code] --> B{Need full OS control?}
	    B -->|Yes| C[Compute Engine]
	    B -->|No| D{Containerized?}
	    D -->|Yes| E{Need Kubernetes API/control?}
	    E -->|Yes| F[Google Kubernetes Engine]
	    E -->|No| G[Cloud Run]
	    D -->|No| H{Event-driven function?}
	    H -->|Yes| I[Cloud Functions]
	    H -->|No| J[App Engine or managed platform option]

Compute Engine

Use Compute Engine when you need VM-level control.

FeatureReview point
Machine typeCPU/memory shape; choose appropriately for workload
Boot diskPersistent disk used for OS
Persistent DiskDurable block storage; zonal or regional options
Local SSDHigh performance but ephemeral
Instance templateReusable VM configuration for managed instance groups
Managed instance groupAutoscaling, autohealing, rolling updates
Startup scriptBoot-time configuration via metadata
Shielded VMSecurity hardening features
Spot VMsLower-cost, interruptible workloads

Managed instance group traps

TrapCorrection
Using unmanaged groups for autohealing/autoscalingUse managed instance groups
Forgetting health check firewall rulesAllow health check ranges where required
Manually changing instances in a MIGUpdate template or rolling update strategy
Expecting zonal MIG to survive zone failureUse regional MIG for multi-zone resilience

GKE

Use Google Kubernetes Engine when the scenario requires Kubernetes orchestration.

ConceptReview point
ClusterKubernetes control plane plus nodes or managed capacity
Node poolGroup of nodes with common configuration
PodSmallest deployable workload unit
ServiceStable network endpoint for pods
Ingress / GatewayHTTP(S) routing into cluster workloads
AutopilotMore managed GKE mode; less node management
StandardMore control over nodes and cluster configuration

Cloud Run

Use Cloud Run for stateless containers with minimal operations.

High-yield points:

  • Runs containers.
  • Scales based on requests/events.
  • Can scale to zero.
  • Uses revisions and traffic splitting.
  • Good for HTTP APIs, web apps, background services, and containerized jobs.
  • Store images in Artifact Registry.
  • Use environment variables for non-secret config and Secret Manager for secrets.

App Engine and Cloud Functions

ServiceBest fit
App EngineManaged web app platform with versions and traffic splitting
Cloud FunctionsEvent-driven functions for lightweight code triggered by events
Cloud RunMore flexible container-based serverless runtime

Storage, databases, and analytics

Storage service selection

RequirementChooseWhyAvoid / trap
Object storage for images, backups, static assetsCloud StorageDurable object storage with buckets and lifecycle rulesNot a mounted POSIX file system by default
Block disk for VMPersistent DiskVM-attached durable block storageNot independent object storage
Shared file system for applicationsFilestoreManaged NFS file storageNot a relational database
Ephemeral high-speed scratch diskLocal SSDHigh I/O temporary storageData loss risk on certain VM events
Long-term object retention / archiveCloud Storage lifecycle + colder storage classesLower storage cost for infrequent accessRetrieval/access patterns matter
Static website assetsCloud Storage, often with load balancing/CDN patternSimple object hostingDynamic application logic needs compute
Notes and examples

Cloud Storage quick reference

FeatureUseExam trap
BucketContainer for objectsBucket names are globally unique
ObjectStored file/blobObjects are not edited in-place like normal files
LocationRegion, dual-region, or multi-regionChoose based on latency, availability, data locality
Storage classCost/access optimizationDo not choose archive class for frequently accessed data
Lifecycle ruleAutomatically transition/delete objectsGood for cost control and retention workflows
Object versioningKeep older versionsCan increase storage usage
Uniform bucket-level accessIAM-based bucket/object access modelAvoid mixing legacy ACL expectations
Signed URLTemporary access to an objectDoes not require making bucket public
Retention policyPrevent deletion/modification for retention periodDifferent from lifecycle deletion

Cloud Storage commands:

gcloud storage buckets create gs://BUCKET_NAME --location=REGION --uniform-bucket-level-access
gcloud storage cp FILE_NAME gs://BUCKET_NAME/PREFIX/
gcloud storage ls gs://BUCKET_NAME
gcloud storage rm gs://BUCKET_NAME/PREFIX/OBJECT_NAME

Database and data service selection

RequirementChooseWhyAvoid / trap
Managed relational database for common appsCloud SQLMySQL, PostgreSQL, SQL Server managed serviceNot designed for unlimited horizontal/global relational scale
Globally scalable relational databaseSpannerRelational schema, strong consistency, horizontal scaleOverkill for small/simple relational workloads
Document database for app/mobile/serverless dataFirestoreNoSQL document model, serverlessNot relational joins/complex SQL analytics
Very large low-latency wide-column workloadsBigtableTime series, IoT, large analytical/operational key-value styleNot SQL OLTP; schema design is key
Serverless analytics warehouseBigQuerySQL analytics over large datasetsNot transactional OLTP
In-memory cacheMemorystoreManaged Redis/Memcached-compatible caching optionsCache is not the source of truth
Messaging/event ingestionPub/SubDecouple producers/consumers, async eventsDesign consumers to handle redelivery/idempotency
Stream/batch data processingDataflowApache Beam managed processingMore appropriate for pipelines than simple queries
Managed Spark/HadoopDataprocLift/operate Spark/Hadoop-style jobsNot the first choice for serverless SQL analytics
Workflow orchestrationWorkflows or Cloud ComposerService orchestration or Airflow DAGsPub/Sub is messaging, not full workflow orchestration

BigQuery quick reference

ConceptKnow this
DatasetAccess and location boundary for tables/views
TableStructured analytical data
JobQuery/load/extract/copy execution unit
SQL dialectStandard SQL is generally preferred
AccessProject-level job permission plus dataset/table data permission may both be required
Cost controlPartitioning, clustering, selective queries, budgets/alerts, query review
TrapBigQuery is for analytics, not low-latency row-by-row OLTP

Example:

bq query --use_legacy_sql=false \
'SELECT name, COUNT(*) AS total
 FROM `PROJECT_ID.DATASET.TABLE`
 GROUP BY name
 ORDER BY total DESC
 LIMIT 10'

Cloud Storage

Use Cloud Storage for object storage: backups, static assets, logs, data lake objects, and durable unstructured storage.

FeatureReview point
BucketContainer for objects; globally unique name
ObjectStored file/blob
LocationRegion, dual-region, or multi-region
Storage classStandard, Nearline, Coldline, Archive based on access pattern
Lifecycle policyAutomatically transition or delete objects
Object versioningPreserve older versions
Retention policyPrevent deletion/modification for a defined retention period
Uniform bucket-level accessSimplifies access by using IAM instead of object ACLs
Signed URLTime-limited access to a specific object

Storage class decision rules

Access patternLikely class
Frequently accessedStandard
Infrequently accessed, occasional retrievalNearline
Rarely accessedColdline
Long-term archiveArchive

Do not choose a colder class just because it is cheaper to store. Retrieval frequency, minimum storage duration, and access costs matter.

Block, file, and object storage

NeedService
VM boot or attached block storagePersistent Disk
High-performance temporary VM storageLocal SSD
Shared NFS file storageFilestore
Object/blob storageCloud Storage

Database and analytics choices

RequirementService to consider
Managed MySQL/PostgreSQL/SQL ServerCloud SQL
Horizontally scalable relational databaseCloud Spanner
Serverless document databaseFirestore
Wide-column, low-latency, high-throughput workloadsBigtable
Data warehouse and analytics SQLBigQuery
In-memory cacheMemorystore
Object-based data lake storageCloud Storage

Database traps

TrapBetter answer
Using BigQuery for transactional application storageUse Cloud SQL, Spanner, Firestore, or Bigtable depending need
Using Cloud Storage like a relational databaseUse a database service
Choosing Spanner for a small simple appCloud SQL is often more appropriate
Choosing Cloud SQL for global horizontal relational scaleConsider Spanner
Choosing Bigtable for ad hoc SQL analyticsConsider BigQuery
Ignoring backups and HAReview backup, restore, replication, and regional availability options

Networking and connectivity

VPC essentials

ConceptQuick referenceExam trap
VPC networkGlobal logical networkSubnets are regional
SubnetRegional IP range inside a VPCResources must be in compatible region/network design
Custom mode VPCYou define subnetsPreferred for controlled production designs
Auto mode VPCGoogle-created subnetsConvenient but less controlled
RoutesDetermine next hop for trafficFirewall allow does not help if route is missing
Firewall ruleStateful allow/deny control for ingress/egressTarget tags/service accounts and priority matter
External IPPublic internet reachabilityAvoid when private access is required
Cloud NATOutbound internet for private resourcesDoes not allow inbound connections
Private Google AccessPrivate VM access to Google APIs/services through internal IP pathMust be enabled on the subnet
Shared VPCCentral host project shares network to service projectsIAM separation between network and app teams
VPC Network PeeringPrivate RFC1918 connectivity between VPCsNot transitive; overlapping ranges are a problem
Private Service Connect / private services accessPrivate access to supported producer or managed servicesDifferent products use different private connectivity patterns
Notes and examples

Private connectivity chooser

NeedChoose
Private VM needs outbound internet updatesCloud NAT
Private VM needs Cloud Storage, BigQuery, or other Google APIsPrivate Google Access, plus IAM
On-premises network to Google Cloud over encrypted internet tunnelCloud VPN
On-premises network to Google Cloud with dedicated connectivityCloud Interconnect option
Central networking team manages VPC, app teams deploy in separate projectsShared VPC
Two VPCs need private connectivityVPC Network Peering, if non-overlapping and non-transitive design is acceptable
Serverless service needs private VPC resourcesServerless VPC Access or direct VPC egress where supported

Load balancing quick reference

RequirementChooseNotes
External HTTP(S) appExternal Application Load BalancerURL maps, host/path routing, managed certs, Cloud CDN, Cloud Armor patterns
Internal HTTP(S) appInternal Application Load BalancerPrivate L7 routing inside VPC
TCP/UDP trafficNetwork load balancer optionL4 traffic patterns
Internal private TCP/UDP serviceInternal load balancerPrivate service exposure inside VPC
Global static frontend for web appGlobal external Application Load Balancer patternOften paired with MIGs, Cloud Run/serverless NEG, buckets, or backends
Content cachingCloud CDN with supported load balancing backendCDN is not a database cache

Network troubleshooting checklist

SymptomCheck firstLikely fix
VM cannot reach internetExternal IP or Cloud NAT, route, egress firewall, DNSAdd Cloud NAT or correct routing/firewall
VM cannot reach Google APIs without external IPPrivate Google Access on subnet, DNS, IAMEnable Private Google Access and grant IAM
App cannot receive trafficLoad balancer frontend/backend, firewall, health check, service portOpen correct firewall path and fix backend health
Health checks failHealth check path/port/protocol, app listener, firewall allowing probesAlign health check with app and allow health check traffic
VPC peering failsIP overlap, routes, non-transitive assumptionRedesign CIDR or connectivity model
Cloud Run cannot reach private DBVPC egress connector/direct egress, DB private IP, firewallConfigure supported serverless-to-VPC path
DNS name resolves incorrectlyCloud DNS zone, record, split-horizon/private zoneCorrect managed zone or record scope

Networking Cheat Sheet

Networking questions often test scope, connectivity, and firewall behavior.

VPC fundamentals

ItemScope / behavior
VPC networkGlobal resource
SubnetRegional resource
VM internal IPBelongs to a subnet
Firewall ruleApplies to VPC traffic based on direction, priority, target, and source/destination
RouteControls traffic path
Cloud NATOutbound internet for private resources without external IPs
VPC peeringPrivate connectivity between VPCs; not transitive
Shared VPCCentral host project shares subnets with service projects

Firewall rules

Remember:

  • Firewall rules are stateful.
  • Lower priority number wins.
  • Rules have direction: ingress or egress.
  • Targets can use network tags or service accounts.
  • Default VPCs and custom VPCs may have different preconfigured behavior.
  • If a VM cannot be reached, check:
    1. VM exists and service is listening.
    2. Correct internal or external IP.
    3. Firewall allows traffic.
    4. Route exists.
    5. OS-level firewall permits traffic.
    6. Health checks are allowed if behind a load balancer.

Connectivity decisions

RequirementLikely solution
VM with no external IP needs outbound internetCloud NAT
Private Google API access from subnetPrivate Google Access
Private connectivity between VPCsVPC Network Peering
Shared network managed centrallyShared VPC
Hybrid connectivity over public internet with encryptionCloud VPN
Dedicated/private hybrid connectionCloud Interconnect
Protect HTTP(S) app from web attacksCloud Armor
Identity-aware access to app or SSH/RDPIdentity-Aware Proxy where appropriate

Load balancing decision table

RequirementReview direction
External HTTP(S) appApplication Load Balancer
Internal HTTP(S) serviceInternal Application Load Balancer
TCP/UDP pass-throughNetwork Load Balancer option
Global user-facing web appGlobal external HTTP(S) load balancing where applicable
Private internal serviceInternal load balancing
Serverless backendServerless network endpoint group where supported

Networking traps

  • Cloud NAT is outbound only. It does not allow inbound connections to private VMs.
  • VPC peering is not transitive. If A peers with B and B peers with C, A does not automatically reach C through B.
  • Subnets are regional. Do not treat a subnet as global.
  • Firewall and IAM are different. IAM grants control-plane access; firewall rules control packet flow.
  • External IP is not required for every workload. Private resources can use Cloud NAT or private access patterns.

Security, secrets, and governance

Security service selection

NeedUseTrap
Store API keys/passwordsSecret ManagerDo not store secrets in source code, metadata, or plain env vars
Manage encryption keysCloud KMSIAM on key is separate from IAM on encrypted resource
Customer-managed encryption keyCMEK with supported serviceMust grant service agent access to use the key
Audit administrative activityCloud Audit LogsData Access logs may need explicit consideration
Enforce org-wide constraintsOrganization Policy ServiceIAM grants may still be limited by org policy
Protect web apps from common attacksCloud Armor with supported load balancerFirewall rules are not L7 WAF rules
Manage certificatesGoogle-managed certificates / Certificate Manager patternsCertificate lifecycle differs from DNS and LB config
Discover asset/config inventoryCloud Asset InventoryNot the same as live monitoring metrics
Notes and examples

Audit log categories

Audit log typeWhat it captures
Admin ActivityAdministrative changes to resources
Data AccessReads/writes of user data where enabled/applicable
System EventGoogle Cloud system actions that affect resources
Policy DeniedAccess denied by policy controls

Governance and cost controls

NeedTool / patternExam note
Group resources for billing/reportingLabelsLabels are not IAM and do not create hierarchy
Enforce location or service restrictionsOrganization policiesUsually configured above project level
Notify about spendBudgets and alertsAlerts notify; they are not a simple hard spending cap
Analyze detailed billingCloud Billing export to BigQueryGood for custom cost reporting
Separate environmentsSeparate projects, folders, or bothStronger boundary than labels
Control resource consumptionQuotasQuotas are not permissions
Reduce compute cost for steady workloadsCommitted-use or rightsizing patternsDo not sacrifice required availability/performance
Reduce fault-tolerant batch costSpot/preemptible computeMust tolerate interruption

Operations, observability, and troubleshooting

Observability service selection

NeedUseNotes
Metrics and dashboardsCloud MonitoringCPU, uptime, service metrics, custom metrics
Alert on conditionsCloud Monitoring alerting policyAlerts need notification channels and useful thresholds
Logs search and analysisCloud Logging Logs ExplorerFilter by resource, severity, labels, trace
Export logsLog sinks to BigQuery, Cloud Storage, Pub/Sub, or another destinationSink destination needs permissions
Create metrics from logsLogs-based metricsUseful when metric is only visible in logs
VM system/application metricsOps AgentInstall/configure on supported VMs when needed
Error aggregationError ReportingGood for application exceptions
Latency tracingCloud TraceRequires app/framework integration for best value
Deployment/build historyCloud Build logs, Cloud Deploy records, service revision historyStart with the service-specific activity/logs
Notes and examples

Example log query:

gcloud logging read \
'resource.type="gce_instance" AND severity>=ERROR' \
--limit=20 \
--format=json

Troubleshooting decision table

ProblemCheckPractical fix
PERMISSION_DENIEDActive identity, project, IAM role, inherited deny/org policy, service accountGrant least-privilege role at correct scope
API has not been used or service unavailableAPI enabled in current projectEnable required API
Resource not foundProject, region, zone, nameUse explicit --project, --region, --zone
Cloud Run returns 403Invoker IAM, authentication setting, ingress settingGrant invoker or adjust auth/ingress appropriately
Cloud Run revision not servingContainer port, startup failure, env vars/secrets, logsFix container and redeploy
GKE pod pendingNode capacity, scheduling constraints, quotasResize node pool or adjust requests/constraints
GKE image pull errorImage path, Artifact Registry IAM, tag existsGrant reader role to runtime identity and correct image name
MIG instances keep recreatingHealth check failing, startup script failure, app not listeningFix startup/app health endpoint/firewall
BigQuery query deniedJob permission on project, data permission on dataset/tableGrant correct BigQuery roles at correct scope
Logs missingWrong resource filter, severity, log exclusion, agent not installedAdjust query/sink/agent configuration
High latencyRegion distance, load balancer backend health, database location, autoscalingCo-locate services and tune scaling/backends

Operations, monitoring, and troubleshooting

The ACE exam often presents broken or incomplete systems and asks for the next operational step.

Observability services

NeedService / feature
Metrics and dashboardsCloud Monitoring
AlertsAlerting policies
LogsCloud Logging
Log-based metricMetric derived from logs
Export logsLog sinks
Error groupingError Reporting
Distributed request tracesCloud Trace
Application profilingCloud Profiler
Audit visibilityCloud Audit Logs
Service healthUptime checks and dashboards

Logs decision table

RequirementUse
View recent application logsLogs Explorer
Alert on log patternLog-based metric plus alerting policy
Retain logs outside default retentionLog sink to Cloud Storage or BigQuery
Analyze logs with SQLSink logs to BigQuery
Stream logs to external systemSink to Pub/Sub
Store long-term audit records cheaplySink to Cloud Storage

Audit logs

Know the broad categories:

Audit log typeWhat it captures
Admin ActivityAdministrative changes to resources
Data AccessData reads/writes where enabled and applicable
System EventGoogle Cloud system actions
Policy DeniedAccess denied by policy controls

Troubleshooting sequence

SymptomFirst checks
VM unreachable by SSHIAM/OS Login, firewall, external/internal IP, IAP, routes, instance status
App behind load balancer unhealthyHealth check path/port, firewall, backend service, instance group, app listener
Cloud Run returns permission errorService account IAM, invoker permissions, secret access, API enablement
GKE pods not startingPod events, image pull errors, resource requests, service account, node health
API call deniedCaller identity, IAM role, API enabled, resource scope, organization policy
Unexpected cost spikeBilling reports, labels, logs, autoscaling, data egress, idle resources

CI/CD and artifacts

RequirementChooseNotes
Store container images and packagesArtifact RegistryGrant runtime service account read access
Build from sourceCloud BuildUses build steps and service account permissions
Trigger build on repository changesCloud Build triggerRequires source connection and IAM
Deploy to Cloud Run/GKE/App EngineCloud Build step or service-specific deploy commandBuild identity needs deploy permissions
Progressive deliveryCloud DeployMore relevant for release pipelines than one-off deploys

Example minimal build/deploy pattern:

steps:
  - name: gcr.io/cloud-builders/docker
    args: ["build", "-t", "REGION-docker.pkg.dev/PROJECT_ID/REPO/APP:$COMMIT_SHA", "."]
  - name: gcr.io/cloud-builders/docker
    args: ["push", "REGION-docker.pkg.dev/PROJECT_ID/REPO/APP:$COMMIT_SHA"]
  - name: gcr.io/google.com/cloudsdktool/cloud-sdk
    args:
      - "gcloud"
      - "run"
      - "deploy"
      - "SERVICE_NAME"
      - "--image=REGION-docker.pkg.dev/PROJECT_ID/REPO/APP:$COMMIT_SHA"
      - "--region=REGION"

Backup, availability, and recovery patterns

Resource typeCommon protection patternExam note
Compute Engine boot/data diskSnapshots, images, managed instance groupsSnapshot for backup; image for reusable boot baseline
Stateless web tierMIG across zones, load balancing, health checksReplace instances instead of repairing manually
Cloud SQLAutomated backups, point-in-time recovery where configured, HA/read replicas as neededBackups and replicas solve different problems
Cloud StorageVersioning, retention policy, lifecycle rules, dual/multi-region if neededVersioning can increase cost
GKE appKubernetes manifests, container images, backups for stateful dataRecreate stateless workloads from config
BigQueryTable snapshots/copies/exports depending requirementDataset location and access matter
Pub/Sub consumersIdempotent processing and retry handlingMessages may be delivered more than once

Exam traps to review before practice

TrapCorrect exam instinct
“Give Owner so it works”Use least-privilege predefined role at the narrowest useful scope
Confusing deployer identity with runtime identityCheck both user permissions and service account permissions
Confusing IAM with network accessIAM authorizes API/resource actions; firewall/routes authorize network paths
Cloud NAT for inbound trafficCloud NAT is outbound only
Private Google Access as general internet accessIt is for private access to Google APIs/services, not arbitrary public sites
BigQuery for transactional app backendUse Cloud SQL, Spanner, Firestore, or Bigtable based on data model
Cloud Storage as POSIX shared file systemUse Filestore for managed NFS file workloads
Labels as security boundaryLabels help organize/report; IAM/projects/folders enforce access boundaries
Budget alert as hard capBudgets alert; use quotas, policies, and automation for stronger controls
Service account key as default solutionPrefer attached service account, impersonation, or federation
Wrong region/zone/projectMake location and project explicit in commands and troubleshooting
Health check failure blamed only on load balancerCheck app listener, firewall, route, startup time, and health path

Final ACE review checklist

Before taking ACE practice sets, verify you can quickly answer:

  • Which Google Cloud compute service fits VM, container, function, PaaS, and Kubernetes requirements.
  • How to configure gcloud project, region, zone, authentication, and API enablement.
  • How IAM inheritance, predefined roles, service accounts, and impersonation differ.
  • When to use Cloud NAT, Private Google Access, VPC peering, Shared VPC, VPN, and Interconnect.
  • Which storage/database service fits object, block, file, relational, document, wide-column, cache, and analytics workloads.
  • How to troubleshoot permission, project/location, health check, serverless, GKE, and logging issues.
  • How Cloud Monitoring, Cloud Logging, audit logs, alerts, and log sinks support operations.
  • How labels, budgets, quotas, org policies, and billing export support governance and cost visibility.

High-yield ACE mindset

For most ACE scenarios, ask:

  1. What is the workload? VM, container, serverless app, data pipeline, database, static content, analytics, or operations task.
  2. What level of management is desired? Fully managed, serverless, managed platform, or self-managed infrastructure.
  3. What is the scope? Organization, folder, project, region, zone, subnet, bucket, service account, or resource.
  4. Who or what needs access? Human user, group, service account, workload identity, external identity, or Google-managed service.
  5. What is the safest minimal change? Least privilege, no broad basic roles, no public access unless explicitly required.
  6. What is the operational outcome? Deploy, scale, monitor, troubleshoot, back up, restore, update, or reduce cost.

Common ACE answer pattern

Scenario wordingLikely direction
“Minimum operations”Prefer managed/serverless services
“Need full OS control”Compute Engine
“Containerized app without managing nodes”Cloud Run or GKE Autopilot, depending Kubernetes needs
“Kubernetes required”Google Kubernetes Engine
“HTTP app, scale to zero, stateless”Cloud Run
“Traditional relational database”Cloud SQL
“Global relational scale”Cloud Spanner
“Analytics over large datasets”BigQuery
“Low-latency wide-column/time-series at scale”Bigtable
“Object storage, static assets, backups”Cloud Storage
“No external IP but needs outbound internet”Cloud NAT
“Private connection between VMs in same VPC”Internal IP, firewall rules
“Grant access to a workload”Service account with least-privilege IAM
“Grant user ability to attach a service account”Service Account User role on that service account
“Monitor availability”Uptime checks, alerting policies, Cloud Monitoring
“Analyze logs centrally”Cloud Logging, log sinks, BigQuery/Cloud Storage/Pub/Sub

Projects, gcloud, and environment setup

ACE candidates should be comfortable with common administrative setup tasks.

gcloud review

TaskCommand pattern to recognize
Authenticate usergcloud auth login
Use application default credentials locallygcloud auth application-default login
Set projectgcloud config set project PROJECT_ID
Set default regiongcloud config set compute/region REGION
Set default zonegcloud config set compute/zone ZONE
List active configgcloud config list
Manage configurationsgcloud config configurations ...
Enable an APIgcloud services enable SERVICE_NAME
View IAM policygcloud projects get-iam-policy PROJECT_ID
Add IAM bindinggcloud projects add-iam-policy-binding ...

Quick setup checklist

  1. Create or select the correct project.
  2. Confirm billing association if resources will be created.
  3. Enable required APIs.
  4. Set gcloud project, region, and zone.
  5. Create least-privilege service accounts.
  6. Grant only required IAM roles.
  7. Deploy resources.
  8. Configure monitoring, logging, and alerts.

Deployment and release management

ACE candidates should recognize common deployment paths and operationally safe release patterns.

Container deployment flow

  1. Build container image.
  2. Store image in Artifact Registry.
  3. Deploy to Cloud Run, GKE, or another runtime.
  4. Configure service account and environment settings.
  5. Set traffic routing, scaling, and networking.
  6. Monitor logs, metrics, and errors.

Common deployment tools

Tool / serviceReview point
gcloud CLIDirect command-line deployment and administration
Cloud ShellBrowser-based shell with Google Cloud tools
Cloud BuildBuild and CI automation
Artifact RegistryStore container images and packages
Cloud DeployDelivery pipeline support for selected deployment workflows
Terraform / IaCRepeatable infrastructure provisioning
kubectlKubernetes operations against GKE clusters
Notes and examples

Safe release patterns

PatternPurpose
Rolling updateGradually replace old instances/pods
CanarySend small traffic portion to new version
Blue/greenSwitch between two production-ready environments
Traffic splittingRoute percentages across revisions/versions
RollbackReturn to known-good version quickly

Deployment traps

  • Do not manually patch one VM in a managed instance group and expect it to persist.
  • Do not store secrets in source code or container images.
  • Do not grant deployment pipelines broad Owner permissions unless explicitly justified.
  • If a service cannot pull an image, check Artifact Registry permissions and image path.
  • If Kubernetes deployment fails, check namespace, image, service account, pod events, and logs.

Security review

Least privilege checklist

  • Use groups for human access where possible.
  • Use service accounts for workloads.
  • Grant roles at the lowest suitable level.
  • Prefer predefined roles over basic roles.
  • Use custom roles only when predefined roles are too broad.
  • Avoid service account keys unless no safer option fits.
  • Rotate and manage secrets in Secret Manager.
  • Use Cloud KMS for encryption key management where customer-managed keys are required.
  • Use audit logs and monitoring for sensitive actions.
Notes and examples

Common security services

NeedService / feature
Manage secretsSecret Manager
Manage encryption keysCloud KMS
Protect web appsCloud Armor
Access apps based on identityIdentity-Aware Proxy
Manage Linux login with IAMOS Login
Isolate private workloadsVPC, firewall rules, private IPs
Reduce data exfiltration riskVPC Service Controls where appropriate
Scan/secure artifactsArtifact-related security features where configured

Security traps

TrapBetter approach
Put credentials in startup scriptsUse service accounts and Secret Manager
Give users service account keysPrefer impersonation or federation
Make bucket public for temporary sharingUse signed URLs or scoped IAM when possible
Use Editor for deployment automationGrant specific deployment and resource roles
Assume encryption requires manual setupGoogle Cloud encrypts data by default; use CMEK only when customer-managed control is required

Cost and billing review

ACE cost questions usually test operational awareness, not deep financial modeling.

Cost control tools and behaviors

NeedReview point
Track spendBilling reports
Notify on spendBudgets and alerts
Attribute costLabels and project structure
Reduce VM cost for predictable usageCommitted use discounts where appropriate
Reduce cost for fault-tolerant workloadsSpot VMs
Avoid idle spendStop/delete unused resources
Reduce storage costLifecycle policies and correct storage class
Avoid surprise egressUnderstand data movement across regions/internet

Cost traps

  • Budgets and alerts notify; they do not automatically stop all spending unless you build automation.
  • Stopped VMs may still incur disk/IP-related charges.
  • Cold storage can cost more if accessed frequently.
  • Overprovisioned VMs and unused disks are common waste sources.
  • Cross-region and internet egress can matter in architecture questions.

Reliability and backup review

Availability concepts

RequirementDesign direction
Survive instance failureManaged instance group with autohealing
Survive zone failureRegional managed instance group or regional service design
Durable object storageCloud Storage
Block storage replicated across zonesRegional Persistent Disk where appropriate
Database HAUse managed HA/replication options for the selected database
Disaster recoveryBackups, replicas, tested restore procedures
Global user performanceGlobal load balancing/CDN patterns where suitable

Backup and restore traps

  • A snapshot is not the same as a machine image.
  • Backups are only useful if restore is tested.
  • High availability is not a substitute for backup.
  • Replication can copy accidental deletes or bad writes.
  • Regional/multi-region choices affect resilience, latency, and cost.

High-yield command and console tasks

You do not need to memorize every command, but you should recognize task-oriented command patterns.

TaskWhat to know
Create VMproject, zone, machine type, image, network, service account
SSH to VMfirewall, IAM/OS Login, external IP or IAP path
Create bucketglobally unique name, location, storage class
Deploy Cloud Runimage, region, service account, ingress/auth settings
Create GKE clustermode, region/zone, node pools or Autopilot
Configure IAMadd/remove policy bindings at correct scope
Enable monitoringmetrics, logs, dashboards, alerts
Export logscreate sink and destination permissions
Use Cloud Shellpreconfigured browser shell for administration

Common ACE mistakes to eliminate

Mistake checklist

  • Choosing the most powerful service instead of the simplest managed fit.
  • Granting Owner/Editor instead of least-privilege roles.
  • Forgetting service accounts are identities, not just configuration objects.
  • Confusing Cloud Storage, Persistent Disk, and Filestore.
  • Treating BigQuery as an OLTP database.
  • Assuming private VMs can reach the internet without Cloud NAT or another egress path.
  • Ignoring firewall rules when troubleshooting connectivity.
  • Using public access when signed URLs, IAM, IAP, or private networking would be safer.
  • Choosing Compute Engine when Cloud Run or App Engine would reduce operations.
  • Choosing serverless when the scenario requires OS-level control.
  • Ignoring region/zone scope.
  • Forgetting to enable required APIs.
  • Assuming monitoring exists without alert policies or uptime checks.
  • Not checking logs before changing infrastructure.

Rapid scenario drills

Use these prompts to test your decision speed before moving into full original practice questions.

Scenario 1: Private VM needs updates

A VM has no external IP address. It must download operating system updates from the internet.

Best direction: Cloud NAT for outbound internet access, with appropriate routes/firewall behavior. Do not assign a public IP unless the scenario requires inbound public access.

Scenario 2: User needs to deploy using a service account

A developer can create VMs but cannot attach the required service account.

Best direction: Grant the user permission to use that service account, commonly via Service Account User on the service account, while keeping resource permissions least-privilege.

Scenario 3: Static website assets

A team needs to store and serve static objects.

Best direction: Cloud Storage for objects. Consider bucket IAM, public access requirements, signed URLs, lifecycle rules, and caching/CDN depending scenario.

Scenario 4: Stateless container API

A containerized HTTP API must scale down when idle and requires minimal infrastructure management.

Best direction: Cloud Run, with image in Artifact Registry, appropriate service account, ingress/auth configuration, and monitoring.

Scenario 5: Kubernetes-specific platform

The application team requires Kubernetes APIs, custom controllers, and Kubernetes-native deployment workflows.

Best direction: GKE, selecting Autopilot or Standard based on control requirements.

Scenario 6: Analytics over terabytes

A business team wants SQL analysis over very large datasets.

Best direction: BigQuery, not Cloud SQL.

Scenario 7: VM group must self-heal

A web tier runs on Compute Engine and must replace unhealthy instances automatically.

Best direction: Managed instance group with health check, instance template, autoscaling/autohealing as needed, and firewall rules allowing health checks.

Practice focus map

Use this map to guide topic drills in a question bank.

Practice areaWhat to drill
IAMRole scope, service accounts, impersonation, least privilege
NetworkingVPC/subnet scope, firewall rules, NAT, peering, load balancers
ComputeCompute Engine vs GKE vs Cloud Run vs App Engine vs Cloud Functions
StorageCloud Storage classes, lifecycle, access, disks, Filestore
DatabasesCloud SQL, Spanner, Firestore, Bigtable, BigQuery selection
OperationsLogging, Monitoring, alerts, troubleshooting, audit logs
DeploymentArtifact Registry, Cloud Build, GKE deployments, Cloud Run revisions
CostBudgets, labels, idle resources, storage class, VM discount options
ReliabilityMIGs, backups, snapshots, regional design, restore decisions

Put the review into practice