カスタム Domain Name System (DNS) を設定して、アクセス高速化などの特定の機能を実現できます。このトピックでは、Function Compute コンソールで関数のカスタム DNS を設定する方法について説明します。
背景情報
resolv.conf ファイルはシステム設定ファイルです。カスタム DNS 設定を構成すると、元の resolv.conf ファイルは上書きされます。man 5 resolver コマンドを Linux マシンで実行して、resolv.conf ファイルのフォーマットと設定を照会できます。man ページ (リファレンスマニュアルページの略) が返されない場合は、現在の Linux ディストリビューションを使用してインストールしてください。詳細については、「Linux マニュアルページ」をご参照ください。
制限事項
カスタム DNS 機能は、カスタムイメージをサポートしていません。
要件
DNS 設定の構成
Function Compute のデフォルト DNS サーバーを使用する場合は、Name Servers フィールドで、デフォルト IP アドレスとして 100.100.2.136 と 100.100.2.138 を指定します。
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、[Functions] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。[Functions] ページで、管理する関数をクリックします。
関数の詳細ページで、[Configurations] タブをクリックし、[Advanced Configuration] をクリックしてから [Edit] をクリックします。[Advanced Configuration] パネルで [DNS] オプションを見つけ、必要なパラメーターを設定してから、[Deploy] をクリックします。
パラメーター
説明
例
ネームサーバー
DNS サーバーの IP アドレス。1 つ以上の DNS サーバーの IP アドレスを追加できます。
223.5.5.5
223.6.6.6
検索ドメイン
DNS サーバーの検索ドメイン。1 つ以上の検索ドメインを追加できます。DNS サーバーがドメイン名を解決できない場合、検索ドメインがドメイン名に追加され、サーバーは再度ドメイン名を解決します。
example.com
DNS オプション
resolv.conf ファイルの設定項目。各項目は、キーが必須である key:value 形式のキーと値のペアに対応します。
attempts:1
設定したカスタム DNS 設定が有効になったかどうかを確認します。
関数の詳細ページで、[Code] タブをクリックします。
コードエディタでコードを記述し、[Deploy] をクリックしてから [Test Function] をクリックします。
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[Code] タブで、実行結果を表示します。[Response] セクションで、resolv.conf によって生成された対応するコンテンツを表示します。[Log Output] セクションで、返されたドメイン名の IP アドレスを表示します。