CNAME Record atau Canonical Name Record adalah salah satu jenis DNS Record yang digunakan untuk membuat sebuah nama domain atau subdomain menjadi alias dari nama domain lain. Dengan CNAME, sebuah hostname tidak diarahkan langsung ke alamat IP, tetapi diarahkan ke hostname atau domain tujuan.
CNAME banyak digunakan untuk menghubungkan subdomain dengan layanan eksternal, aplikasi pihak ketiga, CDN, platform website, email service, dan berbagai layanan internet lainnya.
Contohnya, sebuah website memiliki subdomain blog.example.com yang ingin diarahkan ke hosting.example.net. Konfigurasi CNAME dapat digunakan agar blog.example.com menjadi alias dari hosting.example.net.
Fungsi CNAME Record
Fungsi utama CNAME Record adalah membuat satu hostname menjadi nama alias dari hostname lainnya. Beberapa penggunaan CNAME yang umum antara lain:
- Mengarahkan subdomain ke hostname lain.
- Menghubungkan domain dengan layanan pihak ketiga.
- Menghubungkan subdomain dengan CDN.
- Menghubungkan domain dengan platform website tertentu.
- Memudahkan pengelolaan DNS ketika alamat IP layanan tujuan dapat berubah.
- Membuat beberapa hostname menggunakan tujuan yang sama.
Cara Kerja CNAME Record
CNAME bekerja dengan membuat hubungan antara satu hostname dengan hostname lain. Berbeda dengan A Record yang menunjuk langsung ke alamat IPv4, CNAME menunjuk ke hostname tujuan.
Misalnya terdapat konfigurasi berikut:
blog.example.com CNAME hosting.example.net
Ketika pengguna mengakses blog.example.com, DNS akan mengetahui bahwa hostname tersebut merupakan alias dari hosting.example.net. DNS kemudian mencari alamat IP dari hostname tujuan tersebut.
Secara sederhana, alurnya dapat digambarkan sebagai berikut:
blog.example.com
↓
CNAME
↓
hosting.example.net
↓
A/AAAA Record
↓
Alamat IP Server
Dengan demikian, CNAME tidak secara langsung menyimpan alamat IP server tujuan.
Contoh CNAME Record
Misalnya Anda mempunyai domain:
example.com
Anda ingin membuat subdomain:
blog.example.com
menjadi alias dari:
blog-platform.example.net
Maka konfigurasi DNS dapat dibuat seperti berikut:
| Type | Name | Target |
|---|---|---|
| CNAME | blog | blog-platform.example.net |
Beberapa DNS provider meminta nama target menggunakan format lengkap dengan titik di belakang, sementara provider lain akan menambahkannya secara otomatis. Ikuti format yang digunakan oleh DNS provider Anda.
CNAME untuk Subdomain
CNAME paling sering digunakan pada subdomain. Contohnya:
www.example.com
shop.example.com
blog.example.com
app.example.com
cdn.example.com
Misalnya shop.example.com ingin diarahkan ke layanan toko online:
shop.example.com CNAME toko.example.net
Dengan konfigurasi tersebut, DNS memperlakukan shop.example.com sebagai alias dari toko.example.net.
Perbedaan CNAME dengan A Record
CNAME dan A Record sama-sama digunakan dalam DNS, tetapi mempunyai fungsi yang berbeda.
| Perbedaan | A Record | CNAME Record |
|---|---|---|
| Tujuan | Hostname ke alamat IPv4 | Hostname ke hostname lain |
| Target | Alamat IPv4 | Hostname/domain |
| Contoh | 192.0.2.10 | server.example.net |
| Umum digunakan untuk | Mengarahkan domain ke server | Membuat alias hostname |
Contoh A Record:
example.com A 192.0.2.10
Contoh CNAME:
blog.example.com CNAME hosting.example.net
Perbedaan CNAME dengan AAAA Record
AAAA Record digunakan untuk mengarahkan hostname langsung ke alamat IPv6, sedangkan CNAME mengarahkan hostname ke hostname lain.
| Record | Target | Contoh |
|---|---|---|
| A | IPv4 | 192.0.2.10 |
| AAAA | IPv6 | 2001:db8::10 |
| CNAME | Hostname | server.example.net |
Apakah CNAME Bisa Diarahkan ke IP Address?
Tidak. CNAME seharusnya menunjuk ke hostname, bukan langsung ke alamat IP.
Contoh yang benar:
blog.example.com CNAME server.example.net
Sedangkan jika Anda ingin mengarahkan hostname langsung ke alamat IPv4, gunakan A Record:
blog.example.com A 192.0.2.10
Untuk alamat IPv6, gunakan AAAA Record.
Apakah Domain Utama Bisa Menggunakan CNAME?
Pada DNS tradisional, penggunaan CNAME pada domain utama atau zone apex seperti example.com mempunyai keterbatasan karena domain utama juga harus memiliki record DNS lain seperti NS dan SOA.
Karena itu, banyak konfigurasi menggunakan A Record untuk domain utama dan CNAME untuk subdomain.
Namun, beberapa DNS provider menyediakan fitur khusus seperti CNAME flattening, ALIAS, atau ANAME yang memungkinkan fungsi serupa CNAME digunakan pada domain utama. Dukungan fitur tersebut bergantung pada provider DNS yang digunakan.
CNAME pada www
CNAME sering digunakan untuk membuat www menjadi alias dari domain atau hostname tertentu.
Contohnya:
www.example.com CNAME example.com
Dengan konfigurasi tersebut, www.example.com menggunakan example.com sebagai hostname tujuan.
Namun, konfigurasi DNS bukan berarti otomatis membuat redirect HTTP dari www.example.com ke example.com. Redirect URL merupakan proses berbeda yang biasanya dilakukan oleh web server atau aplikasi.
CNAME Bukan Redirect Website
Ini merupakan hal yang sering disalahpahami. CNAME tidak melakukan redirect seperti HTTP 301 atau 302.
CNAME hanya bekerja pada tingkat DNS. Misalnya:
blog.example.com CNAME hosting.example.net
Konfigurasi tersebut tidak berarti browser akan menampilkan URL hosting.example.net. Browser tetap dapat menampilkan blog.example.com selama server tujuan dikonfigurasi untuk melayani hostname tersebut.
Jika Anda ingin pengunjung berpindah dari satu URL ke URL lain, gunakan HTTP redirect seperti 301 atau 302.
Cara Membuat CNAME Record
Langkah membuat CNAME bergantung pada panel DNS yang digunakan. Secara umum, prosesnya seperti berikut:
- Login ke panel pengelolaan domain atau DNS.
- Buka menu DNS Management, DNS Zone, atau menu serupa.
- Pilih domain yang akan dikonfigurasi.
- Pilih opsi untuk menambahkan DNS Record.
- Pilih tipe record CNAME.
- Masukkan nama hostname atau subdomain pada kolom Name.
- Masukkan hostname tujuan pada kolom Target atau Value.
- Tentukan TTL jika diperlukan.
- Simpan konfigurasi.
Contoh Pengaturan CNAME
Misalnya Anda ingin membuat:
app.example.com
menjadi alias dari:
app.provider.com
Konfigurasinya dapat terlihat seperti:
| Field | Value |
|---|---|
| Type | CNAME |
| Name | app |
| Target | app.provider.com |
| TTL | Automatic atau sesuai kebutuhan |
Pada sebagian panel DNS, Anda cukup memasukkan app pada kolom Name karena nama domain utama akan ditambahkan secara otomatis.
CNAME dan Hosting
CNAME sering digunakan dalam layanan hosting ketika sebuah subdomain harus diarahkan ke hostname server atau layanan tertentu.
Contohnya, sebuah layanan memberikan hostname:
server.hosting-provider.com
Anda kemudian dapat membuat:
cloud.example.com CNAME server.hosting-provider.com
Namun, konfigurasi DNS saja belum tentu cukup. Server tujuan harus mengenali hostname yang digunakan dan mengizinkan domain atau subdomain tersebut digunakan.
CNAME untuk Layanan Pihak Ketiga
Banyak platform pihak ketiga meminta pemilik domain membuat CNAME sebagai bagian dari proses verifikasi atau pengaturan custom domain.
Contohnya, sebuah layanan mungkin memberikan instruksi:
www.example.com CNAME custom.provider.com
Dalam kasus seperti ini, ikuti hostname target yang diberikan oleh penyedia layanan. Jangan mengganti target dengan alamat IP kecuali penyedia layanan memang memberikan instruksi berbeda.
CNAME dan CDN
CNAME juga sering digunakan untuk menghubungkan subdomain dengan layanan CDN.
Contohnya:
cdn.example.com CNAME cdn.provider.net
Dengan konfigurasi tersebut, hostname cdn.example.com menjadi alias dari hostname CDN yang diberikan oleh provider.
Penggunaan CNAME seperti ini memungkinkan provider mengelola infrastruktur dan alamat IP di belakang hostname tersebut tanpa pemilik domain harus mengetahui atau memperbarui setiap alamat IP secara manual.
Apakah CNAME Bisa Memiliki CNAME Lagi?
Secara teknis DNS dapat menemukan rantai alias, tetapi penggunaan CNAME yang terlalu berantai tidak disarankan karena dapat menambah proses resolusi DNS dan berpotensi menimbulkan masalah konfigurasi.
Contoh rantai:
a.example.com CNAME b.example.com
b.example.com CNAME c.example.com
c.example.com A 192.0.2.10
Lebih baik menggunakan konfigurasi yang sederhana dan langsung menuju hostname tujuan yang memang diberikan oleh penyedia layanan.
Masalah Umum CNAME Record
Setelah membuat CNAME, perubahan tidak selalu langsung terlihat. Beberapa masalah yang umum terjadi antara lain:
- CNAME belum tersebar karena cache DNS.
- Nama hostname salah.
- Target CNAME salah.
- Masih terdapat record DNS yang konflik.
- Server tujuan belum dikonfigurasi untuk hostname tersebut.
- DNS domain masih menggunakan nameserver yang berbeda.
- Konfigurasi SSL/TLS untuk hostname belum selesai.
- Provider layanan meminta record tambahan selain CNAME.
CNAME Tidak Berfungsi Setelah Dibuat
Jika CNAME belum bekerja, lakukan pemeriksaan secara bertahap.
1. Periksa Nameserver
Pastikan domain menggunakan nameserver yang memang Anda kelola. Jika Anda menambahkan CNAME pada panel DNS yang bukan merupakan authoritative DNS domain, perubahan tersebut tidak akan berpengaruh.
2. Periksa Nama Record
Pastikan nama subdomain sudah benar.
Misalnya untuk:
blog.example.com
panel DNS mungkin meminta Anda memasukkan:
blog
atau:
blog.example.com
Format tersebut bergantung pada DNS provider.
3. Periksa Target CNAME
Pastikan hostname tujuan sama persis dengan yang diberikan oleh layanan tujuan.
4. Periksa Record yang Konflik
Sebuah hostname yang menggunakan CNAME tidak boleh sekaligus mempunyai record DNS lain yang bertentangan pada nama yang sama. Jika blog.example.com menggunakan CNAME, periksa apakah terdapat A, AAAA, MX, TXT, atau record lain pada hostname tersebut yang menyebabkan konflik.
5. Tunggu Cache DNS
Perubahan DNS dapat membutuhkan waktu untuk terlihat secara konsisten karena resolver DNS dan perangkat pengguna dapat menyimpan hasil DNS berdasarkan nilai TTL.
Cara Mengecek CNAME dengan nslookup
Anda dapat menggunakan perintah nslookup untuk memeriksa CNAME.
nslookup -type=CNAME blog.example.com
Jika CNAME tersedia, hasilnya akan menunjukkan hostname tujuan yang digunakan.
Cara Mengecek CNAME dengan dig
Pada Linux, macOS, atau sistem yang menyediakan utilitas dig, Anda dapat menjalankan:
dig CNAME blog.example.com
Untuk pemeriksaan yang lebih ringkas:
dig +short CNAME blog.example.com
Perintah tersebut dapat membantu memastikan apakah DNS resolver sudah melihat CNAME yang telah dibuat.
CNAME dan TTL
TTL atau Time To Live menentukan berapa lama hasil DNS dapat disimpan oleh resolver sebelum perlu melakukan query kembali.
Contohnya, jika TTL ditetapkan 3600 detik, resolver dapat menyimpan hasil tersebut selama kurang lebih satu jam sebelum melakukan resolusi ulang, meskipun waktu aktual yang terlihat dapat dipengaruhi oleh berbagai faktor DNS.
TTL yang lebih rendah dapat membantu saat melakukan perubahan DNS, tetapi meningkatkan frekuensi query DNS. TTL yang lebih tinggi dapat mengurangi query, tetapi perubahan DNS dapat membutuhkan waktu lebih lama untuk terlihat setelah cache lama masih berlaku.
CNAME dan SSL HTTPS
CNAME hanya mengatur hubungan pada tingkat DNS. CNAME tidak otomatis membuat sertifikat SSL untuk domain atau subdomain.
Jika Anda membuat:
app.example.com CNAME app.provider.com
layanan tujuan tetap harus menyediakan atau mengonfigurasi sertifikat SSL yang valid untuk app.example.com jika hostname tersebut akan diakses menggunakan HTTPS.
Karena itu, setelah CNAME berhasil, periksa juga konfigurasi custom domain dan SSL pada layanan tujuan.
Kapan Sebaiknya Menggunakan CNAME?
CNAME cocok digunakan ketika Anda ingin sebuah hostname menjadi alias dari hostname lain, terutama ketika hostname tujuan dikelola oleh provider atau layanan eksternal.
Contoh penggunaan yang sesuai:
- Subdomain diarahkan ke platform eksternal.
- Subdomain diarahkan ke CDN.
- Custom domain pada layanan SaaS.
- Hostname aplikasi diarahkan ke hostname provider.
- Alias hostname yang targetnya dikelola oleh pihak lain.
Kapan Menggunakan A Record?
Gunakan A Record apabila Anda memang perlu mengarahkan hostname langsung ke alamat IPv4 server.
Contohnya:
example.com A 192.0.2.10
Jika alamat server yang digunakan adalah IPv6, gunakan AAAA Record.
Tips Mengelola CNAME Record
- Gunakan CNAME hanya ketika memang membutuhkan alias hostname.
- Jangan memasukkan alamat IP pada target CNAME.
- Pastikan hostname tujuan ditulis dengan benar.
- Periksa apakah terdapat record lain yang konflik.
- Pastikan DNS provider yang diedit merupakan authoritative DNS.
- Perhatikan TTL ketika melakukan perubahan DNS.
- Setelah perubahan, lakukan pengecekan menggunakan
digataunslookup. - Jika digunakan untuk layanan pihak ketiga, ikuti konfigurasi resmi dari provider tersebut.
- Setelah DNS berhasil, pastikan server tujuan juga sudah dikonfigurasi untuk hostname tersebut.
Kesimpulan
CNAME Record adalah DNS Record yang digunakan untuk membuat sebuah hostname menjadi alias dari hostname lainnya. Berbeda dengan A Record yang menunjuk langsung ke alamat IPv4, CNAME menunjuk ke hostname tujuan yang kemudian dapat memiliki A atau AAAA Record.
CNAME sangat berguna untuk subdomain, CDN, custom domain, platform pihak ketiga, dan berbagai layanan hosting. Namun, CNAME bukan redirect website dan tidak secara otomatis mengatur web server maupun SSL.
Dengan memahami perbedaan CNAME, A Record, AAAA Record, nameserver, dan HTTP redirect, pengelolaan DNS domain menjadi lebih mudah dan risiko kesalahan konfigurasi dapat dikurangi.
FAQ CNAME Record
Apa itu CNAME Record?
CNAME Record adalah DNS Record yang membuat sebuah hostname menjadi alias dari hostname lainnya.
Apa fungsi utama CNAME?
Fungsi utama CNAME adalah mengarahkan sebuah hostname atau subdomain ke hostname lain, bukan langsung ke alamat IP.
Apa perbedaan CNAME dan A Record?
A Record mengarahkan hostname langsung ke alamat IPv4, sedangkan CNAME mengarahkan hostname ke hostname lainnya.
Apakah CNAME bisa diarahkan ke IP address?
Tidak. CNAME digunakan untuk menunjuk ke hostname. Jika ingin menunjuk langsung ke alamat IPv4, gunakan A Record.
Apakah CNAME sama dengan redirect?
Tidak. CNAME bekerja pada tingkat DNS, sedangkan redirect seperti 301 dan 302 bekerja pada tingkat HTTP dan dapat mengubah URL yang diakses pengguna.
Apakah CNAME bisa digunakan untuk subdomain?
Ya. Subdomain merupakan salah satu penggunaan CNAME yang paling umum, misalnya blog.example.com diarahkan ke hostname layanan tertentu.
Berapa lama CNAME mulai aktif?
Perubahan CNAME bergantung pada TTL, cache DNS, resolver, dan konfigurasi provider. Karena itu, perubahan DNS tidak selalu terlihat secara langsung di semua jaringan.
Bagaimana cara mengecek CNAME?
Anda dapat menggunakan perintah nslookup -type=CNAME nama-domain.com atau dig +short CNAME nama-domain.com.
Kenapa CNAME sudah dibuat tetapi website belum bisa dibuka?
Penyebabnya dapat berupa DNS belum diperbarui, target CNAME salah, record konflik, nameserver tidak sesuai, server tujuan belum mengenali hostname, atau SSL untuk hostname belum dikonfigurasi.
Apakah CNAME dapat digunakan pada domain utama?
Penggunaan CNAME pada domain utama memiliki keterbatasan pada DNS tradisional. Beberapa provider menyediakan fitur seperti ALIAS, ANAME, atau CNAME flattening untuk kebutuhan tersebut.
