Criando e Excluindo uma Ligação de Resolução DNS
Crie uma ligação de resolução de DNS entre uma VPC e uma VPC de hub de DNS para que a VPC de hub de DNS possa resolver os nomes de host de DNS de gateways de Virtual Private Endpoint (VPE) que residem na VPC compartilhada por DNS Lembre-se de que os gateways VPE ligados aos VPCs compartilhados pelo DNS também devem ser ativados para ligação de resolução (a configuração padrão)
Antes de Iniciar
Antes de criar uma ligação de resolução de DNS, revise os pré-requisitos a seguir:
- Analise as considerações de planejamento de compartilhamento de DNS.
- Assegure-se de que uma VPC ativada como um hub DNS já exista.
- Configure um resolvedor personalizado de DNS na VPC de hub de DNS para ser responsável pela resolução de consultas de DNS de VPCs de hub e compartilhadas por DNS, bem como de redes locais.
- O administrador do VPC do hub deve criar uma política de autorização de serviço para serviço do IAM que permita que esse VPC compartilhado pelo DNS tenha a permissão do
DNSBindingConnectorno VPC do hub Essa função doDNSBindingConnectorno VPC de hub é necessária, independentemente de o VPC compartilhado por DNS estar na mesma conta ou em uma conta diferente Para obter mais informações, consulte Estabelecendo autorização de serviço para serviço.
Você pode criar uma associação de resolução de DNS com o console, a CLI, a API ou o Terraform.
Criação de uma associação de resolução de DNS no console
Para criar uma ligação de resolução de DNS no console do IBM Cloud, siga estas etapas:
-
No seu navegador, abra o console IBM Cloud e faça login na sua conta.
-
Selecione o
do menu de navegação e clique no
de infraestrutura > Rede > VPCs.
-
Clique no Virtual Private Cloud no qual você deseja compartilhar registros de DNS com o VPC do hub de DNS.
-
Role para a seção Configurações de DNS opcionais e, em seguida, expanda a seção de ligação de resolução de DNS e clique em Criar
-
No painel lateral Criar, insira um nome para a ligação de resolução..
-
Insira o nome do recurso em nuvem (CRN) do VPC do hub DNS ou use o menu para selecionar um VPC do hub na mesma conta.
-
Clique em Criar para criar a ligação de resolução de DNS
A VPC com a ligação de resolução de DNS agora mostra uma tag
DNS-Sharedao lado de seu nome
Exclusão de um vínculo de resolução de DNS no console
Para excluir uma ligação de resolução de DNS no console do IBM Cloud, siga estas etapas:
Para excluir uma resolução vinculativa, você precisa da função IAM DNS Services apropriada (Gerente ou Administrador). Além disso, lembre-se de que todas as ligações de resolução DNS devem ser excluídas antes que você possa excluir um resolvedor personalizado.
- No seu navegador, abra o console IBM Cloud e faça login na sua conta.
- Selecione o
do menu de navegação e clique no
de infraestrutura > Rede > VPCs.
- Clique na nuvem privada virtual na qual você deseja excluir a ligação de resolução de DNS.
- Role para a seção Configurações opcionais de DNS e, em seguida, expanda a seção de ligação de resolução de DNS.
- Clique em Excluir. Se houver mais de uma ligação, clique no ícone Ações
e, em seguida, clique em Excluir.
Criando uma ligação de resolução de DNS a partir da CLI
Para criar uma ligação de resolução de DNS com a CLI, siga estas etapas:
-
Configure seu ambiente da CLI.
-
Faça login na sua conta com a CLI. Depois de inserir a senha, o sistema pergunta qual conta e região você deseja usar:
ibmcloud login --sso
Para criar uma ligação de resolução DNS, insira o comando a seguir:
ibmcloud is vpc-dns-resolution-binding-create VPC --target-vpc TARGET_VPC [--name NAME] [--output JSON] [-q, --quiet]
Em que:
VPC-
Especifica a ID ou o nome da VPC.
--target-vpc TARGET_VPC-
Especifica a ID ou o nome de outra VPC à qual vincular esta VPC, para resolução de DNS.
-name NAME-
Especifica o nome para essa associação de resolução de DNS.
--output JSON-
Especifica o formato de saída, somente JSON é compatível. Um de:
JSON.--q, --quiet -
Suprime saída detalhada.
Exemplos de 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
Excluindo uma ligação de resolução de DNS da CLI
Para excluir uma ou mais ligações de resolução com a CLI (CLI), siga estas etapas:
ibmcloud is vpc-dns-resolution-binding-delete VPC (DNS_RESOLUTION_BINDING1 DNS_RESOLUTION_BINDING2 ...) [--output JSON] [-f, --force] [-q, --quiet]
Em que:
VPC- Especifica a ID ou o nome da VPC.
DNS_RESOLUTION_BINDING1- Especifica a ID ou o nome do vínculo de resolução de DNS.
DNS_RESOLUTION_BINDING2- Especifica a ID ou o nome do vínculo de resolução de DNS.
--output JSON- Especifica o formato de saída, somente JSON é compatível. Um de:
JSON. --f, --force- Força a operação sem confirmação.
--q, --quiet- Suprime a saída detalhada
Exemplo de 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
Criando uma ligação de resolução de DNS com a API
Para criar uma ligação de resolução com a API, siga estas etapas:
-
Configure o seu Ambiente de API.
-
Armazene os seguintes valores em variáveis a serem usadas nos comandos da API:
export hub_vpc_id=<hub_vpc_id> export spoke_vpc_id=<spoke_vpc_id> -
Para criar uma ligação de resolução DNS, execute o comando a seguir:
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'"}}'
Saída de amostra:
{
"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"
}
}
Exclusão de uma associação de resolução de DNS com a API
Para excluir uma ligação de resolução de DNS com a API, siga estas etapas:
-
Configure o seu Ambiente de API.
-
Armazene os seguintes valores em variáveis a serem usadas nos comandos da API:
export dns_binding_id=<spoke_vpc_dns_binding_id> -
Para excluir uma ligação de resolução DNS, execute o comando a seguir:
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}"
Criando uma ligação de resolução DNS com o Terraform
É possível usar o Terraform para criar uma ligação de resolução de DNS
Para usar o Terraform, baixe o Terraform CLI e configure o IBM Cloud plug-in Provider. Para obter mais informações, consulte Introdução ao Terraform.
Os serviços de infraestrutura do VPC usam um terminal regional específico, que tem como destino o us-south por padrão Se sua VPC for criada em outra região, certifique-se de destinar a região apropriada no bloco do provedor no arquivo
provider.tf.
Veja o exemplo a seguir de destinação de uma região diferente do us-south padrão:
provider "ibm" {
region = "eu-de"
}
Para criar um vínculo de resolução de 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">
}
}
Excluindo uma ligação de resolução DNS com o Terraform
Para excluir uma ligação de resolução de DNS com o Terraform, consulte o exemplo a seguir:
terraform destroy --target ibm_is_vpc_dns_resolution_binding.my_dns_resolution_binding