Saat Anda membuat instance virtual machine (VM) Compute Engine, DNS internal otomatis membuat nama DNS untuk VM. Nama DNS ini memfasilitasi komunikasi VM-ke-VM internal dengan me-resolve alamat IP internal. Jaringan Virtual Private Cloud di Google Cloud menggunakan layanan DNS internal untuk memungkinkan VM di jaringan yang sama mengakses satu sama lain menggunakan nama DNS internal.
Google Cloud secara otomatis membuat, memperbarui, dan menghapus jenis data DNS berikut saat Anda mengelola VM:
- Data alamat DNS, atau data A, dibuat untuk VM di zona DNS untuk
.internal
. - Data PTR untuk VM, yang digunakan untuk pencarian DNS terbalik, dibuat di zona terbalik yang sesuai.
Misalnya, saat Anda menghapus VM, Google Cloud otomatis menghapus data A dan PTR terkait untuk nama DNS internalnya. Jika Anda kemudian membuat VM dengan nama yang sama, Google Cloud akan membuat data baru untuk penggantinya.
Batasan
Nama DNS internal memiliki spesifikasi berikut:
Nama DNS internal VM hanya di-resolve ke alamat IP internal utamanya. Nama DNS internal tidak dapat digunakan untuk terhubung ke alamat IP eksternal VM.
Nama DNS internal tidak dapat dikonfigurasi untuk di-resolve menjadi IP alias sekunder.
Nama DNS internal hanya dapat di-resolve dari VM yang berada di jaringan yang sama. VM ini dapat berada di project yang sama dengan jaringan, atau dapat berada dalam project layanan menggunakan jaringan VPC Bersama yang sama. Untuk me-resolve nama DNS VM dalam project layanan, Anda harus menggunakan FQDN VM. Anda tidak dapat menggunakan DNS internal untuk menghubungi VM yang berada di jaringan berbeda.
Nama DNS internal global dan zonal
Google Cloud memiliki dua jenis nama DNS internal:
- Zonal DNS: Nama VM harus unik di dalam setiap zona, tetapi Anda dapat menggunakan kembali nama VM di seluruh zona. Misalnya, Anda dapat memiliki beberapa VM bernama
instance-1
selama VM berada di zona berbeda. - DNS Global: Nama VM harus unik di dalam setiap project. Dengan DNS global, Anda tidak dapat menggunakan kembali nama VM dalam project.
Google sangat merekomendasikan penggunaan DNS zona karena menawarkan keandalan yang lebih tinggi dengan mengisolasi kegagalan dalam pendaftaran DNS ke setiap zona. Jika terjadi pemadaman layanan, DNS global memiliki masalah berikut:
- Nama VM harus unik di seluruh project. Akibatnya, Anda tidak dapat membuat VM baru di region mana pun yang mengalami kegagalan bidang kontrol, tempat Anda memiliki atau sebelumnya memiliki resource project. Google Cloud tidak dapat memverifikasi nama DNS resource yang ada di region yang tidak tersedia.
- Fitur Compute Engine tertentu tidak tersedia, seperti penskalaan otomatis grup instance terkelola (MIG). Akibatnya, aplikasi yang menggunakan penskalaan otomatis untuk menangani peningkatan beban kerja dengan baik tidak dapat meningkatkan skala.
Jenis DNS internal default akan ditetapkan saat Anda mengaktifkan Compute Engine API.
- Jenis DNS internal default adalah DNS zona.
- Jika organisasi atau project mandiri Anda mengaktifkan Compute Engine API sebelum 6 September 2018, jenis DNS internal default akan disetel ke DNS global.
Nama domain yang sepenuhnya memenuhi syarat untuk nama DNS internal dijelaskan dalam tabel berikut.
Jenis DNS Internal | Nama domain yang sepenuhnya memenuhi syarat (FQDN) |
---|---|
DNS Zona | VM_NAME.ZONE.c.PROJECT_ID.internal |
DNS Global (seluruh project) | VM_NAME.c.PROJECT_ID.internal |
Ganti kode berikut:
VM_NAME
: nama VM. Untuk DNS zona, nilai ini harus unik di dalam zona, tetapi dapat diulang di seluruh zona. Untuk DNS global, nama VM harus unik di seluruh project.ZONE
: zona tempat instance Anda berada.PROJECT_ID
: project tempat VM berada.
Untuk mengetahui informasi tentang cara mengontrol jenis nama DNS internal yang digunakan pada level project atau instance, lihat mengonfigurasi nama DNS untuk project atau instance Anda.
Resolusi nama DNS
VM menerima informasi resolusi DNS internal sebagai bagian dari sewa DHCP mereka. Metode resolusi DNS bergantung pada platform sistem operasi:
- Linux: Secara default, server DNS VM (
169.254.169.254:53
) me-resolve nama DNS internal. - Windows: Secara default, gateway default subnet me-resolve nama DNS internal.
Balik zona untuk data PTR
Layanan DNS internal Google Cloud secara otomatis membuat data PTR untuk VM di zona terbalik berikut:
10.in-addr.arpa.
168.192.in-addr.arpa.
16.172.in-addr.arpa.
,17.172.in-addr.arpa.
, ... hingga31.172.in-addr.arpa.
Nama DNS Internal dan VPC Bersama
Anda dapat menggunakan nama DNS internal untuk merujuk ke alamat IP internal VM meskipun alamat IP tersebut berada di jaringan VPC Bersama dalam project host. Dengan VPC Bersama, bagian project ID dari nama DNS internal zona atau global (seluruh project) adalah ID project layanan.
Menyesuaikan nama DNS internal
Beberapa organisasi atau aplikasi mungkin memerlukan nama DNS internal kustom, bukan nama DNS internal default yang dibuat oleh Google Cloud.
Zona pribadi dan data kustom dengan Cloud DNS
Anda dapat menggunakan zona pribadi Cloud DNS untuk membuat entri DNS kustom untuk VM Anda. Anda dapat mengonfigurasi data PTR yang memungkinkan Anda mengganti URL DNS internal default untuk VM dengan URL kustom yang Anda berikan.
Untuk membuat data PTR kustom yang mengganti nama PTR DNS internal yang dibuat secara otomatis, lihat Data PTR untuk alamat RFC 1918 di zona pribadi. Guna mengetahui informasi tentang cara membuat data PTR untuk VM, baca artikel Membuat data PTR untuk instance VM.
Nama host kustom
Anda dapat menentukan nama host kustom untuk VM saat membuatnya. Nama host kustom yang ditetapkan dengan cara ini tidak diselesaikan oleh DNS internal. Dengan nama host kustom, Anda tetap harus membuat data DNS yang sesuai di zona yang sesuai (misalnya, menggunakan Cloud DNS). Untuk mengetahui informasi lebih lanjut, baca bagian membuat instance VM dengan nama host kustom.
DNS dan DHCP Internal
VM Compute Engine dikonfigurasi untuk memperpanjang lease DHCP setiap 24 jam. Untuk VM yang diaktifkan untuk DNS zona, masa lease DHCP berakhir setiap jam. VM yang menggunakan DNS zona memiliki entri zona dan global dalam file konfigurasi DHCP.
Secara default, sebagian besar distribusi Linux menyimpan informasi DHCP di
resolv.conf
.
Pengeditan resolv.conf
secara manual akan menyebabkannya dikembalikan ke
DHCP default setiap kali masa lease DHCP berakhir pada VM Anda. Untuk membuat
perubahan statis dalam file resolv.conf
, beberapa distribusi Linux
memungkinkan item ditambahkan awalannya atau ditambahkan akhirannya ke
kebijakan DHCP.
Cara Anda mengubah kebijakan atau file konfigurasi DHCP bergantung pada distribusi Linux yang Anda gunakan. Misalnya, Red Hat Enterprise Linux dan Debian
menggunakan file konfigurasi /etc/dhcp/dhcpd.conf
. Di CentOS, Anda menggunakan utilitas command line Network Manager, nmcli
.
Lihat dokumentasi sistem operasi untuk mendapatkan informasi tentang cara mengonfigurasi setelan jaringan DHCP dan DNS khusus.
Contoh file resolv.conf
Secara default, sebagian besar distribusi Linux menyimpan informasi DHCP di
resolv.conf
.
Layanan systemd-resolved
juga menyediakan layanan resolver untuk DNS.
Anda dapat mengonfigurasi layanan ini dengan mengedit file /etc/systemd/resolved.conf
dan file *.conf
lainnya di direktori /etc/systemd/resolved.conf.d/
. Pada distribusi Linux yang menyimpan informasi DHCP di resolved.conf
, Anda dapat melihat entri DNS zona dan global dalam file /etc/systemd/resolved.conf
.
File ini memiliki batasan berikut:
- Jalur penelusuran hanya dapat menangani 6 data, dan 3 di antaranya disediakan oleh Compute Engine. Jika Anda menambahkan entri ke jalur penelusuran sehingga jumlah total entri lebih besar dari 6, aturan penelusuran setelah entri ke-6 tidak akan diterapkan oleh OS Anda. Hal ini dapat menyebabkan fitur Compute Engine berhenti berfungsi, seperti mengakses VM menggunakan nama instance-nya.
Pengeditan
resolv.conf
secara manual akan menyebabkannya dikembalikan ke DHCP default setiap kali masa lease DHCP 24 jam berakhir pada VM Anda. Di VM yang menggunakan DNS zona, masa lease DHCP berakhir setiap jam. Untuk membuat perubahan statis dalam fileresolv.conf
, beberapa distribusi Linux memungkinkan item ditambahkan awalannya atau ditambahkan akhirannya ke kebijakan DHCP.
Konfigurasi DNS zona
Contoh file resolv.conf
zona:
# Local domain name. Computed from your project name. domain ZONE.c.PROJECT_ID.internal # Search list for hostname lookup. Starting with entries that represent # your project and ending with google.internal to facilitate metadata server requests. search ZONE.c.PROJECT_ID.internal. c.PROJECT_ID.internal. google.internal. # Address of the DNS server to resolve project specific, and global domain names. nameserver 169.254.169.254
Ganti kode berikut:
ZONE
: zona tempat VM Anda beradaPROJECT_ID
: project tempat VM berada
Contoh file dhcp.lease
zona:
lease { # What interface we are using for the network interface "eth0"; fixed-address 10.128.0.9; option subnet-mask 255.255.255.255; option routers 10.128.0.1; # Lease timeout, older VM instances will have this value set to infinite. option dhcp-lease-time 3600; option dhcp-message-type 5; option domain-name-servers 169.254.169.254; option dhcp-server-identifier 169.254.169.254; option interface-mtu 1460; # Search path options that are copied into the resolv.conf option domain-search "ZONE.c.PROJECT_ID.internal.", "c.PROJECT_ID.internal.", "google.internal."; option ntp-servers 169.254.169.254; option rfc3442-classless-static-routes 32,10,128,0,1,0,0,0,0,0,10,128,0,1; option host-name "VM_NAME.ZONE.c.PROJECT_ID.internal"; option domain-name "ZONE.c.PROJECT_ID.internal"; renew 4 2017/11/16 02:15:52; rebind 4 2017/11/16 02:43:59; expire 4 2017/11/16 02:51:29; }
Ganti kode berikut:
VM_NAME
: nama VMZONE
: zona tempat VM Anda beradaPROJECT_ID
: project tempat VM berada
Konfigurasi DNS global
Contoh file resolv.conf
global:
# Local domain name. Computed from your project name. domain c.PROJECT_ID.internal # Search list for hostname lookup. Starting with entries that represent # your project and ending with google.internal to facilitate metadata server requests. search c.PROJECT_ID.internal google.internal. # Address of the DNS server to resolve project specific, and global domain names. nameserver 169.254.169.254
Ganti PROJECT_ID
dengan project yang memiliki VM tersebut.
Contoh file dhcp.lease
global:
lease { # What interface we are using for the network interface "eth0"; fixed-address 10.128.0.8; option subnet-mask 255.255.255.255; option routers 10.128.0.1; # Lease timeout, older VM instances will have this value set to infinite. option dhcp-lease-time 86400; option dhcp-message-type 5; option domain-name-servers 169.254.169.254; option dhcp-server-identifier 169.254.169.254; option interface-mtu 1460; # Search path options that are copied into the resolv.conf option domain-search "c.PROJECT_ID.internal.", "google.internal."; option ntp-servers 169.254.169.254; option rfc3442-classless-static-routes 32,10,128,0,1,0,0,0,0,0,10,128,0,1; option host-name "VM_NAME.c.PROJECT_ID.internal"; option domain-name "c.PROJECT_ID.internal"; renew 4 2017/11/16 12:07:00; rebind 4 2017/11/16 22:44:53; expire 5 2017/11/17 01:44:53; }
Ganti kode berikut:
VM_NAME
: nama VMPROJECT_ID
: project tempat VM berada
Contoh file dhclient.conf
Beberapa sistem operasi, seperti Debian 9, menggunakan file dhclient.conf
, bukan file resolv.conf
.
Contoh file /etc/dhcp/dhclient.conf
:
# Configuration file for /sbin/dhclient.
#
...
append domain-search "mydomain.com";
prepend domain-name-servers 172.16.1.1;
Dalam contoh ini, mydomain.com
adalah domain penelusuran baru dan 172.16.1.1
adalah IP server DNS Anda.
Langkah selanjutnya
- Untuk mengetahui informasi tentang jaringan VPC Google Cloud, lihat Ringkasan VPC.
- Untuk mengetahui informasi tentang cara membuat dan mengubah jaringan VPC, lihat Menggunakan VPC.
- Migrasikan organisasi dan project Anda untuk menggunakan DNS zona, bukan DNS global.