設定 DNS 解析器類型

透過建立與 DNS 中心 VPC 的解析連結來建立 DNS 共用 VPC 之後,您必須將共用 VPC 的 DNS 解析器類型設為「委派」或「手動」,以便 VPC 可以在 DNS 中心 VPC 中使用自訂解析器。

關於解析器類型

有三種 DNS 解析器類型:

  • 系統 是 DNS 伺服器的 IBM 預設值。 使用此設定,DNS 伺服器位址由 DNS Services提供,且 DNS 中心 VPC 設為此解析器類型。
  • 針對 DNS 共用 VPC 使用 委派,以便這些 VPC 可以在中心 VPC 中使用自訂解析器。 DNS 伺服器位址由解析器提供給指定的 DNS 共用 VPC。 此選項只能在已停用 DNS 中心的 VPC 上設定。
  • 如果您想要 DNS 共用 VPC 使用中心 VPC 自訂解析器以外的 DNS 解析器,請使用 手動。 此選項適用於手動指定的 DNS 伺服器位址,取代任何現有的伺服器。 您可以使用此選項來配置任何 DNS 伺服器 (公用或內部部署)。

開始之前

設定 DNS 解析器類型之前,請檢閱 DNS 共用規劃的注意事項

您可以使用主控台、CLI、API 或 Terraform 設定 DNS 解析器類型。

在主控台中設定 DNS 解析器類型

若要在 DNS 共用 VPC 上設定 DNS 解析器類型,請遵循下列步驟:

  1. 從瀏覽器開啟 IBM Cloud 主控台,登入您的帳戶。
  2. 選取導覽功能表 功能表圖示,然後按一下基礎結構 VPC 圖示 > 網路 > VPC
  3. 按一下您要設定其 DNS 解析器類型的 DNS 共用 VPC。
  4. 捲動至「選用 DNS 設定」區段,然後展開 DNS 解析器設定,並按一下 編輯
  5. 在「編輯 DNS 解析器設定」側邊畫面中,停用 DNS 中心。
  6. 選取 委派 作為 DNS 解析器類型,然後按一下 儲存

從 CLI 設定 DNS 解析器類型

若要使用 CLI 來設定 DNS 共用 VPC 的 DNS 解析器類型,請遵循下列步驟:

  1. 設定 CLI 環境

  2. 使用 CLI 登入您的帳戶。 輸入密碼之後,系統會提示您輸入您要使用的帳戶及地區:

    ibmcloud login --sso
    
  3. 停用中心 VPC,並指定 DNS 共用 VPC 的 DNS 解析器類型:

    ibmcloud is vpc-create my-cli-vpc [--dns-enable-hub false] [--dns-resolver-type delegate] [--dns-resolver-manual-servers  MANUAL_SERVERS | @MANUAL_SERVERS]
    

    其中:

    --dns-enable-hub
    指定是否啟用 VPC 的中心。 在使用 delegate 選項之前,必須先停用 DNS 中心。
    --dns-resolver-type
    指定 VPC 的解析器類型。 值為 system (預設值)、delegatemanual
    --dns-resolver-manual-servers
    配置 VPC 的手動 DNS 伺服器位址。 當解析器類型為 manual 時有效。

CLI 範例

若要配置 manual 伺服器,請執行下列動作:

ibmcloud is vpcu my-vpc --dns-resolver-manual-servers '[
    {
        "address": "190.20.3.2"
    },
    {
        "address": "190.20.3.3"
    }
]'

如果要配置 delegated 解析器類型,請執行下列動作:

ibmcloud is vpcu r006-55007c36-fd61-48db-ae22-710b0277e78e --dns-resolver-type delegated --delegate-to-vpc r006-4691ccef-498c-4d8e-9064-bcf13972b1aa

如果要配置 system 解析器類型,請執行下列動作:

ibmcloud is vpcu my-vpc --dns-resolver-type system

使用 API 設定 DNS 解析器類型

若要使用 API 來設定 DNS 解析器類型,請遵循下列步驟:

  1. 設定 API 環境

  2. 若要使用 delegated 解析器類型將 DNS 共用 VPC 設為使用中心 VPC 的 DNS,請執行下列動作:

    curl -X PATCH -sH "Authorization:${iam_token}" "${vpc_api_endpoint}/v1/vpcs/${vpc_id}?version=${api_version}&generation=2" -d '
    {
      "dns": {
        "resolver": {
          "type":"delegated",
          "vpc": {
            "id": "${hub_vpc_id}"
          }
        }
      }
    }'
    
  3. 若要設定 VPC 使用 manual DNS 伺服器位址,請執行下列動作:

    curl -X PATCH -sH "Authorization:${iam_token}" "${vpc_api_endpoint}/v1/vpcs/${vpc_id}?version=${api_version}&generation=2" -d '
    {
      "dns": {
        "resolver": {
          "type": "manual",
          "manual_servers": [
            {
              "address": "10.240.0.10",
              "zone_affinity": {
                "name": "us-south-1"
              }
            },
             {
              "address": "10.240.64.10",
              "zone_affinity": {
                "name": "us-south-2"
              }
            },
            {
              "address": "10.240.128.10",
              "zone_affinity": {
                "name": "us-south-3"
              }
            }
          ]
        }
      }
    }'
    
  4. 若要將 VPC 還原至預設 system 配置,請執行下列動作:

    curl -X PATCH -sH "Authorization:${iam_token}" "${vpc_api_endpoint}/v1/vpcs/${vpc_id}?version=${api_version}&generation=2" -d '
    {
      "dns": {
        "resolver": {
          "type":"system",
          "vpc": null
        }
      }
    }'
    

使用 Terraform 設定 DNS 解析器類型

您可以使用 Terraform 來設定 DNS 解析器類型。

要使用 Terraform,請下載 Terraform CLI 並配置 IBM Cloud Provider 外掛程式。 如需相關資訊,請參閱 Terraform 入門

VPC 基礎架構服務使用地區特定端點,依預設會以 us-south 為目標。 如果您在另一個地區中建立 VPC,請確保將 provider.tf 檔案的提供者區塊中的適當地區設為目標。

請參閱下列以非預設 us-south 地區為目標的範例。

provider "ibm" {
  region = "eu-de"
}

如果要使用 manual 解析器類型來啟用 DNS 中心,請執行下列動作:

resource ibm_is_vpc my-vpc {
	name = "my-vpc"
	dns {
		enable_hub = true
		resolver {
			manual_servers     {
				address ="192.168.0.4"
				zone_affinity= "au-syd-1"
			}
			manual_servers{
				address =  "192.168.64.4"
				zone_affinity = "au-syd-2"
			}
			manual_servers{
				address= "192.168.128.4"
				zone_affinity ="au-syd-3"
			}
		}
	}
}

若要將 DNS 中心修補至 delegate 解析器類型,請執行下列動作:

resource ibm_is_vpc my-vpc {
	name = "my-vpc"
	dns {
		enable_hub = false

	    resolver {
			type = "delegated"
			vpc_id = ibm_is_vpc.hub_true.id
		}
	}
}

若要將 VPC 修補至 system 解析器類型:

resource ibm_is_vpc my-vpc {
	name = "my-vpc"
	dns {
		enable_hub = false

		resolver {
			type = "system"
			vpc_id = "null"
	    }
	}
}

下一步

DNS 共享 VPC 使用者為 DNS 共享 VPC 中的共用服務 建立 VPE 閘道