Saat Anda membuat instance Compute Engine, DNS internal akan otomatis membuat nama DNS untuk instance tersebut. Nama DNS ini memfasilitasi komunikasi internal instance-ke-instance dengan me-resolve alamat IP internal. Jaringan Virtual Private Cloud di Google Cloud menggunakan layanan DNS internal untuk memungkinkan instance komputasi dalam jaringan yang sama mengakses satu sama lain menggunakan nama DNS internal. Google Cloud
Google Cloud Google Cloud otomatis membuat, mengupdate, dan menghapus jenis data DNS berikut saat Anda mengelola instance:
- Data alamat DNS, atau data A, dibuat untuk instance
di zona DNS untuk
.internal. - Data PTR untuk instance, yang digunakan untuk pencarian DNS terbalik, dibuat di zona terbalik yang sesuai.
Misalnya, saat Anda menghapus instance, Google Cloud otomatis menghapus data A dan PTR terkait untuk nama DNS internalnya. Jika Anda kemudian membuat instance dengan nama yang sama, Google Cloud membuat data baru untuk penggantian.
Batasan
Compute Engine membuat data A dan PTR nama DNS internal hanya untuk alamat IPv4 internal utama antarmuka jaringan
nic0instance. Oleh karena itu, jenis stack antarmuka jaringannic0harus khusus IPv4 atau dual-stack. DNS internal tidak mendukung antarmuka jaringan khusus IPv6.Compute Engine tidak membuat data DNS internal untuk hal berikut:
- Alamat IPv4 internal utama antarmuka jaringan yang berbeda dari
nic0. - Alamat IPv4 eksternal dari antarmuka jaringan apa pun.
- Alamat IPv4 internal dari rentang IP alias dari antarmuka jaringan apa pun.
- Rentang alamat IPv6 internal atau eksternal dari antarmuka jaringan apa pun.
- Alamat IPv4 internal utama antarmuka jaringan yang berbeda dari
Untuk me-resolve nama DNS internal, VM klien dan VM yang terkait dengan data DNS internal harus:
- Berada di jaringan VPC yang sama.
- Berada di project yang sama (kecuali untuk skenario VPC Bersama tertentu).
Untuk mengetahui informasi selengkapnya tentang skenario VPC Bersama, lihat Nama DNS internal dan VPC Bersama.
Nama DNS internal zona dan global
Google Cloud Google Cloud memiliki dua jenis nama DNS internal:
- DNS zona: nama instance harus unik di setiap zona, tetapi Anda dapat
menggunakan kembali nama instance di seluruh zona. Misalnya, Anda dapat memiliki beberapa instance bernama
instance-1selama instance tersebut berada di zona yang berbeda. - DNS global: nama instance harus unik di setiap project. Dengan DNS global, Anda tidak dapat menggunakan kembali nama instance dalam project.
Google sangat merekomendasikan penggunaan DNS zona karena menawarkan keandalan yang lebih tinggi dengan mengisolasi kegagalan dalam pendaftaran DNS ke masing-masing zona. Jika terjadi gangguan, DNS global akan mengalami masalah berikut:
- Nama instance harus unik di seluruh project. Akibatnya, Anda tidak dapat membuat instance 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 tertentu Compute Engine tidak tersedia, seperti penskalaan otomatis grup instance terkelola (MIG). Akibatnya, aplikasi Anda yang menggunakan penskalaan otomatis untuk menangani peningkatan beban kerja dengan baik tidak dapat ditingkatkan skalanya.
Jenis DNS internal default 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 ditetapkan 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 | INSTANCE_NAME.ZONE.c.PROJECT_ID.internal |
| DNS Global (seluruh project) | INSTANCE_NAME.c.PROJECT_ID.internal |
Ganti kode berikut:
INSTANCE_NAME: nama instance. Untuk DNS zona, nilai ini harus unik di dalam zona, tetapi dapat diulang di seluruh zona. Untuk DNS global, nama instance harus unik di seluruh project.ZONE: zona tempat instance Anda berada.PROJECT_ID: project tempat instance berada.
Untuk mengetahui informasi tentang cara mengontrol jenis nama DNS internal mana yang digunakan di tingkat project atau instance, lihat mengonfigurasi nama DNS untuk project atau instance Anda.
Resolusi nama DNS
Instance menerima informasi resolusi DNS internal sebagai bagian dari lease DHCP. Metode resolusi DNS bergantung pada platform sistem operasi:
- Linux: Secara default, server DNS instance me-resolve nama DNS internal.
- Windows: Secara default, gateway default subnet me-resolve nama DNS internal.
Zona terbalik untuk data PTR
Layanan DNS internalGoogle Cloudsecara otomatis membuat data PTR untuk instance di zona terbalik berikut:
10.in-addr.arpa.168.192.in-addr.arpa.16.172.in-addr.arpa.,17.172.in-addr.arpa., ... sampai dengan31.172.in-addr.arpa.
Nama DNS Internal dan VPC Bersama
VM klien dan VM yang terkait dengan data DNS internal dapat berada di project terpisah, tetapi harus menggunakan jaringan VPC Bersama yang sama. Misalnya, klien dapat berada di satu project layanan, dan VM yang terkait dengan data DNS internal dapat berada di project layanan yang berbeda atau project host.
Klien harus mengeluarkan kueri nama domain yang sepenuhnya memenuhi syarat (FQDN) untuk data DNS internal, bukan mengandalkan kueri parsial dan domain penelusuran DNS. Domain penelusuran DNS berbeda di setiap project karena alasan seperti berikut:
Bagian nama domain dari setiap data A DNS internal berisi ID project dari project yang berisi VM. Untuk VM di project layanan yang antarmuka jaringan
nic0-nya menggunakan jaringan VPC Bersama, project VM berbeda dengan project yang berisi jaringan.Penggunaan nama DNS internal zona atau global (seluruh project) bergantung pada konfigurasi project yang berisi VM.
Untuk mengetahui informasi selengkapnya tentang VPC Bersama, lihat:
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 instance Anda. Anda dapat mengonfigurasi data PTR agar dapat mengganti nama DNS internal default untuk instance dengan nama kustom yang Anda berikan.
Untuk membuat data PTR kustom yang mengganti nama PTR DNS internal yang dibuat otomatis, lihat Data PTR untuk alamat RFC 1918 di zona pribadi. Untuk mengetahui informasi tentang cara membuat data PTR untuk instance, lihat Membuat data PTR untuk instance.
Nama host kustom
Anda dapat menentukan nama host kustom untuk instance 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 selengkapnya, lihat membuat instance dengan nama host kustom.
DNS dan DHCP Internal
Instance Compute Engine dikonfigurasi untuk memperpanjang lease DHCP setiap 24 jam. Untuk instance yang diaktifkan untuk DNS zona, masa lease DHCP berakhir setiap jam. Instance 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.
Mengedit resolv.conf secara manual akan menyebabkan file tersebut dikembalikan ke DHCP default setiap kali masa lease DHCP berakhir di instance 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. Misalnya, untuk Red Hat Enterprise Linux for SAP with HA and Update Services 8.6, gunakan link berikut: Mengonfigurasi file /etc/resolv.conf secara manual
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/. Di
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-6th tidak akan diterapkan oleh OS Anda. Hal ini dapat menyebabkan fitur Compute Engine berhenti berjalan, seperti mengakses instance menggunakan nama instance-nya.
Mengedit
resolv.confsecara manual akan menyebabkan file tersebut dikembalikan ke DHCP default setiap kali masa lease DHCP 24 jam berakhir di instance Anda. Di instance 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 MDS_IP_ADDRESS
Ganti kode berikut:
ZONE: zona tempat instance Anda beradaPROJECT_ID: project tempat instance beradaMDS_IP_ADDRESS: alamat IP server metadata instance, yang merupakan salah satu hal berikut:169.254.169.254untuk instance khusus IPv4 dan dual-stack.fd20:ce::254untuk instance khusus IPv6.
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 instances will have this value set to infinite.
option dhcp-lease-time 3600;
option dhcp-message-type 5;
option domain-name-servers MDS_IP_ADDRESS;
option dhcp-server-identifier MDS_IP_ADDRESS;
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 MDS_IP_ADDRESS;
option rfc3442-classless-static-routes 32,10,128,0,1,0,0,0,0,0,10,128,0,1;
option host-name "INSTANCE_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:
INSTANCE_NAME: nama instanceZONE: zona tempat instance Anda beradaPROJECT_ID: project tempat instance beradaMDS_IP_ADDRESS: alamat IP server metadata instance, yang merupakan salah satu hal berikut:169.254.169.254untuk instance khusus IPv4 dan dual-stack.fd20:ce::254untuk instance khusus IPv6.
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 MDS_IP_ADDRESS
Ganti kode berikut:
PROJECT_ID: project tempat instance beradaMDS_IP_ADDRESS: alamat IP server metadata instance, yang merupakan salah satu hal berikut:169.254.169.254untuk instance khusus IPv4 dan dual-stack.fd20:ce::254untuk instance khusus IPv6.
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 instances will have this value set to infinite.
option dhcp-lease-time 86400;
option dhcp-message-type 5;
option domain-name-servers MDS_IP_ADDRESS;
option dhcp-server-identifier MDS_IP_ADDRESS;
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 MDS_IP_ADDRESS;
option rfc3442-classless-static-routes 32,10,128,0,1,0,0,0,0,0,10,128,0,1;
option host-name "INSTANCE_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:
INSTANCE_NAME: nama instancePROJECT_ID: project tempat instance beradaMDS_IP_ADDRESS: alamat IP server metadata instance, yang merupakan salah satu hal berikut:169.254.169.254untuk instance khusus IPv4 dan dual-stack.fd20:ce::254untuk instance khusus IPv6.
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 berikutnya
- Untuk mengetahui informasi tentang Google Cloud jaringan VPC, 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.