全部產品
Search
文件中心

Function Compute:在函數中配置自訂DNS

更新時間:Jul 06, 2024

自訂DNS功能適用於加速網站訪問等情境,本文介紹如何在Function Compute控制台為函數配置自訂DNS。

背景資訊

resolv.conf檔案為系統設定檔,您配置自訂DNS解析屬性後,原有resolv.conf將被覆蓋。關於resolv.conf檔案的規範,您可以在Linux系統執行man 5 resolver查看,如果提示沒有man page,請先根據您使用的發行版本進行安裝。更多資訊,請參見Linux manual page

使用限制

自訂DNS功能僅支援Function Compute官方提供的Runtime和Custom Runtime。

前提條件

建立函數

配置DNS

說明 如需使用Function Compute預設的DNS伺服器,請在Name Servers中添加預設IP地址100.100.2.136100.100.2.138
  1. 登入Function Compute控制台

  2. 在左側導覽列,單擊服務及函數
  3. 在頂部功能表列,選擇地區。
  4. 服務列表頁面,單擊目標服務。
  5. 函數管理頁面,單擊目標函數操作列的配置
  6. 在編輯函數配置頁面下方的DNS 配置地區,按需配置以下參數,然後單擊儲存
    dns-edit
    參數說明樣本值
    Name ServersDNS伺服器的IP地址。支援添加多個DNS伺服器的IP地址。
    • 223.5.5.5
    • 223.6.6.6
    搜尋域DNS搜尋域。支援添加多個搜尋域。當訪問的網域名稱不能被DNS解析時,搜尋域將被追加到無法被解析的網域名稱後重新解析。mydomain.com
    DNS 選項resolv.conf檔案中的配置項。每一項對應一個索引值對,格式為key:value,其中鍵為必填。attempts:1
  7. 驗證配置的DNS解析屬性是否生效。
    1. 在函數詳情頁面,單擊函數代碼頁簽。
    2. 在代碼編輯器中編寫代碼,單擊部署代碼,然後單擊測試函數
      程式碼範例(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
    3. 函數代碼頁簽,查看執行結果。在返回結果地區,查看resolv.conf產生的對應的內容,在日誌輸出地區,查看返回的網域名稱的IP地址。
      result