Category
Networking
1. Introduction
Cloud DNS is Google Cloud’s managed Domain Name System (DNS) service. It lets you publish authoritative DNS records for public internet domains and create private DNS zones for internal names inside Virtual Private Cloud (VPC) networks.
In simple terms: Cloud DNS stores your DNS records (like A, AAAA, CNAME, MX, TXT) and answers DNS queries reliably from Google’s global infrastructure so users and systems can find your applications by name instead of by IP address.
Technically, Cloud DNS is an authoritative DNS platform backed by Google’s global Anycast serving layer. You manage zones and record sets via the Google Cloud Console, Google Cloud CLI (gcloud), Terraform, or APIs. For internal Networking, Cloud DNS also supports private zones associated with VPC networks and hybrid DNS patterns (such as forwarding or peering), enabling consistent name resolution across multi-VPC and on‑prem environments.
The core problem Cloud DNS solves is reliable, scalable, manageable DNS—for both public-facing applications and private internal services—without running and patching your own DNS server fleet.
2. What is Cloud DNS?
Official purpose (scope): Cloud DNS is a managed authoritative DNS service on Google Cloud that publishes DNS zones and serves DNS responses for public and private DNS namespaces.
Core capabilities
- Public DNS hosting (authoritative): Host internet-facing DNS zones and records, served globally.
- Private DNS for VPC networks: Provide internal DNS names resolvable only within selected VPC networks.
- DNS management APIs and automation: Manage zones/records programmatically (CI/CD, GitOps, Infrastructure as Code).
- Advanced DNS patterns (feature availability varies): Features such as routing policies, DNSSEC, logging, and policy-based controls (verify exact feature availability and region/edition constraints in official docs).
Major components (you interact with)
- Managed zone: A container for DNS records for a DNS name (e.g.,
example.com.). Managed zones can be public or private (and other zone types may exist, such as forwarding or peering; verify current types in docs). - Resource record sets (RRsets): The actual DNS data (e.g.,
A,AAAA,CNAME,MX,NS,SOA,TXT,CAA,SRV,PTRdepending on zone type and configuration). - Changes / transactions: Cloud DNS applies record updates as managed changes. With the CLI you can bundle updates into transactions for safer edits.
- IAM + audit logs: Authorization for who can read or change DNS; auditability via Cloud Audit Logs.
- DNSSEC configuration (public zones): Sign zones to help protect against DNS spoofing (verify current DNSSEC behavior and limitations in docs).
Service type
- Managed authoritative DNS (not a domain registrar, and not a general-purpose public recursive resolver service).
Scope and locality model
- Project-scoped resources: Managed zones and policies are created in a Google Cloud project.
- Globally served (public): Public authoritative DNS is served from Google’s global edge/Anycast infrastructure.
- Private zone visibility controlled by VPC association: Private zones are not public; they are made visible to one or more VPC networks in your project (and can be used with Shared VPC/hybrid patterns—verify exact constraints in docs).
How Cloud DNS fits into the Google Cloud ecosystem
Cloud DNS is a foundational Networking service and commonly sits next to: – External HTTP(S) Load Balancing and other load balancers (name → VIP → backend services) – Compute Engine, GKE, Cloud Run (often behind load balancers), App Engine – VPC (private zones and internal service naming) – Cloud Logging / Cloud Monitoring (operational visibility; verify metrics/logging options for your use case) – Cloud IAM (change control and least privilege) – Security Command Center / organization policies (governance patterns, depending on your org setup)
3. Why use Cloud DNS?
Business reasons
- Reduce operational overhead: No DNS server fleet to provision, patch, scale, or monitor yourself.
- Improve availability: DNS is business-critical. A managed, globally served DNS platform reduces the risk of downtime due to single-region or single-server failures.
- Faster delivery: Teams can automate DNS changes and integrate them into release pipelines.
Technical reasons
- Global authoritative serving: Public zones are served globally from Google’s edge footprint, designed for high availability and low latency.
- Infrastructure as Code friendly: CLI/API/Terraform support for repeatable DNS management.
- Hybrid and multi-network DNS patterns: Private DNS and integration patterns can simplify name resolution across VPCs and on-premises.
Operational reasons
- Change control: Use IAM roles, transactions, and audit logs to control who can change DNS and when.
- Safer automation: Integrate with CI/CD so DNS changes follow review/approval workflows.
Security/compliance reasons
- IAM-based access control: Fine-grained permissions for DNS admins vs readers.
- Auditability: DNS changes are captured in Cloud Audit Logs (important for compliance and incident response).
- DNSSEC support (public): Helps protect integrity of DNS answers for signed zones (verify details in official docs).
Scalability/performance reasons
- High query volumes: Designed to handle large DNS query rates without you scaling infrastructure.
- Anycast and global distribution: Helps reduce latency and improve resilience.
When teams should choose Cloud DNS
- You need managed authoritative DNS for public domains.
- You want private internal DNS for services inside VPC(s).
- You need to automate DNS across environments (dev/test/prod) with repeatable processes.
- You want Google Cloud-native integration for Networking and governance.
When teams should not choose it
- You need a domain registrar: Cloud DNS hosts DNS, but domain registration is a different product/workflow.
- You need a public recursive resolver service for general outbound DNS resolution from arbitrary clients (Cloud DNS is authoritative; private DNS is authoritative for your private names).
- You require advanced CDN/WAF/DDoS features bundled directly with DNS at the provider level (you may pair Cloud DNS with other security services, but don’t assume DNS alone provides WAF/CDN features).
- You need vendor-neutral DNS hosting across many clouds with a single pane-of-glass and very advanced traffic steering; a dedicated multi-cloud DNS provider might fit better.
4. Where is Cloud DNS used?
Industries
- SaaS and technology companies (public and internal service naming)
- E-commerce (high availability DNS for storefronts and APIs)
- Finance and fintech (change control, DNSSEC, audit requirements)
- Healthcare (compliance-driven access control and auditing)
- Media and gaming (latency-sensitive global audiences)
- Education and research (shared environments and automation)
Team types
- Platform engineering teams (standardized DNS patterns)
- DevOps/SRE teams (automation, reliability, incident response)
- Networking teams (hybrid DNS, split-horizon patterns)
- Security teams (change governance, DNSSEC adoption, auditing)
Workloads and architectures
- Internet-facing apps behind Google Cloud load balancers
- Microservices and service discovery within VPCs (private zones)
- Hybrid apps requiring internal name resolution across on-prem and cloud
- Multi-project/multi-VPC enterprise landing zones (centralized or delegated DNS management)
- Environment isolation (separate zones for dev/stage/prod)
Real-world deployment contexts
- Production: DNS for customer-facing endpoints; private DNS for core services; strict IAM and review processes.
- Dev/test: Disposable zones for preview environments; automation-heavy workflows; lower TTLs for iteration.
5. Top Use Cases and Scenarios
Below are realistic Cloud DNS use cases. Each one includes the problem, why Cloud DNS fits, and a short scenario.
1) Host public DNS for a web application
- Problem: You need authoritative DNS records for
www.example.compointing to your application entrypoint. - Why Cloud DNS fits: Managed public zones, global serving, easy integration with load balancer IPs and CI/CD updates.
- Scenario: A team publishes
A/AAAArecords for the external load balancer VIP and managesTXTverification records for certificates.
2) Private DNS for internal microservices in a VPC
- Problem: Services need stable names like
orders.internal.instead of hardcoded IPs. - Why Cloud DNS fits: Private zones scoped to VPC networks allow internal naming without exposing records publicly.
- Scenario: GKE workloads resolve
db.prod.internal.to a private IP in the same VPC.
3) Split-horizon DNS (different answers internally vs externally)
- Problem: Internal clients should hit private IPs; external users should hit public endpoints.
- Why Cloud DNS fits: Use a public zone for public answers and a private zone for internal answers for the same domain (design carefully; verify split-horizon best practices in docs).
- Scenario:
api.example.comresolves to a private ILB IP inside the VPC, and to an external load balancer VIP on the internet.
4) DNSSEC signing for public zones
- Problem: You want to reduce risk of DNS spoofing and improve DNS integrity.
- Why Cloud DNS fits: Cloud DNS supports DNSSEC for public zones (verify supported algorithms and operational steps).
- Scenario: Security mandates DNSSEC for all external zones serving production apps.
5) Weighted or geo-based DNS responses (traffic steering)
- Problem: You want to gradually shift traffic between endpoints or serve different endpoints by location.
- Why Cloud DNS fits: Cloud DNS supports routing policies for certain record types (verify current policy types and constraints).
- Scenario: Gradually move traffic from an old load balancer VIP to a new one using weighted records.
6) Multi-environment DNS management with IaC
- Problem: DNS changes are error-prone when done manually.
- Why Cloud DNS fits: API/CLI/Terraform-friendly; can manage zones and records declaratively.
- Scenario: A GitOps pipeline promotes DNS changes from staging to production with approvals.
7) Hybrid DNS forwarding to on-prem resolvers
- Problem: Cloud workloads must resolve on-premises names like
corp.local. - Why Cloud DNS fits: Cloud DNS supports hybrid patterns such as forwarding/peering and inbound forwarding (verify exact configuration model for your environment).
- Scenario: A VPC forwards queries for
corp.exampleto an on-prem DNS server reachable via Cloud VPN/Interconnect.
8) Centralized DNS with delegated administration
- Problem: You want central control but allow app teams to manage their subdomains.
- Why Cloud DNS fits: Delegate subzones and control access via IAM at project boundaries; use separate projects or zones per team.
- Scenario: Platform team controls
example.com.and delegatesteam1.example.com.to a different project.
9) Service migration with low-risk DNS cutover
- Problem: You need to move an app without downtime.
- Why Cloud DNS fits: Lower TTLs temporarily and coordinate record changes; transactions reduce mistakes.
- Scenario: Reduce TTL from 3600 to 60 seconds, cut over
Arecords, then restore TTL after stability.
10) Email delivery configuration (MX, SPF, DKIM, DMARC)
- Problem: Email deliverability requires correct DNS records.
- Why Cloud DNS fits: Manage
MXandTXTrecords reliably; audit changes. - Scenario: Publish
MXplus SPF (TXT), DKIM (TXT), and DMARC (TXT) forexample.com.
11) Private override of external names (policy-based responses)
- Problem: You need internal clients to resolve a public hostname to an internal endpoint for security or performance.
- Why Cloud DNS fits: Cloud DNS provides policy-based mechanisms (such as response policies) in some configurations (verify current feature support).
- Scenario: Force
api.vendor.comto resolve to a private proxy IP inside the VPC.
12) Disaster recovery readiness for DNS
- Problem: You want DNS-level failover between primary and secondary endpoints.
- Why Cloud DNS fits: Some routing/failover policies may be supported; otherwise you can manage multiple records and operational runbooks. Verify current DNS failover capabilities.
- Scenario: Preconfigure DNS failover behavior or prepare scripted cutover in incident response.
6. Core Features
This section focuses on Cloud DNS features that are commonly used today. Where feature availability can change, you’ll see “Verify in official docs.”
Public managed zones (authoritative DNS)
- What it does: Hosts DNS zones for public internet domains and serves authoritative answers.
- Why it matters: DNS is the entry point for most applications; reliability and low latency are crucial.
- Practical benefit: Publish records for websites, APIs, email, and verification challenges.
- Caveats: You must delegate your domain to Cloud DNS name servers at your registrar for global resolution (otherwise, queries only work when directed at Cloud DNS authoritative servers).
Private managed zones (DNS inside VPC)
- What it does: Hosts internal DNS zones visible only to selected VPC networks.
- Why it matters: Enables stable internal service names and split-horizon setups.
- Practical benefit: Use private IPs and internal load balancers behind consistent hostnames.
- Caveats: Private zones require correct VPC associations; cross-project and Shared VPC behavior should be validated in official docs for your org model.
Managed record sets and change workflow
- What it does: Stores RRsets and applies updates as atomic changes.
- Why it matters: DNS changes can be risky; controlled updates reduce outages.
- Practical benefit: CLI transactions help you batch multiple adds/deletes safely.
- Caveats: DNS caching means changes take time to propagate according to TTLs.
DNSSEC for public zones
- What it does: Cryptographically signs DNS records so resolvers can validate authenticity.
- Why it matters: Helps prevent certain spoofing/cache poisoning attacks.
- Practical benefit: Stronger DNS integrity for end users and security-conscious customers.
- Caveats: DNSSEC adds operational considerations: DS records at the registrar, key management behavior, and validation troubleshooting. Verify exact steps and defaults in official docs.
Routing policies (traffic steering)
- What it does: Return different answers based on policy (for example, weighted or geo-based routing) depending on record type support.
- Why it matters: Supports migrations, experiments, and traffic distribution strategies.
- Practical benefit: Gradual cutovers without changing application code.
- Caveats: Policy options, supported record types, and health-based behavior can be limited compared to specialized DNS traffic managers. Verify current capabilities in official docs.
Hybrid DNS: forwarding and peering (advanced)
- What it does: Enables DNS resolution across networks (e.g., forwarding queries for certain suffixes to other resolvers; peering DNS between VPCs).
- Why it matters: Hybrid enterprises need consistent DNS across on-prem and cloud.
- Practical benefit: Cloud workloads can resolve on-prem or other-network names without custom resolver fleets.
- Caveats: Requires careful network routing (VPN/Interconnect), firewall rules, and clear suffix ownership. Verify the exact Cloud DNS objects used (forwarding zones, peering zones, server policies) in official docs.
Response policies / DNS policies (advanced controls)
- What it does: Apply rules that influence DNS responses in VPC contexts (for example, overriding answers or applying special behavior).
- Why it matters: Useful for security controls, migration, or internal overrides.
- Practical benefit: Central control over how internal clients resolve certain names.
- Caveats: Capabilities are specific and may not match “DNS firewall” products. Verify current feature names and limits in official docs.
Logging and auditing
- What it does: Cloud Audit Logs record administrative actions. Query logging may be available for certain zone types/configurations.
- Why it matters: DNS is frequently involved in incidents; logs help investigations and compliance.
- Practical benefit: Trace who changed records; analyze query patterns if query logging is enabled.
- Caveats: Logs can generate significant ingestion and storage costs. Query logging availability varies—verify in official docs.
IAM integration (least privilege)
- What it does: Controls who can view or modify zones and records.
- Why it matters: Unauthorized DNS changes can cause outages or security compromise.
- Practical benefit: Separate roles for readers vs operators; use approval workflows.
- Caveats: Fine-grained separation may require project structure decisions (separate projects per environment/team).
Import/export support (zone file workflows)
- What it does: Supports managing records via common DNS formats and tooling (exact import/export methods depend on tooling such as
gcloudand console). - Why it matters: Helps migration from BIND or other DNS providers.
- Practical benefit: Faster onboarding of existing zones.
- Caveats: Not every provider-specific feature maps cleanly; test migrations in a non-production zone first.
7. Architecture and How It Works
High-level architecture
Cloud DNS has two major planes:
-
Control plane (management): – You create managed zones and record sets using the Console,
gcloud, Terraform, or the Cloud DNS API. – IAM controls who can do what. – Changes are stored and propagated to serving infrastructure. -
Data plane (serving): – DNS clients (or recursive resolvers) query Cloud DNS authoritative name servers. – Cloud DNS responds based on your zone’s RRsets and policies. – Public zones are served globally via Anycast.
Request / data / control flow
-
Public DNS flow: 1. A user’s device queries a recursive resolver (ISP, enterprise, public resolver). 2. The resolver follows delegation from the DNS root → TLD → your domain’s NS records. 3. The resolver queries Cloud DNS authoritative servers for
www.example.com. 4. Cloud DNS returns the answer (e.g., anArecord pointing to a load balancer VIP). 5. The resolver caches the result for the TTL. -
Private DNS flow (typical): 1. A VM/pod inside a VPC queries DNS (often via the VPC-provided resolver). 2. If the query matches a private managed zone attached to the VPC, Cloud DNS provides the authoritative answer. 3. If the query matches forwarding rules/policies, it may be forwarded to another resolver (hybrid scenario).
Integrations with related services
Common integration points include:
– Load Balancing: Use A/AAAA records to point to external or internal load balancers.
– Compute Engine / GKE / Cloud Run: Service naming patterns depend on how traffic enters the service (direct IPs, load balancer VIPs, or internal endpoints).
– Cloud Logging / Cloud Monitoring: Operational visibility (verify exact Cloud DNS metrics and logging features for your needs).
– Cloud VPN / Interconnect: Required for hybrid DNS forwarding to on-prem resolvers.
– IAM / Cloud Audit Logs: Access control and audit trails.
Dependency services
- Cloud DNS API must be enabled in your project.
- Billing must be enabled for most real usage (Cloud DNS is typically a paid service; verify free tier details if any).
Security / authentication model
- Management access is controlled by Cloud IAM.
- Record integrity for public DNS can be improved with DNSSEC.
- Change traceability via Cloud Audit Logs.
Networking model
- Public zones: Served publicly on the internet from authoritative name servers.
- Private zones: Visible only within attached VPC networks; not publicly resolvable.
Monitoring, logging, governance considerations
- Use Cloud Audit Logs for “who changed what”.
- Consider enabling query logging only when necessary due to cost/volume.
- Use consistent naming, labels, and a project structure that supports environment isolation.
Simple architecture diagram (public zone)
flowchart LR
User[User Device] -->|DNS query| Resolver[Recursive Resolver]
Resolver -->|Authoritative query| CloudDNS[Cloud DNS Authoritative Nameservers]
CloudDNS -->|A/AAAA/CNAME response| Resolver
Resolver -->|Cached answer| User
User -->|HTTPS| LB[External Load Balancer VIP]
LB --> App[Backend Service (GKE/Compute/Cloud Run)]
Production-style architecture diagram (public + private + hybrid)
flowchart TB
subgraph Internet
RecResolver[Recursive Resolvers]
Users[Users]
end
subgraph GoogleCloud[Google Cloud Project]
CloudDNSPublic[Cloud DNS Public Managed Zone]
CloudDNSPrivate[Cloud DNS Private Managed Zone]
ExtLB[External HTTPS Load Balancer]
VPC[VPC Network]
VM1[Compute Engine / GKE Nodes]
end
subgraph OnPrem[On-Premises]
OnPremDNS[On-Prem DNS Resolver]
CorpApps[Internal Apps]
end
Users --> RecResolver
RecResolver --> CloudDNSPublic
CloudDNSPublic --> RecResolver
Users --> ExtLB --> VM1
VM1 -->|Resolve internal names| CloudDNSPrivate
VM1 -->|Resolve corp suffix (forward)| OnPremDNS
OnPremDNS --> CorpApps
VPC ---|VPN / Interconnect| OnPrem
8. Prerequisites
Account / project requirements
- A Google Cloud project where you will create Cloud DNS resources.
- Billing enabled on the project (Cloud DNS typically incurs charges; verify current pricing and any free tier).
Permissions / IAM roles
You need permissions to: – Enable APIs – Create and manage DNS zones and record sets
Common roles (choose least privilege):
– roles/dns.admin for full management
– roles/dns.reader for read-only access
In many labs, users also need:
– roles/serviceusage.serviceUsageAdmin (to enable APIs) or equivalent permissions
Tools
One of:
– Cloud Shell (recommended for labs; includes gcloud and dig often available)
– Local terminal with:
– Google Cloud CLI
– Authenticated via gcloud auth login
API
- Enable the Cloud DNS API:
dns.googleapis.com
Region availability
- Cloud DNS is a global service for public authoritative DNS serving. Private DNS is tied to VPC networks (which are global constructs in Google Cloud). Specific features may have constraints—verify in official docs.
Quotas / limits
Cloud DNS enforces quotas such as: – number of managed zones per project – number of record sets per zone – change rate / API request quotas – query limits (serving and logging)
Quotas can change; verify current values here: – https://cloud.google.com/dns/quotas
Prerequisite services (optional, depending on what you do)
- Cloud Logging (for query logging / auditing workflows)
- Compute Engine (if you want to validate private DNS from a VM inside a VPC)
- Cloud VPN / Interconnect (for hybrid DNS forwarding use cases)
9. Pricing / Cost
Cloud DNS pricing is usage-based. Do not treat DNS as “free”: costs can grow with query volume, number of zones, and logging.
Official pricing page: – https://cloud.google.com/dns/pricing
Pricing calculator: – https://cloud.google.com/products/calculator
Pricing dimensions (common)
Cloud DNS charges typically include: – Managed zones: A recurring monthly charge per zone (public/private and possibly other zone types). – Queries served: A usage charge based on the number of DNS queries (often per million queries). – Additional features (possible): Some advanced capabilities may have their own pricing dimensions or operational costs. If unsure, verify in official docs and the pricing page.
Free tier
Google Cloud sometimes offers “Always Free” usage for select products, but do not assume Cloud DNS has a free tier. Verify current free tier details on the official pricing page.
Major cost drivers
- Query volume: High-traffic public domains can generate large DNS query counts (including retries, monitoring checks, and bot traffic).
- Number of zones: Many environments, tenants, or microservice zones increase fixed monthly zone charges.
- Logging volume: If DNS query logging is enabled, log ingestion and retention can become a significant cost in Cloud Logging.
Hidden or indirect costs
- Cloud Logging costs: Ingestion, storage, retention, exports (to BigQuery, Pub/Sub, etc.) if you enable detailed query logs.
- Operational tooling: CI/CD systems, Terraform state storage, and monitoring dashboards may add costs (usually small).
- Network connectivity for hybrid DNS: If forwarding to on-prem, VPN/Interconnect and data transfer can incur additional charges (DNS packets are small, but connectivity itself may not be).
Data transfer implications
- Public authoritative DNS responses are served from Google’s infrastructure; you are billed per DNS query rather than typical egress-bytes models. Still, review pricing details carefully on the official page.
- Hybrid forwarding may traverse VPN/Interconnect; check Networking pricing for those products.
How to optimize cost
- Right-size TTLs: Don’t set TTLs unnecessarily low in steady state; low TTL increases query volume.
- Minimize zones: Use a sensible zone strategy (e.g., per environment or per team) rather than per microservice unless necessary.
- Be selective with logging: Enable query logging only when you need it; use sampling/filters/retention policies where supported.
- Protect against accidental high query rates: Monitor query metrics; use alerts.
Example low-cost starter estimate (model, not numbers)
A minimal setup often includes: – 1 public managed zone – a small number of record sets (SOA/NS + a few A/CNAME/TXT records) – low query volume (development/testing)
Costs will be dominated by: – the monthly per-zone charge – a small number of queries
Because exact SKUs and prices can change, use the pricing calculator with your expected zone count and query volume: – https://cloud.google.com/products/calculator
Example production cost considerations (what to model)
For production, estimate: – number of zones (public + private + forwarding/peering, if used) – expected DNS queries/day (from users, resolvers, health checks, bots) – peak query rates – logging ingestion (if enabled) – operational overhead for hybrid connectivity (VPN/Interconnect)
10. Step-by-Step Hands-On Tutorial
This lab is designed to be safe and low-cost. You will create a public Cloud DNS managed zone and add a few records. You will validate by querying the Cloud DNS authoritative name servers directly (no domain purchase required). Delegation at a registrar is included as an optional step if you own a domain.
Objective
- Enable the Cloud DNS API
- Create a public managed zone
- Add DNS records using
gcloudtransactions - Validate records with
digagainst Cloud DNS authoritative name servers - Clean up resources
Lab Overview
You will:
1. Set up your project and enable the API
2. Create a public managed zone for a lab domain (not delegated)
3. Add A, CNAME, and TXT records
4. Validate authoritative answers
5. (Optional) Delegate a real domain/subdomain you own
6. Delete the zone to stop ongoing charges
Step 1: Select a project and enable the Cloud DNS API
In Cloud Shell (preferred) or your local terminal:
gcloud auth list
gcloud config list project
Set your project (replace YOUR_PROJECT_ID):
gcloud config set project YOUR_PROJECT_ID
Enable the Cloud DNS API:
gcloud services enable dns.googleapis.com
Expected outcome: The API enablement completes without errors. If you get permission errors, you likely need additional IAM permissions (see Troubleshooting).
Step 2: Choose a lab DNS name and create a public managed zone
You can create a Cloud DNS public zone for any DNS name for learning purposes. To avoid colliding with real domains, use a reserved documentation TLD like .example.
Set variables:
ZONE_NAME="dns-lab-zone"
DNS_NAME="gcpdns-lab.example."
Create the managed zone:
gcloud dns managed-zones create "${ZONE_NAME}" \
--description="Cloud DNS hands-on lab public zone" \
--dns-name="${DNS_NAME}" \
--visibility="public"
Expected outcome: A new managed zone is created. Cloud DNS automatically creates the NS and SOA records for the zone.
Describe the zone to view the assigned authoritative name servers:
gcloud dns managed-zones describe "${ZONE_NAME}"
Look for a field like nameServers:. Save those values; you’ll use them for validation.
Step 3: View default records (SOA and NS)
List record sets:
gcloud dns record-sets list --zone="${ZONE_NAME}"
Expected outcome: You should see at least:
– An NS RRset for gcpdns-lab.example.
– An SOA RRset for gcpdns-lab.example.
These are required for the zone to function authoritatively.
Step 4: Add records using a transaction
You will add:
– An A record: www.gcpdns-lab.example. → 203.0.113.10 (a TEST-NET-3 documentation IP)
– A CNAME record: app.gcpdns-lab.example. → www.gcpdns-lab.example.
– A TXT record: verify.gcpdns-lab.example. → "hello-cloud-dns"
Start a transaction:
gcloud dns record-sets transaction start --zone="${ZONE_NAME}"
Add the A record:
gcloud dns record-sets transaction add "203.0.113.10" \
--name="www.${DNS_NAME}" \
--ttl="300" \
--type="A" \
--zone="${ZONE_NAME}"
Add the CNAME record (note the trailing dot on the target):
gcloud dns record-sets transaction add "www.${DNS_NAME}" \
--name="app.${DNS_NAME}" \
--ttl="300" \
--type="CNAME" \
--zone="${ZONE_NAME}"
Add the TXT record:
gcloud dns record-sets transaction add "\"hello-cloud-dns\"" \
--name="verify.${DNS_NAME}" \
--ttl="300" \
--type="TXT" \
--zone="${ZONE_NAME}"
Execute the transaction:
gcloud dns record-sets transaction execute --zone="${ZONE_NAME}"
Expected outcome: The transaction executes successfully and your record sets are created.
Step 5: Validate using direct authoritative queries
Because this lab zone is not delegated from the internet DNS root, regular queries like dig www.gcpdns-lab.example may not work through normal recursion. Instead, query one of the authoritative name servers shown in your managed zone description.
1) Store a name server in a variable (replace with one of yours):
NS1="ns-cloud-e1.googledomains.com."
2) Query the authoritative server directly:
dig @"${NS1}" "www.${DNS_NAME}" A +noall +answer
dig @"${NS1}" "app.${DNS_NAME}" CNAME +noall +answer
dig @"${NS1}" "verify.${DNS_NAME}" TXT +noall +answer
Expected outcome: You should see answers matching what you created:
– www... A 203.0.113.10
– app... CNAME www...
– verify... TXT "hello-cloud-dns"
Also validate the zone’s NS RRset:
dig @"${NS1}" "${DNS_NAME}" NS +noall +answer
Step 6 (Optional): Delegate a real domain or subdomain you own
If you own example.com (or any domain), you can delegate a subdomain like lab.example.com to Cloud DNS:
High-level steps (details depend on your registrar):
1. Create a managed zone with --dns-name="lab.example.com."
2. Note the Cloud DNS nameServers assigned to the zone
3. In your registrar DNS settings, create NS records for lab.example.com pointing to those Cloud DNS name servers
4. Wait for propagation (could be minutes to hours depending on TTLs and registrar behavior)
5. Then validate with normal recursion:
bash
dig www.lab.example.com A
Expected outcome: Public resolvers can now discover delegation and resolve your records normally.
Validation
Run these checks:
1) Confirm records exist in Cloud DNS:
gcloud dns record-sets list --zone="${ZONE_NAME}"
2) Confirm authoritative answers:
dig @"${NS1}" "www.${DNS_NAME}" A +noall +answer
3) Confirm the change history (optional): – In the Google Cloud Console: Network services → Cloud DNS → your zone → Changes (UI labels may vary slightly)
Troubleshooting
Common issues and fixes:
1) PERMISSION_DENIED when enabling the API
– Cause: Missing permission to enable services.
– Fix: Ask for roles/serviceusage.serviceUsageAdmin or a higher role, or have a project admin enable the API.
2) Transaction fails with record formatting errors
– Cause: Missing trailing dot in FQDN targets (common for CNAME), or invalid quoting in TXT.
– Fix:
– For CNAME targets, use an FQDN with a trailing dot, e.g. www.gcpdns-lab.example.
– For TXT, ensure proper quoting:
bash
"\"hello-cloud-dns\""
3) dig returns no answer
– Cause: You queried a recursive resolver instead of the authoritative server, or used the wrong name server.
– Fix: Use dig @<one-of-your-zone-nameservers> <name> <type>.
4) Name already exists
– Cause: You attempted to create a zone with a ZONE_NAME that already exists in the project.
– Fix: Use a unique ZONE_NAME or delete the previous zone.
5) You don’t see name servers
– Cause: Output formatting or not describing the correct zone.
– Fix:
bash
gcloud dns managed-zones describe "${ZONE_NAME}" --format="yaml"
Cleanup
To avoid ongoing per-zone monthly charges, delete the managed zone:
gcloud dns managed-zones delete "${ZONE_NAME}"
Expected outcome: The zone is removed. This stops future per-zone charges, but note that billing systems may take time to reflect resource deletion.
If you also created a VM or other resources for optional private DNS tests, delete them as well (not covered in the main lab).
11. Best Practices
Architecture best practices
- Separate concerns with zone strategy:
- Use separate zones for distinct administrative boundaries (e.g.,
dev.example.com.,prod.example.com.). - Avoid creating a zone per microservice unless you have a strong multi-tenant requirement.
- Use split-horizon carefully:
- If you use the same name publicly and privately with different answers, document ownership, precedence, and troubleshooting steps.
- Prefer load balancers over direct VM IPs for public apps:
- DNS should generally point to stable VIPs, not ephemeral instance IPs.
IAM / security best practices
- Least privilege IAM:
- Grant
roles/dns.readerbroadly, but restrictroles/dns.admin. - Consider separating “zone creators” from “record editors” using project structure (multiple projects) if needed.
- Protect production zones:
- Use separate projects for prod DNS and limit admin membership.
- Require approvals for DNS changes via change management processes.
- Enable DNSSEC for public zones where appropriate (verify your org’s DNSSEC readiness and registrar support).
Cost best practices
- Right-size TTLs:
- Use higher TTLs for stable records to reduce query volume.
- Lower TTLs temporarily only during migrations.
- Limit query logging:
- Enable only when troubleshooting or when you have a defined analytics use case and budget.
Performance best practices
- Use reasonable TTL defaults:
- Extremely low TTL increases query rates and can create noisy outages when upstream resolvers are stressed.
- Avoid unnecessary record churn:
- Frequent record changes cause operational risk and cache inconsistencies.
Reliability best practices
- Use transactions for CLI changes to avoid partial updates.
- Document runbooks for cutovers:
- Standardize “lower TTL → change record → validate → restore TTL”.
- Have a rollback plan:
- Keep previous record values handy and automate rollback where possible.
Operations best practices
- Monitor query rates and error patterns:
- Use Cloud Monitoring/Logging where available; set alerts on unusual increases (possible abuse or misconfiguration).
- Keep an inventory of zones and owners:
- Use labels, naming conventions, and documentation.
Governance, tagging, naming
- Naming conventions:
- Zone name:
dns-<env>-<domain>(example:dns-prod-example-com) - Record naming: use consistent prefixes (
api,www,auth,mail,status) - Labels: Apply labels like
env=prod,owner=platform,costcenter=1234where supported and helpful.
12. Security Considerations
Identity and access model
- Cloud DNS management is controlled by Cloud IAM.
- Key actions to restrict:
- Creating/deleting zones
- Modifying record sets
- Enabling DNSSEC and changing signing configuration (public zones)
- Use groups, not individual users, for DNS admin roles.
Encryption
- DNS queries on the internet are typically plain UDP/TCP 53 between resolvers and authoritative servers (not encrypted by default).
- DNSSEC provides integrity and authenticity (signing), not confidentiality.
- For private DNS within Google Cloud, traffic stays within Google’s network paths, but DNS is still a protocol with limited confidentiality guarantees. If you require encrypted DNS in all contexts, evaluate additional solutions (outside Cloud DNS scope).
Network exposure
- Public zones expose records to the internet.
- Private zones limit exposure to specific VPC networks, reducing data leakage risk.
- Avoid placing sensitive internal hostnames or IPs in public zones.
Secrets handling
- DNS often stores verification tokens (
TXT) and email/auth configs. - Treat DNS change permissions like production credentials:
- Compromise of DNS can enable phishing, traffic interception, or outage.
Audit/logging
- Use Cloud Audit Logs to track administrative operations.
- Consider exporting logs to a SIEM (BigQuery/Splunk/etc.) if required by compliance.
Compliance considerations
- DNS change governance is often required for SOC 2, ISO 27001, PCI, and similar frameworks:
- Change approval processes
- Separation of duties
- Audit trails and retention
Common security mistakes
- Over-granting
roles/dns.adminto many users - Editing production zones manually without peer review
- Publishing internal hostnames publicly
- Forgetting to update DS records at the registrar when enabling DNSSEC (or misunderstanding the DNSSEC activation flow)
Secure deployment recommendations
- Use separate projects for production DNS.
- Restrict admin roles and require MFA/SSO for privileged users (your identity provider and Google Cloud setup).
- Adopt DNSSEC for public zones where feasible.
- Document incident response steps for DNS compromise (including registrar access).
13. Limitations and Gotchas
Cloud DNS is robust, but DNS itself has nuances. Key gotchas:
DNS propagation and caching
- DNS changes are not instantaneous for end users due to caching.
- TTL governs cache duration, but some resolvers may not respect TTL exactly.
Delegation is required for real public resolution
- Creating a public managed zone does not automatically make your domain resolve globally.
- You must update your registrar’s NS records to delegate the domain/subdomain to Cloud DNS.
Record type rules
CNAMEcannot coexist with other record types at the same name (standard DNS rule).- Apex/root records (
example.com.) cannot be aCNAME(useA/AAAAor provider-specific patterns; in Google Cloud you typically point apex to a load balancer IP or use other supported approaches).
Operational risk of low TTL
- Very low TTL increases query load and can increase cost.
- It can also amplify issues if recursive resolvers become unavailable or rate-limited.
Quotas
- Projects and zones have quotas (zones count, records count, change rates).
- Large enterprises should design for quota increases and request them early if needed.
Logging cost surprises
- Query logging (where supported) can generate large log volumes quickly, especially for popular domains or noisy internal environments.
Feature availability differences
- Advanced features (routing policies, response policies, hybrid forwarding/peering) have specific constraints.
- Verify current support and configuration details in official docs before committing to an architecture.
Migration challenges
- Zone file imports may not translate provider-specific features.
- Plan staged cutovers:
- replicate records
- validate via direct authoritative queries
- delegate
- monitor
14. Comparison with Alternatives
Cloud DNS is one option in a broader DNS ecosystem.
Alternatives in Google Cloud
- VPC internal DNS (built-in resolver): Great for basic internal name resolution, but it is not the same as managing authoritative zones for your custom domains.
- Self-managed DNS on Compute Engine: Maximum control, but you manage everything (patching, scaling, HA).
Alternatives in other clouds
- AWS Route 53: Managed authoritative DNS, traffic policies, health checks, and deep AWS integration.
- Azure DNS: Managed authoritative DNS integrated with Azure.
- Cloudflare DNS / other managed DNS providers: Often strong performance and security add-ons, with multi-cloud focus.
Open-source / self-managed
- BIND, NSD, Knot DNS, PowerDNS: Flexible and powerful but require HA design, ops effort, and security hardening.
Comparison table
| Option | Best For | Strengths | Weaknesses | When to Choose |
|---|---|---|---|---|
| Google Cloud DNS | Google Cloud-centric architectures needing managed authoritative DNS | Global serving, IAM/audit integration, private zones for VPC, automation-friendly | Not a registrar; advanced traffic steering may be less feature-rich than specialized providers | You run workloads on Google Cloud and want native DNS with strong governance |
| Google Cloud VPC internal DNS | Basic internal resolution for Google Cloud resources | Built-in, no zone management for many default needs | Limited customization for your own domains without Cloud DNS private zones | You only need default internal resolution and minimal custom naming |
| Self-managed DNS (Compute Engine + BIND/NSD) | Highly specialized DNS requirements | Full control, custom features | You own uptime, scaling, patching, DDoS posture | You need very specific behavior and have DNS operational expertise |
| AWS Route 53 | AWS-centric or multi-cloud DNS with Route 53 features | Mature traffic policies, AWS integration, health checks | Different IAM model; cross-cloud governance complexity | Your workloads are primarily in AWS or you need Route 53-specific features |
| Azure DNS | Azure-centric DNS management | Azure integration and RBAC | Not Google Cloud-native; cross-cloud complexity | Your workloads are primarily in Azure |
| Cloudflare DNS | Multi-cloud, security/CDN-oriented DNS | DNS + security/CDN ecosystem, strong edge network | Not Google Cloud-native; requires external vendor | You want a unified edge/security platform around DNS |
15. Real-World Example
Enterprise example: Hybrid DNS for multi-VPC platform with centralized governance
Problem A large enterprise runs: – Shared VPC for multiple business units – On-premises apps and DNS – Multiple Google Cloud projects (dev/stage/prod) They need: – Private DNS names for internal services – Resolution of on-prem names from cloud workloads – Strict change control and auditing
Proposed architecture
– Cloud DNS private managed zones for internal namespaces (e.g., prod.corp.internal.) attached to the appropriate VPC networks.
– Cloud DNS forwarding/peering patterns (as supported) for on-prem suffixes (e.g., corp.example.) routed over Cloud VPN/Interconnect to on-prem resolvers.
– Production public zones (e.g., example.com.) in a dedicated “DNS prod” project with restricted IAM.
– IaC (Terraform) to manage record sets; PR approvals for changes.
– Cloud Audit Logs exported to a central SIEM.
Why Cloud DNS was chosen – Native Google Cloud Networking integration (VPC-private DNS) – IAM and audit trails aligned with enterprise governance – Reduced ops overhead vs managing DNS servers globally
Expected outcomes – Consistent name resolution across cloud and on-prem – Reduced DNS-related incidents from manual changes – Audit-ready DNS change history
Startup/small-team example: Public DNS for an app behind a Google Cloud load balancer
Problem
A startup needs reliable DNS for:
– www.startup.com (web)
– api.startup.com (API)
They want simple automation, low maintenance, and a clean cutover process.
Proposed architecture
– Cloud DNS public zone for startup.com.
– A/AAAA records pointing to an external HTTPS load balancer VIP
– Low TTL during initial launch; higher TTL after stabilization
– Simple CI pipeline step to update records when endpoints change
Why Cloud DNS was chosen
– Managed service: minimal ops
– Tight integration with Google Cloud deployments
– Easy automation using gcloud/Terraform
Expected outcomes – Reliable DNS serving globally – Clear operational model (records + TTL + audit logs) – Faster releases with fewer production mistakes
16. FAQ
1) Is Cloud DNS a domain registrar?
No. Cloud DNS hosts DNS zones/records (authoritative DNS). Domain registration is a separate service/workflow.
2) Do I need to own a domain to use Cloud DNS?
To test Cloud DNS, you can create zones for lab purposes and query authoritative name servers directly. For real public resolution, you must own/control the domain (or subdomain) and delegate it to Cloud DNS at your registrar.
3) Is Cloud DNS global or regional?
Public authoritative serving is global. Managed zones are created in a project; private visibility is controlled by VPC association.
4) What’s the difference between public and private zones?
Public zones are resolvable on the internet (after delegation). Private zones are resolvable only from associated VPC networks.
5) How do DNS changes propagate?
Cloud DNS updates propagate to authoritative servers quickly, but end users see changes based on recursive resolver caching (TTL).
6) What TTL should I use?
Common patterns: 300–3600 seconds for typical services, temporarily lower (like 60–300) during migrations. Choose based on change frequency and query cost.
7) Can I use Cloud DNS with Google Cloud Load Balancing?
Yes. A common pattern is A/AAAA records pointing to a load balancer VIP. For HTTP(S), most deployments use an external HTTPS load balancer.
8) Does Cloud DNS support IPv6?
Yes, via AAAA records (and other standard DNS record types). Ensure your endpoint actually supports IPv6.
9) Does Cloud DNS support DNSSEC?
Cloud DNS supports DNSSEC for public zones (verify current details, supported algorithms, and steps in official docs). You usually must publish DS records at your registrar.
10) Can Cloud DNS do health-check-based failover like some DNS providers?
Cloud DNS supports certain routing policies (verify current options). For advanced health-check-driven failover, you may need additional design patterns or services.
11) How do I delegate a subdomain to Cloud DNS?
Create a managed zone for the subdomain and then add NS records at the parent zone/registrar pointing to the Cloud DNS name servers.
12) Can I manage Cloud DNS with Terraform?
Yes. Google’s Terraform provider supports Cloud DNS resources. Validate resource coverage for advanced features you plan to use.
13) How do I audit who changed DNS records?
Use Cloud Audit Logs in the project. You can also export logs to centralized systems.
14) Can I use Cloud DNS for internal names across multiple VPCs?
Yes, using private zones attached to multiple VPC networks and/or peering/forwarding features depending on your architecture. Verify constraints in official docs.
15) What are common causes of DNS outages?
Accidental record deletion, wrong target (IP/hostname), incorrect TTL strategy during cutover, missing delegation/NS mismatch, and permission issues leading to ad-hoc changes.
16) How do I validate records before changing delegation?
Query Cloud DNS authoritative name servers directly with dig @nameserver yourrecord.
17) Does enabling query logging increase cost?
Often yes—log ingestion and retention can be significant. Enable only when needed and set retention/export policies intentionally.
17. Top Online Resources to Learn Cloud DNS
| Resource Type | Name | Why It Is Useful |
|---|---|---|
| Official documentation | Cloud DNS documentation | Primary source for concepts, zone types, record management, and IAM: https://cloud.google.com/dns/docs |
| Official pricing | Cloud DNS pricing | Current pricing model and SKUs: https://cloud.google.com/dns/pricing |
| Pricing calculator | Google Cloud Pricing Calculator | Model zones + query volume + logging costs: https://cloud.google.com/products/calculator |
| Quotas/limits | Cloud DNS quotas | Up-to-date quotas for zones/records/changes: https://cloud.google.com/dns/quotas |
| CLI reference | gcloud dns reference |
Exact CLI commands and flags: https://cloud.google.com/sdk/gcloud/reference/dns |
| API reference | Cloud DNS API | Programmatic automation reference (REST): https://cloud.google.com/dns/docs/reference/v1 |
| Getting started | Quickstarts / tutorials (Cloud DNS) | Step-by-step creation and management patterns: https://cloud.google.com/dns/docs/quickstart |
| DNSSEC guide | DNSSEC documentation | How DNSSEC works in Cloud DNS and how to enable it: https://cloud.google.com/dns/docs/dnssec |
| Private DNS guide | Private zones documentation | Private DNS design and VPC association: https://cloud.google.com/dns/docs/zones/zones-overview |
| Architecture guidance | Google Cloud Architecture Center | Broader Networking and hybrid architecture patterns (search within): https://cloud.google.com/architecture |
| Videos | Google Cloud Tech (YouTube) | Practical overviews and demos; search “Google Cloud DNS” on: https://www.youtube.com/@googlecloudtech |
| Community learning | Google Cloud Skills Boost | Hands-on labs (availability varies): https://www.cloudskillsboost.google/ |
18. Training and Certification Providers
| Institute | Suitable Audience | Likely Learning Focus | Mode | Website URL |
|---|---|---|---|---|
| DevOpsSchool.com | DevOps engineers, SREs, platform teams | Google Cloud operations, DevOps practices, Networking fundamentals (check course outline) | Check website | https://www.devopsschool.com/ |
| ScmGalaxy.com | Beginners to intermediate engineers | DevOps, SCM, CI/CD, foundational cloud practices | Check website | https://www.scmgalaxy.com/ |
| CLoudOpsNow.in | Cloud ops and operations teams | Cloud operations, monitoring, reliability practices | Check website | https://www.cloudopsnow.in/ |
| SreSchool.com | SREs and reliability-focused engineers | SRE principles, operations, incident response, observability | Check website | https://www.sreschool.com/ |
| AiOpsSchool.com | Ops teams exploring automation | AIOps concepts, automation for operations and monitoring | Check website | https://www.aiopsschool.com/ |
19. Top Trainers
| Platform/Site | Likely Specialization | Suitable Audience | Website URL |
|---|---|---|---|
| RajeshKumar.xyz | Cloud/DevOps training content (verify offerings) | Engineers looking for guided training resources | https://rajeshkumar.xyz/ |
| devopstrainer.in | DevOps training (verify course list) | Beginners to experienced DevOps engineers | https://www.devopstrainer.in/ |
| devopsfreelancer.com | DevOps consulting/training resources (verify scope) | Teams seeking flexible training/help | https://www.devopsfreelancer.com/ |
| devopssupport.in | DevOps support/training (verify offerings) | Ops teams needing practical support | https://www.devopssupport.in/ |
20. Top Consulting Companies
| Company | Likely Service Area | Where They May Help | Consulting Use Case Examples | Website URL |
|---|---|---|---|---|
| cotocus.com | Cloud/DevOps consulting (verify service catalog) | Cloud adoption, DevOps process, operational readiness | DNS automation approach, IaC patterns, environment governance | https://cotocus.com/ |
| DevOpsSchool.com | DevOps consulting and training (verify services) | DevOps transformation, tooling, cloud operations | CI/CD for DNS changes, IAM governance patterns | https://www.devopsschool.com/ |
| DEVOPSCONSULTING.IN | DevOps consulting (verify services) | Delivery pipelines, operations, reliability | Standardized DNS change management, monitoring and runbooks | https://www.devopsconsulting.in/ |
21. Career and Learning Roadmap
What to learn before Cloud DNS
- DNS fundamentals:
- authoritative vs recursive DNS
- zones, delegation, NS/SOA
- TTL and caching behavior
- common records (
A,AAAA,CNAME,MX,TXT,CAA) - Google Cloud fundamentals:
- projects, billing, IAM
- VPC basics (subnets, routing, firewall rules)
- Basic Networking:
- IP addressing, load balancers, NAT, hybrid connectivity concepts
What to learn after Cloud DNS
- Google Cloud load balancing (external/internal)
- Hybrid connectivity (Cloud VPN, Cloud Interconnect)
- Security hardening:
- DNSSEC operations
- least privilege IAM and org policies
- Observability:
- Cloud Logging exports
- Cloud Monitoring dashboards/alerts
- Infrastructure as Code:
- Terraform for Cloud DNS zones/records
- CI/CD pipelines with change approvals
Job roles that use Cloud DNS
- Cloud engineer / platform engineer
- DevOps engineer
- Site Reliability Engineer (SRE)
- Network engineer (cloud networking)
- Security engineer (DNS governance, incident response)
- Solutions architect
Certification path (if available)
Google Cloud certifications don’t focus solely on DNS, but Cloud DNS knowledge helps for: – Associate Cloud Engineer – Professional Cloud Architect – Professional Cloud Network Engineer (especially relevant) Verify current certification blueprints on Google Cloud’s official certification site.
Project ideas for practice
- Build a DNS automation pipeline that:
- validates record syntax
- applies
gcloud dnstransactions - runs post-change
digchecks - Implement split-horizon DNS:
- public zone
app.example.com→ external LB VIP - private zone
app.example.com→ internal LB IP - Create a migration playbook:
- lower TTL
- cutover to new VIP
- rollback procedure
- DNSSEC lab with a real domain you control:
- sign zone
- publish DS at registrar
- test validation with tools like
dig +dnssec
22. Glossary
- Authoritative DNS: DNS servers that provide answers for a zone they own (source of truth).
- Recursive resolver: DNS server that looks up answers by querying authoritative servers and caches results.
- Managed zone: Cloud DNS container for DNS records for a DNS name (public or private).
- RRset (Resource Record Set): A set of DNS records with the same name and type (e.g., multiple
Arecords forwww.example.com). - TTL (Time To Live): Duration resolvers cache a DNS answer.
- NS record: Nameserver record indicating which authoritative servers host a zone.
- SOA record: Start of Authority record containing zone metadata and timers.
- DNS delegation: Pointing a domain/subdomain to authoritative name servers via NS records.
- DNSSEC: DNS Security Extensions; signs DNS data to protect integrity and authenticity.
- Anycast: Routing technique where the same IP is advertised from multiple locations; clients reach the “nearest” or best location.
- Split-horizon DNS: Different DNS answers depending on where the query originates (internal vs external).
- IaC (Infrastructure as Code): Managing infrastructure using declarative definitions (e.g., Terraform).
- Cloud Audit Logs: Logs of administrative actions in Google Cloud, used for auditing and investigations.
23. Summary
Cloud DNS is Google Cloud’s managed authoritative DNS service in the Networking category. It hosts public DNS zones for internet domains and private DNS zones for internal service naming within VPC networks, with management through the Console, CLI, and APIs.
It matters because DNS is a critical dependency for nearly every application: Cloud DNS reduces operational burden while improving reliability, governance, and scalability. Cost is driven mainly by zone count, query volume, and potentially logging ingestion, so TTL strategy and selective logging are important. Security hinges on least-privilege IAM, strong change control, auditability, and DNSSEC for public zones where appropriate.
Use Cloud DNS when you want a Google Cloud-native authoritative DNS platform for public and/or private namespaces. Next, deepen your skills by practicing delegation with a real domain, implementing private DNS patterns across VPCs, and managing zones with Terraform and CI/CD approvals.