Tutorial: Menyiapkan domain menggunakan Cloud DNS

Tutorial ini berisi panduan proses untuk mendaftarkan domain, menyiapkan server web contoh, dan menggunakan Cloud DNS untuk mengarahkan URL domain ke server.

Jika Anda baru menggunakan Terraform untuk Google Cloud, baca bagian Mulai menggunakan Terraform.

Tujuan

Tutorial ini menunjukkan cara menyelesaikan tugas-tugas berikut:

  • Mendaftarkan nama domain menggunakan Cloud Domains
  • Membuat instance virtual machine (VM) Compute Engine
  • Menjalankan server web Apache dasar
  • Menyiapkan domain Anda menggunakan Cloud DNS
  • Mengupdate server nama
  • Memverifikasi penyiapan Anda

Biaya

Ada biaya yang terkait dengan pendaftaran nama domain. Untuk mengetahui harga Cloud Domains, baca bagian harga Cloud Domains.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Aktifkan Compute Engine API.

    Aktifkan API

Mendaftarkan nama domain

Jika Anda sudah memiliki domain terdaftar, lewati bagian ini.

Anda dapat menggunakan Cloud Domains untuk mendaftarkan domain. Dengan Cloud Domains, Anda dapat menggunakan akun penagihan yang sama untuk domain yang telah Anda buat di bagian Sebelum Anda memulai. Untuk mengetahui petunjuk tentang cara mendaftarkan domain menggunakan Cloud Domains, baca bagian Mendaftarkan domain.

Membuat instance virtual machine

Konsol

Untuk membuat instance virtual machine (VM) Linux di Compute Engine, ikuti petunjuk berikut:

  1. In the Google Cloud console, go to the Create an instance page.

    Go to Create an instance

  2. In the OS and Storage section, click Change to begin configuring your boot disk.
  3. Di tab Public images, pilih Debian GNU/Linux.
  4. Klik Select.
  5. Di bagian Firewall, pilih Allow HTTP traffic.
  6. Untuk membuat VM, klik Create.

Tunggu hingga instance dimulai. Setelah siap, instance akan dicantumkan di halaman VM instances dengan ikon status hijau.

Terhubung ke instance

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

Sekarang Anda memiliki jendela terminal untuk berinteraksi dengan instance Linux.

Untuk mengetahui detailnya, baca Panduan memulai menggunakan VM Linux.

Menjalankan server web Apache dasar

Di bagian ini, Anda akan menjalankan dan menguji server web Apache.

  1. Dari jendela SSH, gunakan pengelola paket Debian untuk menginstal paket apache2.

     sudo apt-get update && sudo apt-get install apache2 -y
     

    Setelah menginstal Apache, sistem operasi akan otomatis memulai server Apache.

  2. Timpa halaman web default untuk server web Apache menggunakan perintah berikut:

     echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" 
    | sudo tee /var/www/html/index.html

Menguji server Anda

Lakukan pengujian untuk memastikan instance Anda dapat menyajikan traffic di alamat IP eksternalnya.

Konsol

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka VM instances

  2. Di kolom External IP, salin alamat IP eksternal untuk instance Anda.
  3. Di browser, buka http://[EXTERNAL_IP]. Jangan menggunakan https untuk terhubung karena server akan menampilkan error Connection Refused.

Anda akan melihat halaman Halo Dunia.

Untuk mengetahui detail selengkapnya, baca bagian Menjalankan server web Apache dasar.

Menyiapkan domain Anda menggunakan Cloud DNS

Jika bermigrasi dari penyedia yang ada, Anda dapat mengimpor zona yang ada ke Cloud DNS. Untuk mengetahui petunjuknya, baca bagian Mengekspor konfigurasi DNS dari penyedia yang ada. Jika tidak, ikuti langkah-langkah berikut untuk membuat zona publik baru.

Konsol

  1. Di konsol Google Cloud , buka halaman Create a DNS zone.

    Buka Create a DNS zone

  2. Untuk Zone type, pilih Public.

  3. Untuk Zone name, masukkan my-new-zone.

  4. Untuk DNS name, masukkan akhiran nama DNS untuk zona menggunakan nama domain yang Anda daftarkan (misalnya, example.com).

  5. Untuk DNSSEC, pastikan setelan Off dipilih.

  6. Klik Create untuk membuat zona yang diisi dengan data NS dan SOA.

  7. Untuk mengarahkan nama domain terdaftar Anda ke alamat IP server hosting, Anda harus menambahkan data A ke zona Anda:

    1. Di halaman Zone details, klik Add Standard.
    2. Pilih A dari menu Resource Record Type.
    3. Untuk IPv4 Address, masukkan alamat IP eksternal untuk instance Anda.
    4. Klik Create guna membuat data A untuk zona Anda.
  8. Opsional: Tambahkan data CNAME untuk memperhitungkan awalan pada nama domain Anda (misalnya, www.):

    1. Klik Add Standard.
    2. Di kolom DNS Name, tambahkan awalan www untuk domain.
    3. Untuk Resource Record Type, pilih CNAME.
    4. Untuk Canonical name, masukkan nama domain, diikuti dengan tanda titik (misalnya, example.com.).
    5. Klik Create.

Mengupdate server nama

Untuk mengupdate server nama di Cloud Domains, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Cloud Domains.

    Buka Cloud Domains

  2. Klik nama domain yang ingin Anda edit. Anda juga dapat mengklik More di samping nama domain untuk melihat menu edit.

  3. Untuk mengedit detail DNS, klik Edit DNS details.

  4. Pilih Use Cloud DNS (Recommended).

  5. Di daftar Cloud DNS zone, pilih my-new-zone.

  6. Klik Save.

Terraform

Anda dapat menggunakan resource Terraform untuk membuat instance virtual machine (VM), menjalankan server Web Apache, menyiapkan domain menggunakan Cloud DNS, dan mengupdate server nama.

Anda juga dapat menggunakan modul Terraform untuk menyiapkan Cloud DNS dengan zona publik, pribadi, peering, atau penerusan. Untuk mengetahui informasi selengkapnya tentang zona, baca Ringkasan zona DNS.

# to setup a web-server

resource "random_id" "rnd" {
  byte_length = 4
}

resource "google_compute_instance" "default" {
  name         = "dns-compute-instance"
  machine_type = "g1-small"
  zone         = "us-central1-b"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    network = "default"
    access_config {
      // Ephemeral public IP
    }
  }
  metadata_startup_script = <<-EOF
  sudo apt-get update && \
  sudo apt-get install apache2 -y && \
  echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" > /var/www/html/index.html
  EOF
}

# to allow http traffic
resource "google_compute_firewall" "default" {
  name    = "allow-http-traffic"
  network = "default"
  allow {
    ports    = ["80"]
    protocol = "tcp"
  }
  source_ranges = ["0.0.0.0/0"]
}

# to create a DNS zone
resource "google_dns_managed_zone" "default" {
  name          = "example-zone-googlecloudexample"
  dns_name      = "example-${random_id.rnd.hex}.com."
  description   = "Example DNS zone"
  force_destroy = "true"
}

# to register web-server's ip address in DNS
resource "google_dns_record_set" "default" {
  name         = google_dns_managed_zone.default.dns_name
  managed_zone = google_dns_managed_zone.default.name
  type         = "A"
  ttl          = 300
  rrdatas = [
    google_compute_instance.default.network_interface[0].access_config[0].nat_ip
  ]
}

Memverifikasi penyiapan Anda

Untuk memverifikasi bahwa konfigurasi Anda berfungsi, setelah server nama diupdate, buka nama domain Anda (misalnya, example.com). Domain tersebut akan me-resolve ke alamat IP Anda dan akan mengarah ke VM Compute Engine yang menampilkan halaman Halo Dunia yang Anda buat di bagian Menjalankan server Web Apache dasar.

Untuk memverifikasi bahwa penyiapan Anda sudah benar, Anda juga dapat menjalankan perintah dig +trace example.com di jendela terminal. Ganti example.com dengan nama domain terdaftar Anda.

dig +trace example.com

Bagian akhir output harus mencakup hal berikut. IP_ADDRESS adalah alamat IP server web Anda.

example.com.    300 IN  A   IP_ADDRESS
;; Received 62 bytes from 216.239.34.109#53(ns-cloud-d2.googledomains.com) in 62 ms

Untuk memverifikasi bahwa perubahan berhasil, jalankan perintah berikut:

example.com IN NS <your Cloud DNS name servers>

Setelah menunggu propagasi DNS selesai, Anda juga dapat menjalankan perintah nslookup untuk memverifikasi penyiapan:

nslookup example.com

Output-nya akan mencakup hal berikut. IP_ADDRESS adalah alamat IP server web Anda.

Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   example.com
Address: IP_ADDRESS

Mengosongkan

Konsol

  1. Di konsol Google Cloud , buka halaman Cloud DNS zones.

    Buka Cloud DNS zones

  2. Klik nama zona (misalnya, my-new-zone) untuk membuka halaman Zone details.

  3. Pilih data A dan CNAME yang Anda buat.

  4. Klik Delete record sets.

  5. Untuk menghapus zona, klik Delete zone untuk nama zona my-new-zone.

  6. Buka halaman VM instances.

    Buka VM instances

  7. Pilih instance yang ingin Anda hapus.

  8. Pada menu More di baris instance, klik Delete.

Langkah berikutnya