Bird
Raised Fist0
GCPcloud~5 mins

Cloud DNS for domain management in GCP - Commands & Configuration

Choose your learning style10 modes available
Introduction
Managing your website's address on the internet can be tricky. Cloud DNS helps you connect your domain name to your website's server easily and reliably.
When you want to point your domain name to a website hosted on Google Cloud.
When you need to create custom DNS records like A, CNAME, or MX for your domain.
When you want to manage your domain's DNS settings without using your domain registrar's interface.
When you want fast and reliable DNS resolution for your domain.
When you want to automate DNS changes using command-line tools.
Config File - dns-zone.yaml
dns-zone.yaml
apiVersion: dns.cnrm.cloud.google.com/v1beta1
kind: DNSManagedZone
metadata:
  name: example-zone
spec:
  dnsName: example.com.
  description: "Managed zone for example.com"
  visibility: public

This file defines a managed DNS zone named example-zone for the domain example.com. The dnsName is the domain you want to manage. visibility: public means the DNS zone is accessible on the internet.

Commands
This command creates a new DNS managed zone named 'example-zone' for the domain 'example.com'. It sets up the zone so you can add DNS records to it.
Terminal
gcloud dns managed-zones create example-zone --dns-name=example.com. --description="Managed zone for example.com"
Expected OutputExpected
Created [https://dns.googleapis.com/dns/v1/projects/my-project/managedZones/example-zone].
→
--dns-name - Specifies the domain name for the DNS zone.
→
--description - Adds a description to help identify the zone.
Starts a new transaction to add or change DNS records in the 'example-zone'. Transactions help group changes safely.
Terminal
gcloud dns record-sets transaction start --zone=example-zone
Expected OutputExpected
Transaction started for managed-zone [example-zone].
→
--zone - Specifies which DNS zone to work with.
Adds an A record pointing 'www.example.com' to the IP address 1.2.3.4 with a time-to-live of 300 seconds in the current transaction.
Terminal
gcloud dns record-sets transaction add --name=www.example.com. --ttl=300 --type=A 1.2.3.4 --zone=example-zone
Expected OutputExpected
Record addition appended to transaction for managed-zone [example-zone].
→
--name - Specifies the DNS name for the record.
→
--ttl - Sets how long DNS servers cache this record.
→
--type - Specifies the DNS record type.
→
--zone - Specifies the DNS zone.
Applies all the changes made in the current transaction to the DNS zone, making the new records live.
Terminal
gcloud dns record-sets transaction execute --zone=example-zone
Expected OutputExpected
Executed transaction for managed-zone [example-zone].
→
--zone - Specifies which DNS zone to update.
Lists all DNS records in the 'example-zone' so you can verify your changes.
Terminal
gcloud dns record-sets list --zone=example-zone
Expected OutputExpected
NAME TYPE TTL DATA www.example.com. A 300 1.2.3.4 example.com. NS 21600 ns-cloud-e1.googledomains.com. example.com. NS 21600 ns-cloud-e2.googledomains.com. example.com. NS 21600 ns-cloud-e3.googledomains.com. example.com. NS 21600 ns-cloud-e4.googledomains.com.
→
--zone - Specifies the DNS zone to list records from.
Key Concept

If you remember nothing else from this pattern, remember: Cloud DNS lets you control your domain's address records easily and safely using managed zones and transactions.

Common Mistakes
Forgetting the trailing dot at the end of domain names in commands.
Without the trailing dot, the domain name is treated as relative and may cause incorrect DNS entries.
Always include a trailing dot at the end of domain names, like 'example.com.'.
Trying to add DNS records without starting a transaction first.
DNS record changes require a transaction to group changes; skipping this causes errors.
Always start a transaction with 'gcloud dns record-sets transaction start' before adding or removing records.
Not executing the transaction after adding records.
Changes are only saved and applied after executing the transaction; otherwise, they remain pending.
Run 'gcloud dns record-sets transaction execute' to apply your DNS changes.
Summary
Create a managed DNS zone to control your domain's DNS records.
Use transactions to safely add or change DNS records like A or CNAME.
List DNS records to verify your changes are applied correctly.

Practice

(1/5)
1. What is the main purpose of Cloud DNS in domain management?
easy
A. To manage user access permissions
B. To store website files and images
C. To create virtual machines
D. To connect your domain name to your website or service

Solution

  1. Step 1: Understand what Cloud DNS does

    Cloud DNS translates domain names into IP addresses so browsers can find your website or service.
  2. Step 2: Identify the correct purpose

    Connecting domain names to services is the core function of Cloud DNS, not storing files or managing users.
  3. Final Answer:

    To connect your domain name to your website or service -> Option D
  4. Quick Check:

    Cloud DNS connects domain to service = A [OK]
Hint: Cloud DNS links names to IPs, not files or users [OK]
Common Mistakes:
  • Confusing DNS with storage services
  • Thinking DNS manages virtual machines
  • Mixing DNS with user permission controls
2. Which of the following is the correct way to create a managed zone using gcloud CLI?
easy
A. gcloud dns managed-zones create my-zone --dns-name example.com --description "My zone"
B. gcloud dns create-zone my-zone example.com
C. gcloud create dns-zone --name my-zone --domain example.com
D. gcloud dns zones add my-zone example.com

Solution

  1. Step 1: Recall the gcloud command syntax for creating managed zones

    The correct command uses 'gcloud dns managed-zones create' followed by the zone name and flags for DNS name and description.
  2. Step 2: Match the correct syntax

    gcloud dns managed-zones create my-zone --dns-name example.com --description "My zone" matches the official syntax exactly, others use incorrect commands or flags.
  3. Final Answer:

    gcloud dns managed-zones create my-zone --dns-name example.com --description "My zone" -> Option A
  4. Quick Check:

    Correct gcloud create syntax = A [OK]
Hint: Use 'gcloud dns managed-zones create' with flags [OK]
Common Mistakes:
  • Using wrong command verbs like 'create-zone'
  • Omitting required flags like --dns-name
  • Mixing command order or parameters
3. Given this DNS record in a managed zone:
example.com. IN A 192.0.2.1
What happens when a user types example.com in their browser?
medium
A. The browser connects to the IP address 192.0.2.1
B. The browser shows an error because A records are invalid
C. The browser redirects to example.com.com
D. The browser connects to a random IP address

Solution

  1. Step 1: Understand the A record function

    An A record maps a domain name to an IPv4 address, here 192.0.2.1.
  2. Step 2: Predict browser behavior

    When typing example.com, the browser looks up the A record and connects to the specified IP address.
  3. Final Answer:

    The browser connects to the IP address 192.0.2.1 -> Option A
  4. Quick Check:

    A record maps domain to IP = B [OK]
Hint: A record points domain to IP address [OK]
Common Mistakes:
  • Thinking A records cause errors
  • Confusing A record with redirects
  • Assuming random IP connections
4. You tried to add a CNAME record for your domain root (example.com) but it failed. What is the likely reason?
medium
A. The TTL value was too high
B. You must use an MX record instead
C. CNAME records are not allowed at the root domain
D. You need to delete all A records first

Solution

  1. Step 1: Recall DNS rules for CNAME records

    CNAME records cannot be set at the root domain because it conflicts with other essential records like NS and SOA.
  2. Step 2: Identify the cause of failure

    Trying to add a CNAME at the root domain violates DNS standards, causing the failure.
  3. Final Answer:

    CNAME records are not allowed at the root domain -> Option C
  4. Quick Check:

    CNAME not allowed at root domain = C [OK]
Hint: Root domain cannot have CNAME records [OK]
Common Mistakes:
  • Confusing CNAME with MX record usage
  • Blaming TTL values for record rejection
  • Thinking A records must be deleted first
5. You want to set up email for your domain example.com using Cloud DNS. Which DNS record type should you add to direct emails to your mail server?
hard
A. TXT record with your mail server IP
B. MX record pointing to your mail server domain
C. CNAME record pointing to your mail server domain
D. A record pointing to your mail server IP

Solution

  1. Step 1: Identify the DNS record for email routing

    MX records specify mail servers responsible for receiving email for the domain.
  2. Step 2: Understand why other records are incorrect

    A records map domain to IP but don't direct email; CNAMEs alias names but don't specify mail routing; TXT records hold text data, not mail routing.
  3. Final Answer:

    MX record pointing to your mail server domain -> Option B
  4. Quick Check:

    Email routing uses MX records = D [OK]
Hint: Use MX records to route email to mail servers [OK]
Common Mistakes:
  • Using A or CNAME records for email routing
  • Confusing TXT records with mail routing
  • Not specifying mail server domain in MX record
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard