Anda dapat menggunakan Custom DNS untuk skenario seperti mempercepat akses situs. Topik ini menjelaskan cara mengonfigurasi Custom DNS untuk suatu fungsi di Konsol Function Compute.
Informasi latar belakang
File resolv.conf adalah file konfigurasi sistem. Setelah Anda mengonfigurasi Custom DNS, file resolv.conf yang ada akan ditimpa. Anda dapat melihat spesifikasi file resolv.conf dengan menjalankan perintah man 5 resolver pada sistem Linux. Jika halaman man tidak ditemukan, instal berdasarkan distribusi Anda. Untuk informasi selengkapnya, lihat Linux manual page.
Batasan
Fitur Custom DNS tidak mendukung Custom Image.
Prasyarat
Anda telah membuat fungsi, kecuali fungsi yang dipercepat GPU.
Konfigurasi DNS
Untuk menggunakan server DNS default dari Function Compute, tambahkan alamat IP default 100.100.2.136 dan 100.100.2.138 ke Name Servers.
Masuk ke Function Compute console. Di panel navigasi sebelah kiri, pilih .
Di bilah navigasi atas, pilih Region. Pada halaman Function, klik fungsi yang dituju.
Di halaman detail fungsi, klik tab Configuration. Di sebelah kanan Advanced Settings, klik Modify. Di panel Advanced Settings, temukan bagian DNS, konfigurasikan parameter berikut, lalu klik Deploy.
Parameter
Description
Example
Name Servers
Menentukan alamat IP server DNS. Anda dapat menambahkan beberapa alamat.
223.5.5.5
223.6.6.6
Search Domain
Domain pencarian DNS. Anda dapat menambahkan beberapa domain pencarian. Jika nama domain gagal di-resolve, sistem akan menambahkan domain pencarian dan mencoba ulang kueri tersebut.
example.com
DNS Options
Setiap item konfigurasi dalam file resolv.conf merupakan pasangan kunci-nilai dalam format key:value, di mana kunci wajib disediakan.
attempts:1
Verifikasi bahwa pengaturan Custom DNS telah berlaku.
Di halaman detail fungsi, klik tab Code.
Di editor kode, tulis kode Anda, klik Deploy, lalu klik Test Function.
Kode contoh (Python 3):
import logging import subprocess def handler(event, context): logger = logging.getLogger() f = open('/etc/resolv.conf') logger.info("".join(f.readlines())) f.close() output = subprocess.check_output(["ping", "-c", "1", "www.aliyun.com"]) return outputDi tab Code, lihat hasil eksekusi: di area Response, periksa konten yang dihasilkan untuk resolv.conf, dan di area Log Output, periksa alamat IP dari nama domain yang dikembalikan.