設定 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 解析器類型,請遵循下列步驟:
- 從瀏覽器開啟 IBM Cloud 主控台,登入您的帳戶。
- 選取導覽功能表
,然後按一下基礎結構
> 網路 > VPC。
- 按一下您要設定其 DNS 解析器類型的 DNS 共用 VPC。
- 捲動至「選用 DNS 設定」區段,然後展開 DNS 解析器設定,並按一下 編輯。
- 在「編輯 DNS 解析器設定」側邊畫面中,停用 DNS 中心。
- 選取 委派 作為 DNS 解析器類型,然後按一下 儲存。
從 CLI 設定 DNS 解析器類型
若要使用 CLI 來設定 DNS 共用 VPC 的 DNS 解析器類型,請遵循下列步驟:
-
使用 CLI 登入您的帳戶。 輸入密碼之後,系統會提示您輸入您要使用的帳戶及地區:
ibmcloud login --sso -
停用中心 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(預設值)、delegate及manual。 --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 解析器類型,請遵循下列步驟:
-
設定 API 環境。
-
若要使用
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}" } } } }' -
若要設定 VPC 使用
manualDNS 伺服器位址,請執行下列動作: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" } } ] } } }' -
若要將 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 閘道。