How Does FunctionGraph Resolve a Private DNS Domain Name?
FunctionGraph cannot directly parse private Huawei Cloud DNS domain names. To parse them, call DNS APIs and perform the following steps.
Resolving a Private DNS Domain Name
Ensure that a VPC and private DNS domain name have been created before performing the following steps:
- Associate a VPC with the private domain name and add record sets. Log in to the DNS console and associate a VPC with the private domain name.Figure 1 Associating a VPC with the private domain name
Click the domain name, and add a type A record set.Figure 2 Adding a record set
- Create a function.
Create a function whose runtime is Python 2.7. The following is sample code.
# -*- coding:utf-8 -*- import json import os def handler(event, context): os.system("curl -iv www.test.com") - Configure an agency with DNS and VPC permissions for the function.
On the IAM console, create an agency with DNS ReadOnlyAccess and VPC Administrator permissions for FunctionGraph.
Figure 3 Creating an agency with DNS and VPC permissions
You need to configure the permission to read DNS resource data because the function needs to obtain such data when parsing a domain name. Otherwise, the following error message is displayed, indicating that the DNS resource data failed to be obtained.
2020/08/20 10:37:12 GMT+08:00 Start invoke request 'a2f105b4-2e72-4fda-94a5-86d3837e961d', version: latest [GET /v2/zones/{zone_id}/recordsets] failed, response: {"code":"DNS.1802","message":"Policy doesn't allow dns:recordset:list to be performed."} 2020/08/20 10:37:13 GMT+08:00 Finish invoke request 'a2f105b4-2e72-4fda-94a5-86d3837e961d', duration: 1030.072ms, billing duration: 1100ms, memory used: 77.039MB. - Configure the function.
On the details page of the function created in 2, click the Configuration tab and configure the following settings:
- Check the execution result.
Then all configured IPv4 domain names can be parsed.
Figure 5 Executing the function
Changes to the IP addresses corresponding to the VPC domain names you configure will take effect in 10 minutes.
