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, baca artikel Mulai menggunakan Terraform.

Tujuan

Tutorial ini menunjukkan cara menyelesaikan tugas-tugas berikut:

  • Daftarkan nama domain dengan menggunakan Cloud Domains
  • Membuat instance virtual machine (VM) Compute Engine
  • Jalankan server web Apache dasar
  • Siapkan domain Anda menggunakan Cloud DNS
  • Memperbarui server nama
  • Memverifikasi penyiapan Anda

Biaya

Ada biaya terkait pendaftaran nama domain. Untuk mengetahui harga Cloud Domains, lihat harga Cloud Domains.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

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

    Buka pemilih project

  5. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  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. Dengan Cloud Domains, Anda dapat menggunakan akun penagihan yang sama untuk domain yang telah dibuat di bagian Sebelum memulai. Untuk mengetahui petunjuk 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 version 9.
  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 tercantum di halaman VM instances dengan ikon status berwarna 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, baca 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 dengan 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 VM instances

  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.

Sekarang Anda akan melihat halaman Hello World!.

Untuk detail selengkapnya, lihat Menjalankan server web Apache dasar.

Siapkan domain Anda menggunakan Cloud DNS

Jika bermigrasi dari penyedia yang sudah 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 ini 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 tersebut 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 Alamat IPv4, masukkan alamat IP eksternal untuk instance Anda.
    4. Klik Create untuk membuat data A untuk zona Anda.
  8. Opsional: Tambahkan data CNAME ke akun untuk awalan ke 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 Nama kanonis, masukkan nama domain, diikuti dengan titik (misalnya, example.com.).
    5. Klik Create.

Memperbarui 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 Lainnya di samping nama domain untuk melihat menu edit.

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

  4. Pilih Use Cloud DNS (Recommended).

  5. Dalam 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 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, 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
  ]
}

Memverifikasi penyiapan Anda

Untuk memastikan konfigurasi Anda berfungsi, setelah server nama diupdate, buka nama domain Anda (misalnya, example.com). Domain akan menghasilkan alamat IP Anda dan akan 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 Anda yang terdaftar.

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 memastikan 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 harus 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

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 telah dibuat.

  4. Klik Hapus kumpulan data.

  5. Untuk menghapus zona, klik Hapus zona 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