自訂DNS功能適用於加速網站訪問等情境,本文介紹如何在Function Compute控制台為函數配置自訂DNS。
背景資訊
resolv.conf檔案為系統設定檔,您配置自訂DNS解析屬性後,原有resolv.conf將被覆蓋。關於resolv.conf檔案的規範,您可以在Linux系統執行man 5 resolver查看,如果提示沒有man page,請先根據您使用的發行版本進行安裝。更多資訊,請參見Linux manual page。
使用限制
自訂DNS功能不支援自訂鏡像。
前提條件
配置DNS
如需使用Function Compute預設的DNS伺服器,請在Name Servers中添加預設IP地址100.100.2.136和100.100.2.138。
登入Function Compute控制台,在左側導覽列,單擊函數。
在頂部功能表列,選擇地區,然後在函數頁面,單擊目標函數。
在函數詳情頁面,選擇配置頁簽,單擊進階配置右側的編輯,在進階配置面板,找到DNS選項,按需配置以下參數,然後單擊部署。
參數
說明
樣本值
Name Servers
DNS伺服器的IP地址。支援添加多個DNS伺服器的IP地址。
223.5.5.5
223.6.6.6
搜尋域
DNS搜尋域。支援添加多個搜尋域。當訪問的網域名稱不能被DNS解析時,搜尋域將被追加到無法被解析的網域名稱後重新解析。
example.com
DNS 選項
resolv.conf檔案中的配置項。每一項對應一個索引值對,格式為key:value,其中鍵為必填。
attempts:1
驗證配置的DNS解析屬性是否生效。
在函數詳情頁面,單擊代碼頁簽。
在代碼編輯器中編寫代碼,單擊部署代碼,然後單擊測試函數。
程式碼範例(Python 3)如下:
# -*- coding: utf-8 -*- 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 output在代碼頁簽,查看執行結果。在返回結果地區,查看resolv.conf產生的對應的內容,在日誌輸出地區,查看返回的網域名稱的IP地址。