Creazione ed eliminazione di un bind di risoluzione DNS
Crea un bind della risoluzione DNS tra un VPC e un VPC hub DNS in modo che il VPC hub DNS possa risolvere i nomi host del DNS dei gateway VPE (Virtual Private Endpoint) che si trovano sul VPC condiviso dal DNS. Tenere presente che i gateway VPE collegati ai VPC condivisi da DNS devono essere abilitati per il bind della risoluzione (impostazione predefinita).
Prima di iniziare
Prima di creare un bind di risoluzione DNS, esaminare i seguenti requisiti:
- Esaminare le considerazioni sulla pianificazione della condivisione del DNS.
- Assicurati che un VPC abilitato come hub DNS esista già.
- Configurate un resolver DNS personalizzato sulla VPC dell'hub DNS, in modo che sia responsabile della risoluzione delle query DNS provenienti dalle VPC dell'hub e da quelle condivise con il DNS, nonché di quelle provenienti dalle reti on-premise.
- L'amministratore VPC hub deve creare una politica di autorizzazione service - to - service IAM che consenta a questo VPC condiviso da DNS di disporre dell'autorizzazione
DNSBindingConnectorsul VPC hub. Questo ruoloDNSBindingConnectorsul VPC hub è richiesto indipendentemente dal fatto che il VPC condiviso da DNS si trovi nello stesso account o in un account differente. Per ulteriori informazioni, vedi Definizione dell'autorizzazione service - to - service.
È possibile creare un binding di risoluzione DNS tramite console, CLI, API o Terraform.
Creazione di un binding di risoluzione DNS nella console
Per creare un bind della risoluzione DNS nella console IBM Cloud, attieniti alla seguente procedura:
-
Dal browser, aprire la console IBM Cloud e accedere al proprio account.
-
Selezionare l'
del menu di navigazione, quindi fare clic sull'icona Infrastruttura
> Rete > VPC.
-
Fare clic sul VPC (Virtual Private Cloud) in cui si desidera condividere i record DNS con il VPC hub DNS.
-
Scorri fino alla sezione Impostazioni DNS facoltative, quindi espandi la sezione di bind della risoluzione DNS e fai clic su Crea.
-
Nel pannello laterale Crea, immettere un nome per il bind della risoluzione.
-
Immettere il CRN (cloud resource name) del VPC hub DNS oppure utilizzare il menu per selezionare un VPC hub all'interno dello stesso account.
-
Fare clic su Crea per creare il bind della risoluzione DNS.
Il VPC con il bind di risoluzione DNS ora mostra una tag
DNS-Sharedaccanto al nome.
Eliminazione di un binding di risoluzione DNS nella console
Per eliminare un bind di risoluzione DNS nella Console IBM Cloud, attieniti alla seguente procedura:
Per eliminare una risoluzione vincolante, è necessario disporre del ruolo IAM DNS Services appropriato (Manager o Amministratore). Inoltre, tenere presente che tutti i collegamenti di risoluzione DNS devono essere eliminati prima di poter eliminare un resolver personalizzato.
- Dal browser, aprire la console IBM Cloud e accedere al proprio account.
- Selezionare l'
del menu di navigazione, quindi fare clic sull'icona Infrastruttura
> Rete > VPC.
- Fare clic sul Virtual Private Cloud in cui si desidera eliminare il bind della risoluzione DNS.
- Scorrere fino alla sezione Impostazioni DNS facoltative, quindi espandere la sezione Bind di risoluzione DNS.
- Fai clic su Delete. Se è presente più di un bind, fare clic sull'icona Azioni
, quindi fare clic su Elimina.
Creazione di un bind di risoluzione DNS dalla CLI
Per creare un binding di risoluzione DNS con la CLI, attieniti a questa procedura:
-
Accedere al proprio account con la CLI. Dopo aver immesso la password, il sistema richiede l'account e la regione che si desidera utilizzare:
ibmcloud login --sso
Per creare un bind di risoluzione DNS, immettere il comando seguente:
ibmcloud is vpc-dns-resolution-binding-create VPC --target-vpc TARGET_VPC [--name NAME] [--output JSON] [-q, --quiet]
Dove:
VPC-
Specifica l'ID o il nome della VPC.
--target-vpc TARGET_VPC-
Specifica l'ID o il nome di un'altra VPC a cui associare questa VPC, per la risoluzione DNS.
-name NAME-
Specifica il nome di questo binding di risoluzione DNS.
--output JSON-
Specifica il formato di uscita; è supportato solo JSON. Uno tra:
JSON.--q, --quiet -
Sopprime l'output dettagliato.
Esempi di comando
ibmcloud is vpc-dns-resolution-binding-create my-vpc --name my-dns-res-binding --target-vpc my-dns-binding-vpc --output JSONibmcloud is vpc-dns-resolution-binding-create 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --name my-dns-res-binding --target-vpc my-dns-binding-vpc --output JSON
Eliminazione di un bind di risoluzione DNS dalla CLI
Per eliminare uno o più bind di risoluzione con CLI, attenersi alla seguente procedura:
ibmcloud is vpc-dns-resolution-binding-delete VPC (DNS_RESOLUTION_BINDING1 DNS_RESOLUTION_BINDING2 ...) [--output JSON] [-f, --force] [-q, --quiet]
Dove:
VPC- Specifica l'ID o il nome della VPC.
DNS_RESOLUTION_BINDING1- Specifica l'ID o il nome del binding di risoluzione DNS.
DNS_RESOLUTION_BINDING2- Specifica l'ID o il nome del binding di risoluzione DNS.
--output JSON- Specifica il formato di uscita; è supportato solo JSON. Uno tra:
JSON. --f, --force- Forza l'operazione senza conferma.
--q, --quiet- Elimina l'output dettagliato.
Esempio di comando
ibmcloud is vpc-dns-resolution-binding-delete r006-e5b9726b-c975-46bd-b713-c8aea55d51d8 r006-75ccea7b-c705-4b50-934d-2152f9eab4ec --name my-dns-resolution --output JSON
Creazione di un bind di risoluzione DNS con l'API
Per creare un binding di risoluzione con l'API, attenersi alla seguente procedura:
-
Imposta il tuo Ambiente API.
-
Memorizzare i seguenti valori nelle variabili da utilizzare nei comandi API:
export hub_vpc_id=<hub_vpc_id> export spoke_vpc_id=<spoke_vpc_id> -
Per creare un bind di risoluzione DNS, eseguire il seguente comando:
curl -sX POST "$vpc_api_endpoint/v1/vpcs/$spoke_vpc_id/dns_resolution_bindings?version=$version&generation=2" -H "Authorization: Bearer ${iam_token}" -d '{"vpc": {"id": "'$hub_vpc_id'"}}'
Output di esempio:
{
"created_at": "2023-08-22T23:23:37Z",
"endpoint_gateways": [],
"href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-955c4b01-006f-4630-8a6a-f57e30354974/dns_resolution_bindings/r006-f95df674-74af-47ea-91d9-0aec39972ae7",
"id": "r006-f95df674-74af-47ea-91d9-0aec39972ae7",
"lifecycle_state": "pending",
"name": "my-binding",
"resource_type": "vpc_dns_resolution_binding",
"vpc": {
"crn": "crn:[...]",
"href": "https://us-south.iaas.cloud.ibm.com/v1/vpcs/r006-c6c9d533-a43b-488c-a4f5-b532f4ddd3e0",
"id": "r006-c6c9d533-a43b-488c-a4f5-b532f4ddd3e0",
"name": "hub-vpc",
"remote": {},
"resource_type": "vpc"
}
}
Eliminazione di un bind di risoluzione DNS con l'API
Per eliminare un bind di risoluzione DNS con l'API, attieniti alla seguente procedura:
-
Imposta il tuo Ambiente API.
-
Memorizzare i seguenti valori nelle variabili da utilizzare nei comandi API:
export dns_binding_id=<spoke_vpc_dns_binding_id> -
Per eliminare un bind di risoluzione DNS, esegui questo comando:
curl -sX DELETE "$vpc_api_endpoint/v1/vpcs/$spoke_vpc_id/dns_resolution_bindings/$dns_binding_id?version=$version&generation=2" -H "Authorization: Bearer ${iam_token}"
Creazione di un bind di risoluzione DNS con Terraform
Puoi utilizzare Terraform per creare un bind della risoluzione DNS.
Per utilizzare Terraform, scarica la CLI Terraform e configura il IBM Cloud plug-in Provider. Per ulteriori informazioni, vedi Introduzione a Terraform.
I servizi dell'infrastruttura VPC utilizzano un endpoint specifico regionale, che si rivolge a us-south per impostazione predefinita. Se il tuo VPC viene creato in un'altra regione, assicurati di specificare la regione appropriata
nel blocco del provider nel file provider.tf.
Vedi il seguente esempio di destinazione di una regione diversa da quella predefinita us-south.
provider "ibm" {
region = "eu-de"
}
Per creare un binding di risoluzione DNS:
resource "ibm_is_vpc_dns_resolution_binding" "my_dns_resolution_binding" {
name = "example-dns"
vpc_id = "vpc_id"
vpc {
id = "<target_vpc_id">
}
}
resource "ibm_is_vpc_dns_resolution_binding" "my_dns_resolution_binding" {
name = "example-dns"
vpc_id = "vpc_id"
vpc {
crn = "<target_vpc_crn">
}
}
resource "ibm_is_vpc_dns_resolution_binding" "my_dns_resolution_binding" {
name = "example-dns"
vpc_id = "vpc_id"
vpc {
href = "<target_vpc_href">
}
}
Eliminazione di un bind di risoluzione DNS con Terraform
Per eliminare un binding di risoluzione DNS con Terraform, vedi il seguente esempio:
terraform destroy --target ibm_is_vpc_dns_resolution_binding.my_dns_resolution_binding