Tutorial: Menyiapkan domain menggunakan Cloud DNS


Tutorial ini memberikan 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, lihat 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
  • Jalankan server web Apache dasar
  • Menyiapkan domain Anda menggunakan Cloud DNS
  • Memperbarui server nama
  • Verifikasi penyiapan Anda

Biaya

Ada biaya yang terkait dengan pendaftaran nama domain. Untuk mengetahui harga Cloud Domains, lihat 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. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Aktifkan Compute Engine API.

    Mengaktifkan API

Mendaftarkan nama domain

Jika Anda sudah memiliki domain terdaftar, lewati bagian ini.

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

Membuat instance virtual machine

Konsol

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

  1. Di konsol Google Cloud, buka halaman Buat instance.

    Buka Buat instance

  2. Di bagian Boot disk, klik Ubah untuk mulai mengonfigurasi boot disk Anda.
  3. Di tab Public images, pilih Debian GNU/Linux.
  4. Klik Pilih.
  5. Di bagian Firewall, pilih Izinkan traffic HTTP.
  6. Untuk membuat VM, klik Buat.

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

Menghubungkan ke instance

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

    Buka VM instances

  2. Di daftar instance virtual machine, klik SSH di baris instance yang ingin Anda hubungkan.

    Tombol SSH di samping nama instance.

Sekarang Anda memiliki jendela terminal untuk berinteraksi dengan instance Linux.

Untuk mengetahui detailnya, lihat Panduan memulai menggunakan VM Linux.

Jalankan 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 menyalurkan traffic di alamat IP eksternalnya.

Konsol

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

    Buka instance VM

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

Anda akan melihat halaman Hello World!.

Untuk detail lebih lanjut, lihat 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, lihat 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 Membuat zona DNS

  2. Untuk Jenis zona, pilih Publik.

  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 Buat untuk membuat zona yang diisi dengan data NS dan SOA.

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

    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 Buat untuk membuat data A untuk zona Anda.
  8. Opsional: Tambahkan data CNAME untuk memperhitungkan awalan pada nama domain Anda (misalnya, www.):

    1. Klik Tambahkan Standar.
    2. Di kolom DNS Name, tambahkan awalan www untuk domain.
    3. Untuk Jenis Data Resource, pilih CNAME.
    4. Untuk Nama kanonis, masukkan nama domain, diikuti dengan tanda titik (misalnya, example.com.).
    5. Klik Create.

Memperbarui server nama

Untuk memperbarui 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 diedit. Anda juga dapat mengklik Lainnya di samping nama domain untuk melihat menu edit.

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

  4. Pilih Gunakan Cloud DNS (Direkomendasikan).

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

  6. Klik Simpan.

Terraform

Anda dapat menggunakan resource Terraform untuk membuat instance virtual machine (VM), menjalankan server Web Apache, menyiapkan domain menggunakan Cloud DNS, dan memperbarui 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, lihat 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
  ]
}

Verifikasi penyiapan Anda

Untuk memverifikasi bahwa konfigurasi Anda berfungsi, setelah server nama diperbarui, buka nama domain Anda (misalnya, example.com). Domain harus di-resolve ke alamat IP Anda dan harus mengarah ke VM Compute Engine yang menampilkan halaman Hello World! yang Anda buat di 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

Akhir output harus menyertakan 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 penyebaran DNS selesai, Anda juga dapat menjalankan perintah nslookup untuk memverifikasi penyiapan:

nslookup example.com

Output harus menyertakan 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

Pembersihan

Konsol

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

    Buka zona Cloud DNS

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

  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 instance VM

  7. Pilih instance yang ingin Anda hapus.

  8. Pada menu Lainnya di baris instance, klik Hapus.

Langkah selanjutnya