Memetakan Domain Kustom

Anda dapat menggunakan domain kustom, daripada alamat default yang disediakan App Engine untuk aplikasi Anda.

Untuk menggunakan domain kustom, petakan domain ke aplikasi Anda, lalu update data DNS Anda. Anda dapat memetakan domain tanpa awalan www, seperti example.com atau subdomain, seperti subdomain.example.com. Anda juga dapat menggunakan karakter pengganti untuk memetakan subdomain.

Secara default, saat Anda memetakan domain ke aplikasi, App Engine akan mengeluarkan sertifikat terkelola untuk koneksi SSL untuk HTTPS. Untuk informasi selengkapnya tentang penggunaan SSL dengan domain kustom, termasuk cara menggunakan sertifikat SSL Anda sendiri, lihat Mengamankan domain kustom dengan SSL.

Penggunaan domain kustom dapat menambahkan latensi yang signifikan pada respons yang dikirim App Engine ke pengguna aplikasi Anda di beberapa region. Regionnya adalah sebagai berikut:

  • us-west2
  • us-east4
  • northamerica-northeast1
  • southamerica-east1
  • europe-west2
  • europe-west3
  • asia-south1
  • asia-northeast1
  • australia-southeast1

Domain kustom App Engine menggunakan kumpulan alamat IP bersama untuk semua aplikasi. Jika ingin menggunakan alamat IP yang hanya dipetakan ke domain, Anda harus menyiapkan load balancer dengan App Engine. Cara ini dapat mengurangi masalah frontend domain yang menyebabkan permintaan untuk aplikasi A dalam sertifikat SNI mungkin dirutekan ke aplikasi B di header Host HTTP.

Sebelum memulai

  • Jika Anda belum memiliki domain, belilah dulu. Anda dapat menggunakan registrar nama domain apa pun.

  • Untuk menambahkan atau mengedit pemetaan domain kustom, akun Anda harus memiliki peran Admin App Engine (roles/appengine.appAdmin) atau peran khusus yang berisi izin appengine.applications.get.

  • Jika Anda menggunakan Cloud Load Balancing dan grup endpoint jaringan tanpa server (NEGS) untuk mengarahkan traffic ke aplikasi App Engine Anda, sebaiknya petakan domain kustom Anda ke load balancer tersebut, tidak langsung ke aplikasi Anda, dan menggunakan sertifikat SSL yang dikelola Google yang dibuat untuk load balancer. Dengan demikian, Anda tidak perlu mengelola sertifikat SSL terpisah untuk setiap aplikasi serverless. Dengan Cloud Load Balancing, Anda dapat menetapkan kebijakan SSL yang mengontrol fitur SSL yang dinegosiasikan oleh load balancer dengan klien.

    Untuk informasi lebih lanjut, lihat halaman berikut:

    Perhatikan batasan berikut:

    • Sebaiknya gunakan kontrol masuk sehingga aplikasi Anda hanya menerima permintaan yang dikirim dari load balancer (dan VPC jika Anda menggunakannya). Jika tidak, pengguna dapat menggunakan URL App Engine aplikasi Anda untuk mengabaikan load balancer, kebijakan keamanan Google Cloud Armor, sertifikat SSL, dan kunci pribadi yang diteruskan melalui load balancer.

Memetakan domain kustom ke aplikasi Anda

  1. Di konsol Google Cloud, buka tab Setelan aplikasi di halaman Setelan App Engine.

    Buka Setelan aplikasi

    Jika Anda tidak perlu mengubah Perujuk Google Accounts API default, lanjutkan ke langkah berikutnya.

    Jika Anda perlu mengaktifkan autentikasi Google Workspace untuk domain kustom, klik Edit untuk mengubah Perujuk Google Accounts API. Di menu drop-down Google Authentication, pilih Google Workspace domain, lalu tambahkan domain Anda seperti example.com di kolom kosong.

  2. Di konsol Google Cloud, buka tab Domain Kustom di halaman Setelan App Engine.

    Buka Domain Kustom

  3. Klik Tambahkan domain kustom.

  4. Jika domain Anda sudah diverifikasi, domain akan muncul di bagian Select the domain you want to use. Pilih domain dari menu drop-down, lalu klik Continue.

    Jika Anda belum memverifikasi domain, lakukan hal berikut:

    1. Pilih Verify a new domain dari menu drop-down.
    2. Masukkan nama domain tanpa awalan www (seperti "example.com"), lalu klik Verify.

      Meskipun Anda hanya ingin memetakan subdomain, seperti "www.subdomain.example.com", masukkan nama domain tanpa awalan www untuk memverifikasi kepemilikan.

      Perhatikan bahwa nama domain harus kurang dari 64 byte.

    3. Masukkan informasi di jendela Search Console yang muncul. Untuk mendapatkan bantuan dalam menggunakan Search Console, lihat Bantuan Search Console

    4. Setelah Anda menyelesaikan langkah-langkah di Search Console, kembali ke halaman Add a new custom domain di Konsol Google Cloud.

  5. Di bagian Point your domain to [project-ID], tentukan domain dan subdomain yang ingin Anda petakan.

    Sebaiknya petakan domain tanpa awalan www dan subdomain www. Anda dapat menambahkan lebih banyak subdomain jika perlu.

    Setelah menambahkan semua pemetaan yang diinginkan, klik Save mappings.

  6. Klik Continue untuk melihat data DNS domain Anda.

    Anda dapat mengambil data ini kapan saja di tab Custom Domains di halaman Settings App Engine.

  7. Login ke situs registrar domain Anda, lalu update data DNS dengan data yang ditampilkan di langkah sebelumnya.

Memperbarui data DNS di registrar domain Anda

Setelah memetakan layanan ke domain kustom di App Engine, Anda harus mengupdate data DNS di registrar domain. Untuk mempermudah, App Engine membuat dan menampilkan data DNS yang perlu Anda masukkan.

  1. Ambil informasi data DNS untuk pemetaan domain:

    Di Konsol Google Cloud, buka tab Custom Domains di halaman Settings App Engine. Halaman ini mencantumkan data DNS untuk semua domain yang telah dipetakan ke aplikasi Anda.

  2. Login ke akun Anda di registrar domain, lalu buka halaman konfigurasi DNS.

  3. Cari bagian data host di halaman konfigurasi domain, lalu tambahkan setiap data DNS yang telah diambil saat memetakan domain ke aplikasi Anda.

    Masukkan informasi berikut di kolom data:

    • Jenis data: Masukkan jenis data yang ditampilkan dalam data DNS yang dibuat Google untuk Anda (A, atau AAAA, atau CNAME).
    • Nama data:

      • Dalam data A atau AAAA, masukkan @
      • Dalam data CNAME, masukkan nama domain level ketiga. Misalnya, masukkan www untuk memetakan subdomain www.example.com.
    • Perlu diperhatikan bahwa jika menggunakan Cloud DNS, Anda tidak perlu menambahkan simbol @ saat membuat data A untuk domain kustom induk (example.com). Namun, Anda mungkin perlu menentukan simbol @ untuk penyedia DNS lain seperti GoDaddy.

    • TTL: Menentukan TTL sesuai kebutuhan Anda.

    • Data: Masukkan data (rrdata) yang ditampilkan dalam data DNS yang dibuat oleh Google untuk Anda.

      • Di data A atau AAAA, datanya berupa alamat IP
      • Di data CNAME, datanya berupa nama domain
  4. Simpan perubahan di halaman konfigurasi DNS untuk akun domain Anda. Umumnya, diperlukan waktu beberapa menit agar perubahan ini diterapkan, tetapi dalam beberapa kasus, diperlukan waktu hingga beberapa jam, bergantung pada registrar dan Time-To-Live (TTL) dari data DNS sebelumnya untuk domain Anda. Anda dapat menggunakan alat dig, seperti versi dig online ini, untuk mengonfirmasi bahwa data DNS telah berhasil diupdate.

  5. Uji kesuksesan dengan menjelajahi layanan Anda di URL baru, misalnya https://www.example.com. Perhatikan bahwa perlu waktu beberapa menit untuk menerbitkan sertifikat SSL otomatis.

Mendelegasikan kepemilikan kepada pengguna Google Cloud atau akun layanan lainnya

Jika perlu mendelegasikan kepemilikan domain ke pengguna atau akun layanan lain, Anda dapat menambahkan izin melalui halaman Search Console:

  1. Buka verifikasi Search Console.

  2. Di bagian Properti, klik domain yang ingin ditambahkan pengguna atau akun layanan.

  3. Di akhir daftar Verified owners, klik Add an owner, lalu masukkan alamat email Akun Google atau ID akun layanan.

    Untuk melihat daftar akun layanan, buka halaman Akun Layanan di konsol Google Cloud:

    Buka Akun Layanan

Menggunakan subdomain

Jika Anda menyiapkan pemetaan subdomain karakter pengganti untuk domain kustom, aplikasi Anda akan menampilkan permintaan untuk subdomain yang cocok.

  • Jika pengguna menjelajahi domain yang cocok dengan nama versi aplikasi atau nama layanan, aplikasi akan menampilkan versi tersebut.
  • Jika pengguna menjelajahi domain yang cocok dengan nama layanan, aplikasi akan menampilkan layanan tersebut.
  • Ada batas 20 sertifikat SSL terkelola per minggu untuk setiap domain dasar. Jika batas tersebut tercapai, App Engine akan terus mencoba menerbitkan sertifikat terkelola hingga semua permintaan terpenuhi.

Pemetaan karakter pengganti

Anda dapat menggunakan karakter pengganti untuk memetakan subdomain di tingkat apa pun, mulai dari subdomain tingkat ketiga. Misalnya, jika domain Anda adalah example.com dan Anda memasukkan teks di kolom alamat web:

  • Memasukkan *.example.com akan memetakan semua subdomain dari example.com ke aplikasi Anda.
  • Memasukkan *.private.example.com akan memetakan semua subdomain private.example.com ke aplikasi Anda.
  • Memasukkan *.nichol.sharks.nhl.example.com akan memetakan semua subdomain nichol.sharks.nhl.example.com ke aplikasi Anda.
  • Memasukkan *.excogitate.system.example.com akan memetakan semua subdomain excogitate.system.example.com ke aplikasi Anda.

Anda dapat menggunakan pemetaan karakter pengganti dengan layanan di App Engine menggunakan file dispatch.yaml untuk menentukan perutean permintaan ke layanan tertentu.

Jika Anda menggunakan Google Workspace dengan subdomain lain di domain Anda, seperti sites dan mail, pemetaan tersebut akan memiliki prioritas yang lebih tinggi dan dicocokkan terlebih dahulu, sebelum pemetaan karakter pengganti dilakukan. Selain itu, jika Anda memiliki aplikasi App Engine lain yang dipetakan ke subdomain lain, pemetaan tersebut juga memiliki prioritas yang lebih tinggi daripada pemetaan karakter pengganti lainnya.

Beberapa penyedia DNS mungkin tidak berfungsi dengan pemetaan subdomain karakter pengganti. Secara khusus, penyedia DNS harus mengizinkan karakter pengganti dalam entri host CNAME.

Aturan perutean karakter pengganti berlaku untuk URL yang berisi komponen untuk layanan, versi, dan instance, dengan mengikuti aturan perutean layanan untuk App Engine.

Menghapus domain kustom dari aplikasi Anda

Untuk menghapus pemetaan domain kustom dari aplikasi, akun Anda harus memiliki peran Admin App Engine (roles/appengine.appAdmin) atau peran khusus yang berisi izin appengine.applications.update.

Di konsol Google Cloud, lakukan hal berikut:

  1. Buka tab Domain Kustom di halaman Setelan App Engine.

    Buka Domain Kustom

  2. Pilih nama domain kustom, lalu klik Hapus.

Anda juga dapat menggunakan perintah gcloud atau Admin API untuk menghapus domain kustom.

Pemecahan masalah

Jika aplikasi Anda menampilkan error autentikasi setelah mengonfigurasi domain kustom dengan autentikasi domain Google Workspace, hapus pemetaan domain kustom dan ulangi langkah-langkah untuk memetakan domain kustom ke aplikasi Anda. Pastikan untuk mengonfigurasi autentikasi domain Google Workspace sebelum mengonfigurasi pemetaan domain kustom di App Engine.

Langkah selanjutnya