Para reduzir a dependência de endereços IP fixos na comunicação entre instâncias, use um conjunto de opções DHCP para configurar IPs de servidores DNS e domínios de pesquisa para todas as instâncias ECS em uma VPC. Quando uma instância se comunica por nome de host, o sistema anexa o domínio de pesquisa e consulta o servidor DNS especificado para obter o mapeamento completo de domínio para IP.
Como funciona
Um conjunto de opções DHCP associa-se a uma VPC e configura uniformemente parâmetros como DNS Server IP e Domain Name para todas as instâncias ECS na VPC. Após a configuração, as instâncias podem se comunicar por nome de host ou FQDN sem depender de IPs fixos.
|
Etapa |
Descrição |
|
① |
O conjunto de opções DHCP associa-se a uma VPC. As instâncias ECS na VPC interagem com o servidor DHCP para obter a configuração de rede do conjunto de opções DHCP (incluindo nome de domínio, IPs de servidores DNS e outros parâmetros de rede), gravando-a na configuração do sistema de cada instância. |
|
② |
Uma instância ECS envia uma consulta ao servidor DNS para resolver um nome de host DNS em um endereço IP. O servidor DNS retorna o endereço IP correspondente. |
|
③ |
A instância conecta-se à instância ECS de destino usando o endereço IP resolvido. |
Configuração de nome de domínio: comunicação por nome de host
Um nome de domínio privado completo consiste em um nome de host e um nome de domínio. Por exemplo, em host01.host.prvz, o nome de host é host01 e o nome de domínio é host.prvz.
Após adicionar registros de resolução DNS para instâncias ECS no servidor DNS, as instâncias tornam-se acessíveis por seus nomes de domínio privados completos. Para simplificar a comunicação apenas pelo nome de host, execute vim /etc/resolv.conf em cada instância ECS e adicione search host.prvz, definindo host.prvz como o domínio de pesquisa DNS.
No entanto, configurar manualmente cada instância ECS é ineficiente e propenso a erros. Ao configurar um nome de domínio no conjunto de opções DHCP associado, todas as instâncias ECS na VPC recebem automaticamente o nome de domínio via DHCP e o gravam em /etc/resolv.conf como o domínio de pesquisa DNS. Quando uma instância se comunica por nome de host, o sistema anexa o domínio de pesquisa e consulta o servidor DNS especificado para obter o mapeamento completo de domínio para IP.
Configuração de IP do servidor DNS: resolução de nomes de domínio
O servidor DNS mantém registros de resolução de nomes de domínio. Quando uma instância ECS executa ping host01.host.prvz, ela envia uma consulta ao servidor DNS especificado, que retorna o endereço IP correspondente.
Ao criar uma instância ECS a partir de uma imagem oficial, a Alibaba Cloud configura automaticamente servidores DNS padrão via DHCP . Os IPs padrão dos servidores DNS são 100.100.2.136 e 100.100.2.138. Estes são servidores DNS internos da VPC da Alibaba Cloud que resolvem tanto nomes de domínio públicos quanto internos da Alibaba Cloud.
|
Comparação |
Nomes de host DNS ativados |
DNS Privado (Private Zone) |
service DNS autogerenciado |
|
Tipo de conjunto de opções DHCP |
Conjunto de opções DHCP padrão |
Conjunto de opções DHCP personalizado |
Conjunto de opções DHCP personalizado |
|
Configuração de nome de domínio |
Domínio privado ECS [regionID].ecs.internal Servidores DNS padrão |
Nome de domínio personalizado Servidores DNS padrão |
Nome de domínio personalizado Servidor DNS autogerenciado |
|
Faturamento |
Sem taxas de nome de domínio |
Taxas baseadas na quantidade de nomes de domínio e volume de consultas DNS. Consulte detalhes de faturamento. |
Sem taxas de nome de domínio |
|
Comunicação de domínio privado entre VPCs e nuvem híbrida |
Não suportado |
Suportado |
Suportado |
O desempenho da consulta DNS depende do servidor DNS em uso. Para limites de desempenho dos servidores DNS padrão da Alibaba Cloud, consulte Limites do service de resolução DNS privado .
Criar ou excluir um conjunto de opções DHCP
Para reduzir a dependência de IPs fixos e habilitar a comunicação baseada em nome de host ou FQDN, use um conjunto de opções DHCP para configurar uniformemente IPs de servidores DNS e domínios de pesquisa para todas as instâncias ECS na VPC associada. Quando uma instância ECS executa ping <hostname>, o sistema anexa o domínio de pesquisa (por exemplo, hostname.example.com) e consulta o servidor DNS especificado para obter o mapeamento de domínio para IP.
Um único conjunto de opções DHCP pode associar-se a várias VPCs na mesma região, mas cada VPC só pode associar-se a um conjunto de opções DHCP.
console
Criar um conjunto de opções DHCP
Ao ativar nomes de host DNS para uma VPC em uma região pela primeira vez, o sistema cria e associa automaticamente um conjunto de opções DHCP padrão à VPC. Não é possível modificar o conjunto de opções DHCP padrão. Para criar um personalizado, acesse VPC console - DHCP Options Sets, clique em Create DHCP Options Set e configure o Domain Name e o DNS Server IP para corresponder ao seu service de resolução DNS.
Se a VPC já estiver associada a outro conjunto de opções DHCP, ativar nomes de host DNS não associará automaticamente o conjunto de opções DHCP padrão. Atualize a associação manualmente.
Associar uma VPC
Crie, altere ou remova a associação entre uma VPC e um conjunto de opções DHCP na seção DHCP Options Sets da página de detalhes da VPC de destino, ou na coluna Actions ou na página de detalhes do conjunto de opções DHCP de destino.
-
Após uma alteração de associação, novas instâncias ECS usam automaticamente a configuração atualizada. Para instâncias existentes, reinicie o processo DHCP executando
sudo dhclient -r eth0 && sudo dhclient eth0para aplicar a nova configuração. Após a remoção de uma associação, a Alibaba Cloud atribui os servidores DNS padrão às instâncias via DHCP. Reinicie também a instância ou seu service de rede para garantir que a configuração mais recente tenha efeito, desde que isso não interrompa suas cargas de trabalho. Se a VPC associada ao conjunto de opções DHCP tiver Shared VPC ativado, o conjunto de opções DHCP também se aplica às instâncias ECS na VPC compartilhada.
Modificar um conjunto de opções DHCP
Não é possível modificar o conjunto de opções DHCP padrão. Modifique o nome de domínio e os IPs dos servidores DNS de um conjunto de opções DHCP personalizado conforme necessário.
Após modificar um conjunto de opções DHCP, novas instâncias ECS na VPC associada usam automaticamente a configuração atualizada. Para instâncias existentes, reinicie o processo DHCP para aplicar as alterações. Reinicie também a instância ou seu service de rede para garantir que a configuração mais recente tenha efeito, desde que isso não interrompa suas cargas de trabalho.
Excluir um conjunto de opções DHCP
Antes de excluir um conjunto de opções DHCP, desassocie-o de todas as VPCs. Em seguida, na coluna Actions ou na página de detalhes do conjunto de opções DHCP de destino, clique em Delete.
API
Ao ativar nomes de host DNS para uma VPC em uma região pela primeira vez, o sistema cria e associa automaticamente um conjunto de opções DHCP padrão à VPC.
Após modificar um conjunto de opções DHCP ou alterar uma associação, novas instâncias ECS usam automaticamente a configuração atualizada. Para instâncias existentes, reinicie a instância, o processo DHCP ou o service de rede para aplicar as alterações.
Chame CreateDhcpOptionsSet para criar um conjunto de opções DHCP.
Chame AttachDhcpOptionsSetToVpc para associar o conjunto de opções DHCP a uma VPC.
Chame DetachDhcpOptionsSetFromVpc para desassociar o conjunto de opções DHCP de uma VPC.
Chame ReplaceVpcDhcpOptionsSet para alterar a VPC associada a um conjunto de opções DHCP.
Chame UpdateDhcpOptionsSetAttribute para modificar a configuração do conjunto de opções DHCP.
Chame DeleteDhcpOptionsSet para excluir um conjunto de opções DHCP.
Terraform
Recurso: alicloud_vpc_dhcp_options_set , alicloud_vpc_dhcp_options_set_attachment
# Specify the region of the VPC
provider "alicloud" {
region = "cn-hangzhou"
}
# Create a DHCP options set
resource "alicloud_vpc_dhcp_options_set" "test_dhcp_options_set" {
dhcp_options_set_name = "test_dhcp_options_set_name"
domain_name = "example.com" # Specify the domain name
domain_name_servers = "100.100.2.136,100.100.2.138" # Specify the DNS server IPs
}
# Associate the DHCP options set with a VPC
resource "alicloud_vpc_dhcp_options_set_attachment" "test_attachment_vpc" {
vpc_id = "vpc-8vbg******" # Specify the VPC instance ID
dhcp_options_set_id = alicloud_vpc_dhcp_options_set.test_dhcp_options_set.id # Specify the DHCP options set instance ID
}
Ativar nomes de host DNS
Para habilitar a comunicação por nome de domínio privado dentro de uma VPC, ative nomes de host DNS para a VPC e configure a resolução DNS privada nas instâncias ECS. O DNS Privado da Alibaba Cloud mantém automaticamente os registros de resolução DNS, reduzindo o tempo e o custo de manutenção. A VPC associa-se a um conjunto de opções DHCP padrão que atribui a cada instância o [domínio autoritativo integrado ECS [regionID].ecs.internal](t2769825.xdita#9973d59c755ry).
1. Ao ativar nomes de host DNS para uma VPC em uma região pela primeira vez, o sistema cria e associa automaticamente um conjunto de opções DHCP padrão à VPC. Quando outras VPCs na mesma região ativam nomes de host DNS, o sistema associa automaticamente o mesmo conjunto de opções DHCP padrão.
2. Se a VPC já estiver associada a outro conjunto de opções DHCP, ativar nomes de host DNS não associará o conjunto de opções DHCP padrão. Atualize a associação manualmente.
3. A comunicação por nome de domínio privado entre VPCs e nuvem híbrida não é suportada atualmente.
console
Ativar nomes de host DNS
Acesse o VPC console. Na página Basic Information da VPC de destino, clique em Enable DNS Hostnames.
-
Acesse o ECS console e configure a resolução DNS privada para a instância ECS. A instância configurada poderá então ser acessada por nome de host a partir de outras instâncias ECS na mesma VPC.
Ao usar Create Instance, expanda Advanced Options e configure Private DNS Resolution. Selecione o mapeamento do nome de host formatado por IP para o endereço IPv4 privado principal ou o mapeamento do nome de host formatado por ID da instância para o endereço IPv4 privado principal.
IDs de instância não podem ser alterados. Se o endereço IP de uma instância mudar, o registro DNS será atualizado automaticamente para mapear o novo nome de host formatado por IP para o novo IP.
Após a atribuição de um endereço IPv6, selecione também o mapeamento do nome de host formatado por ID da instância para o endereço IPv6 privado principal.
Para instâncias ECS existentes, na coluna Actions, escolha
> Instance Properties > Edit Instance Properties e selecione o mapeamento entre o nome de domínio privado e o endereço IP.
Desativar nomes de host DNS
Na página Basic Information da VPC de destino, clique em Disable DNS Hostnames. O nome de domínio atribuído pela Alibaba Cloud é desativado e os nomes de domínio privados ECS não podem mais ser resolvidos para seus IPs correspondentes.
O sistema desassocia automaticamente a VPC do conjunto de opções DHCP padrão, mas não o exclui. Para excluir o conjunto de opções DHCP, certifique-se de que ele esteja desassociado de todas as VPCs primeiro.
API
Diferentemente do fluxo de trabalho do console, defina o parâmetro EnableDnsHostname ao chamar CreateVpc para ativar ou desativar nomes de host DNS no momento da criação da VPC.
Defina o parâmetro
EnableDnsHostnameem ModifyVpcAttribute para ativar ou desativar nomes de host DNS.Ao chamar RunInstances para criar uma instância, especifique os parâmetros
PrivateDnsNameOptionspara configurar a resolução DNS privada.Defina os parâmetros
PrivateDnsNameOptionsem ModifyInstanceAttribute para configurar a resolução DNS privada para uma instância ECS existente.
Terraform
Não é possível configurar a resolução DNS privada ECS via Terraform. Este exemplo apenas ativa nomes de host DNS para uma VPC.
Recursos: alicloud_vpc , alicloud_vswitch
Fontes de dados: alicloud_zones
# Specify the region for the VPC
provider "alicloud" {
region = "cn-hangzhou"
}
# Create a VPC with DNS hostnames enabled
resource "alicloud_vpc" "test_vpc" {
vpc_name = "test_vpc_name"
cidr_block = "10.0.0.0/16"
dns_hostname_status = "ENABLED" # Enable DNS hostnames
}
Usar nomes de domínio personalizados
Os nomes de domínio privados ECS gerados pelos nomes de host DNS não podem ser modificados. Para usar nomes de domínio personalizados, utilize o DNS Privado da Alibaba Cloud ou um service DNS autogerenciado.
Usar DNS Privado
Para adicionar registros de resolução DNS para instâncias ECS em massa, utilize Private DNS. Este service cobra taxas com base no número de nomes de domínio e no volume de consultas DNS.
console
-
Acesse o Private DNS console, clique em Add Zone, configure uma Authoritative Zone personalizada e defina o Effective Scope para a VPC de destino.
Clique no ID da zona de destino. Na aba ECS Hostname, clique em Add ECS Hostname. O sistema adiciona automaticamente registros de resolução DNS mapeando nomes de host ECS para IPs na região selecionada, mas alterações nos nomes de host não são sincronizadas automaticamente. Ative as Automatic Synchronization Settings para que o sistema adicione e sincronize automaticamente os registros DNS a cada minuto. Para usar um prefixo de domínio personalizado, vá para a aba Settings e adicione um Hostname personalizado.
Acesse VPC console - DHCP Options Sets, clique em Create DHCP Options Set e defina o Domain Name para o nome de domínio autoritativo integrado correspondente.
Na coluna Actions do conjunto de opções DHCP de destino, selecione Associate VPC. Instâncias ECS com registros DNS configurados poderão então ser acessadas por nome de host ou registro de host a partir de outras instâncias na VPC associada.
API
Chame as seguintes APIs em sequência para usar o DNS Privado da Alibaba Cloud:
Terraform
A adição automática de registros de resolução de nomes de host ECS não é suportada. Adicione registros de resolução DNS personalizados individualmente.
Recurso: alicloud_pvtz_zone , alicloud_pvtz_zone_attachment , alicloud_pvtz_zone_record , alicloud_vpc_dhcp_options_set , alicloud_vpc_dhcp_options_set_attachment
# Specify the region of the target VPC
provider "alicloud" {
region = "cn-hangzhou"
}
# Configure a built-in authoritative domain
resource "alicloud_pvtz_zone" "test_pvtz_zone" {
zone_name = "example.com"
}
# Set the domain name scope
resource "alicloud_pvtz_zone_attachment" "test_pvtz_zone_attachment" {
zone_id = alicloud_pvtz_zone.test_pvtz_zone.id
vpc_ids = ["vpc-8vba******"] # Specify the VPC instance ID where the domain takes effect
}
# Add a DNS resolution record
resource "alicloud_pvtz_zone_record" "test_pvtz_zone_record" {
zone_id = alicloud_pvtz_zone.test_pvtz_zone.id
rr = "abc" # Specify the host record
type = "A" # Specify the DNS record type
value = "192.168.0.4" # Specify the DNS record value
}
# Create a DHCP options set
resource "alicloud_vpc_dhcp_options_set" "test_dhcp_options_set" {
dhcp_options_set_name = "test_dhcp_options_set_name"
domain_name = "example.com" # Specify the domain name
domain_name_servers = "100.100.2.136,100.100.2.138" # Specify the Alibaba Cloud default DNS server IPs
}
# Associate the DHCP options set with a VPC
resource "alicloud_vpc_dhcp_options_set_attachment" "test_attachment_vpc" {
vpc_id = "vpc-8vba******" # Specify the VPC instance ID
dhcp_options_set_id = alicloud_vpc_dhcp_options_set.test_dhcp_options_set.id # Specify the DHCP options set instance ID
}
Usar um service DNS autogerenciado
Se suas cargas de trabalho exigirem políticas de roteamento DNS flexíveis, por exemplo, retornando dinamicamente IPs ideais com base na localização geográfica, qualidade da rede ou carga do servidor, implante um servidor DNS autogerenciado. No entanto, você é responsável por manter os registros DNS e garantir a confiabilidade do service. O exemplo a seguir mostra como implantar um service DNS autogerenciado usando BIND e, em seguida, usar um conjunto de opções DHCP para apontar as instâncias ECS para o IP do seu servidor DNS e nome de domínio personalizado.
Para usar tanto seu service DNS autogerenciado quanto o service DNS da Alibaba Cloud, configure regras de encaminhamento global no seu servidor DNS autogerenciado para encaminhar consultas de domínios não personalizados para os servidores DNS padrão da Alibaba Cloud.
Ao especificar IPs de servidores DNS em um conjunto de opções DHCP personalizado, observe o seguinte:
1. Implante pelo menos dois servidores DNS personalizados para evitar falhas na resolução DNS causadas por um ponto único de falha.
2. No conjunto de opções DHCP, insira apenas os endereços IP dos seus servidores DNS personalizados. Remova os endereços IP dos servidores DNS padrão da Alibaba Cloud (100.100.2.136 e 100.100.2.138) preenchidos automaticamente pelo console. Configure encaminhadores globais nos seus servidores DNS personalizados, especificando 100.100.2.136 e 100.100.2.138 como servidores DNS upstream. Isso garante que nomes de domínio públicos e services internos da Alibaba Cloud possam ser resolvidos.
3. Adicione regras de entrada ao security group e à network ACL (se configurada) da VPC associada para permitir tráfego para o IP do servidor DNS autogerenciado. Caso contrário, as consultas DNS podem falhar.
4. Endereços IPv6 não são suportados para IPs de servidores DNS personalizados.
console
Acesse VPC console - DHCP Options Sets, clique em Create DHCP Options Set, defina o Domain Name para o nome de domínio usado no seu service DNS autogerenciado, clique em customize DNS server IP addresses e coloque o IP do seu servidor DNS autogerenciado em primeiro lugar na lista.
Na coluna Actions do conjunto de opções DHCP de destino, selecione Associate VPC. Instâncias ECS com registros DNS configurados poderão então ser acessadas por nome de host a partir de outras instâncias na VPC associada.
API
Chame as seguintes APIs em sequência para criar um conjunto de opções DHCP personalizado com seu nome de domínio e IP de servidor DNS autogerenciado, e associá-lo a uma VPC.
Terraform
Recurso: alicloud_vpc_dhcp_options_set , alicloud_vpc_dhcp_options_set_attachment
# Specify the region of the VPC
provider "alicloud" {
region = "cn-hangzhou"
}
# Create a DHCP options set
resource "alicloud_vpc_dhcp_options_set" "test_dhcp_options_set" {
dhcp_options_set_name = "test_dhcp_options_set_name"
domain_name = "example.com" # Specify the domain name
domain_name_servers = "192.168.0.10,192.168.0.11" # Specify self-managed DNS server IP only. Two servers are recommended to avoid SPOF
}
# Associate the DHCP options set with a VPC
resource "alicloud_vpc_dhcp_options_set_attachment" "test_attachment_vpc" {
vpc_id = "vpc-8vbg******" # Specify the VPC instance ID
dhcp_options_set_id = alicloud_vpc_dhcp_options_set.test_dhcp_options_set.id # Specify the DHCP options set instance ID
}
Mais informações
Faturamento
O recurso de conjunto de opções DHCP é gratuito.
Regiões suportadas
|
Área |
Região |
|
Ásia-Pacífico - China |
China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Guangzhou), China (Zhongwei), China (Chengdu) e China (Hong Kong) |
|
Ásia-Pacífico - Outros |
Japan (Tokyo), South Korea (Seoul), Singapore, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Philippines (Manila), Thailand (Bangkok) e Malaysia (Johor) |
|
Europa e Américas |
Germany (Frankfurt), UK (London), France (Paris), US (Silicon Valley), US (Virginia), Mexico e Brazil (São Paulo) |
|
Oriente Médio |
UAE (Dubai) e Saudi Arabia (Riyadh - Partner Region) |
Cotas
Nome da cota | Descrição | Limite padrão | Ajustável |
N/A | Número máximo de conjuntos de opções DHCP por conta Conjuntos de opções DHCP padrão não contam para esta cota. | 10 | Não ajustável |
Número máximo de VPCs que podem associar-se a um único conjunto de opções DHCP | 10 | ||
Número máximo de conjuntos de opções DHCP que podem associar-se a uma única VPC | 1 | ||
Número máximo de nomes de domínio por conjunto de opções DHCP | 1 | ||
Número máximo de IPs de servidores DNS por conjunto de opções DHCP | 4 |