Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, creas un Traffic Manager Linked Record en Azure DNS usando la CLI de Azure. Un Registro Enlazado de Traffic Manager conecta un conjunto de registros DNS directamente a un perfil de Azure Traffic Manager, devolviendo direcciones IP a clientes sin una resolución CNAME intermedia.
Para una guía basada en portal, consulte Crear un registro enlazado del Gestor de Tráfico usando el portal de Azure. Para una visión conceptual, véase Visión general de Registros Enlazados de Traffic Manager.
En este tutorial, obtendrá información sobre cómo:
- Crear la infraestructura de redes y de máquinas virtuales.
- Crea un perfil de Traffic Manager con endpoints.
- Crea un registro vinculado del gestor de tráfico usando CLI de Azure.
- Prueba el registro vinculado de Traffic Manager.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Prerequisites
Una cuenta de Azure con una suscripción activa.
Tenga instalada localmente CLI de Azure versión 2.60 o posterior, o utilice Azure Cloud Shell. Ejecute
az --versionpara comprobar la versión. Para la instalación o la actualización, consulte Instalación de la CLI de Azure.Un nombre de dominio hospedado en Azure DNS. Si no tienes una zona de Azure DNS, crea una y delega tu dominio a Azure DNS.
Nota:
En este tutorial,
contoso.comse usa como nombre de dominio de ejemplo. Reemplacecontoso.compor su propio nombre de dominio.
Use el entorno de Bash en Azure Cloud Shell. Para obtener más información, consulte Introducción a Azure Cloud Shell.
Si prefieres ejecutar comandos de referencia CLI localmente, instala la CLI de Azure. Si estás utilizando Windows o macOS, considera ejecutar CLI de Azure en un contenedor Docker. Para obtener más información, consulte Cómo ejecutar el CLI de Azure en un contenedor de Docker.
Si estás utilizando una instalación local, inicia sesión en CLI de Azure utilizando el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Autenticación en Azure mediante la CLI de Azure.
Cuando se le solicite, instale la extensión CLI de Azure en el primer uso. Para obtener más información sobre las extensiones, consulte Uso y administración de extensiones con la CLI de Azure.
Ejecute az version para ver la versión y las bibliotecas dependientes que están instaladas. Para actualizar a la versión más reciente, ejecute az upgrade.
Establecimiento de variables de entorno
Establece variables para los nombres de recursos y ubicaciones usados a lo largo de este tutorial para evitar repetirlos en cada comando.
RESOURCE_GROUP="test-rg"
LOCATION="eastus"
VNET_NAME="vnet-1"
TM_PROFILE_NAME="tm-profile"
DNS_ZONE="contoso.com"
Creación del grupo de recursos
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Crear la red virtual
az network vnet create \
--resource-group $RESOURCE_GROUP \
--name $VNET_NAME \
--address-prefix 10.10.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefix 10.10.0.0/24
Creación de máquinas virtuales de servidor web
Crea dos máquinas virtuales de Ubuntu con direcciones IP públicas para usarlas como puntos finales del Gestor de Tráfico.
Crear las direcciones IP públicas
az network public-ip create \
--resource-group $RESOURCE_GROUP \
--name public-ip-1 \
--sku Standard \
--dns-name vm-1-tmlink
az network public-ip create \
--resource-group $RESOURCE_GROUP \
--name public-ip-2 \
--sku Standard \
--dns-name vm-2-tmlink
Creación del grupo de seguridad de red
az network nsg create \
--resource-group $RESOURCE_GROUP \
--name nsg-1
az network nsg rule create \
--resource-group $RESOURCE_GROUP \
--nsg-name nsg-1 \
--name AllowHTTP \
--protocol tcp \
--priority 100 \
--destination-port-range 80
az network nsg rule create \
--resource-group $RESOURCE_GROUP \
--nsg-name nsg-1 \
--name AllowHTTPS \
--protocol tcp \
--priority 110 \
--destination-port-range 443
Crear las NIC de las máquinas virtuales
az network nic create \
--resource-group $RESOURCE_GROUP \
--name nic-1 \
--vnet-name $VNET_NAME \
--subnet subnet-1 \
--network-security-group nsg-1 \
--public-ip-address public-ip-1
az network nic create \
--resource-group $RESOURCE_GROUP \
--name nic-2 \
--vnet-name $VNET_NAME \
--subnet subnet-1 \
--network-security-group nsg-1 \
--public-ip-address public-ip-2
Creación de las máquinas virtuales
Nota:
Sustituye <your-ssh-public-key> por el contenido de tu archivo de clave pública SSH, o usa --generate-ssh-keys para crear un nuevo par de claves.
az vm create \
--resource-group $RESOURCE_GROUP \
--name vm-1 \
--nics nic-1 \
--image Ubuntu2404 \
--admin-username azureuser \
--generate-ssh-keys \
--no-wait
az vm create \
--resource-group $RESOURCE_GROUP \
--name vm-2 \
--nics nic-2 \
--image Ubuntu2404 \
--admin-username azureuser \
--generate-ssh-keys
El último comando espera a que se cree vm-2. Ambas máquinas virtuales están listas cuando el comando finaliza.
Instala NGINX en ambas máquinas virtuales
az vm run-command invoke \
--resource-group $RESOURCE_GROUP \
--name vm-1 \
--command-id RunShellScript \
--scripts "sudo apt-get update && sudo apt-get install -y nginx && echo 'Hello World from vm-1' | sudo tee /var/www/html/index.html"
az vm run-command invoke \
--resource-group $RESOURCE_GROUP \
--name vm-2 \
--command-id RunShellScript \
--scripts "sudo apt-get update && sudo apt-get install -y nginx && echo 'Hello World from vm-2' | sudo tee /var/www/html/index.html"
Recuperar las direcciones IP públicas
Fíjate en las direcciones IP de ambas máquinas virtuales. Los necesitarás al añadir puntos de conexión de Traffic Manager.
VM1_IP=$(az network public-ip show \
--resource-group $RESOURCE_GROUP \
--name public-ip-1 \
--query ipAddress \
--output tsv)
VM2_IP=$(az network public-ip show \
--resource-group $RESOURCE_GROUP \
--name public-ip-2 \
--query ipAddress \
--output tsv)
echo "vm-1 IP: $VM1_IP"
echo "vm-2 IP: $VM2_IP"
Crear el perfil de Traffic Manager
az network traffic-manager profile create \
--resource-group $RESOURCE_GROUP \
--name $TM_PROFILE_NAME \
--routing-method Priority \
--unique-dns-name tm-profile-$RANDOM
Añadir endpoints al perfil del Traffic Manager
az network traffic-manager endpoint create \
--resource-group $RESOURCE_GROUP \
--profile-name $TM_PROFILE_NAME \
--name tmendpoint-1 \
--type externalEndpoints \
--target $VM1_IP \
--priority 1
az network traffic-manager endpoint create \
--resource-group $RESOURCE_GROUP \
--profile-name $TM_PROFILE_NAME \
--name tmendpoint-2 \
--type externalEndpoints \
--target $VM2_IP \
--priority 2
Obtén el ID completo del recurso del perfil del Traffic Manager. Lo necesitas al crear el registro enlazado.
TM_PROFILE_ID=$(az network traffic-manager profile show \
--resource-group $RESOURCE_GROUP \
--name $TM_PROFILE_NAME \
--query id \
--output tsv)
echo "Traffic Manager profile ID: $TM_PROFILE_ID"
Crear el Registro Vinculado de Traffic Manager
Utiliza az network dns record-set a create con el parámetro --traffic-management-profile para crear el registro vinculado de Traffic Manager. El siguiente comando crea un registro A en el ápice de la zona (@).
Nota:
El --traffic-management-profile parámetro está disponible en CLI de Azure versión 2.60 y posterior, y requiere una versión de API que soporte registros enlazados con Traffic Manager (2024-06-01-previewo posterior).
az network dns record-set a create \
--resource-group <dns-zone-resource-group> \
--zone-name $DNS_ZONE \
--name "@" \
--traffic-management-profile $TM_PROFILE_ID
Nota:
Sustituye <dns-zone-resource-group> por el grupo de recursos que contiene tu zona Azure DNS. Esto puede diferir del grupo de recursos que contiene el perfil de Traffic Manager.
Para crear un Registro Enlazado del Gestor de Tráfico para un subdominio en lugar del ápice de la zona, sustituya "@" por el nombre del subdominio, por ejemplo "www":
az network dns record-set a create \
--resource-group <dns-zone-resource-group> \
--zone-name $DNS_ZONE \
--name "www" \
--traffic-management-profile $TM_PROFILE_ID
Verifica el registro vinculado
az network dns record-set a show \
--resource-group <dns-zone-resource-group> \
--zone-name $DNS_ZONE \
--name "@"
La salida incluye una trafficManagementProfile propiedad con el ID de recurso del perfil del Gestor de Tráfico, confirmando que el enlace está establecido:
{
"name": "@",
"properties": {
"trafficManagementProfile": {
"id": "/subscriptions/.../resourceGroups/test-rg/providers/Microsoft.Network/trafficManagerProfiles/tm-profile"
},
"TTL": 30,
...
}
}
Nota:
El valor TTL mostrado en la salida se hereda de la configuración DNS del perfil del Gestor de Tráfico. Se ignora cualquier valor TTL especificado durante la creación del registro.
Prueba el registro enlazado de Traffic Manager
Para probar la resolución de nombres, consulta directamente uno de los servidores de nombres de Azure DNS para tu zona. Primero, enumera los servidores de nombres de tu zona:
az network dns record-set ns show \
--resource-group <dns-zone-resource-group> \
--zone-name $DNS_ZONE \
--name "@" \
--query "nsRecords[0].nsdname" \
--output tsv
Utiliza el servidor de nombres devuelto con nslookup para probar la resolución:
nslookup contoso.com <name-server-from-above>
La respuesta contiene la dirección IP del endpoint saludable de mayor prioridad del Gestor de Tráfico, sin ningún registro CNAME en la respuesta. Esto confirma que los Registros Enlazados del Gestor de Tráfico devuelven direcciones IP directamente.
Conmutación por error de prueba
Navega por tu dominio. Deberías ver la página NGINX de VM-1.
Detener la VM vm-1:
az vm stop --resource-group $RESOURCE_GROUP --name vm-1Espera unos minutos a que Traffic Manager detecte el endpoint como poco saludable.
Vacía tu caché DNS local (
ipconfig /flushdnsen Windows,sudo dscacheutil -flushcacheen macOS) y vuelve a acceder a tu dominio. Ahora deberías ver la página de VM-2.Reinicia VM-1 para restaurar la configuración original:
az vm start --resource-group $RESOURCE_GROUP --name vm-1
Limpieza de recursos
Cuando ya no necesites los recursos creados en este tutorial, elimina el grupo de recursos y el registro DNS:
# Delete the resource group and all resources within it
az group delete --name $RESOURCE_GROUP --yes --no-wait
# Delete the Traffic Manager Linked Record from the DNS zone
az network dns record-set a delete \
--resource-group <dns-zone-resource-group> \
--zone-name $DNS_ZONE \
--name "@" \
--yes
Pasos siguientes
En este tutorial, creaste un Registro Enlazado del Gestor de Tráfico usando CLI de Azure. El registro vincula el ápice de tu zona DNS con un perfil de Traffic Manager, devolviendo direcciones IP directamente a los clientes.
- Infórmate más sobre Traffic Manager Linked Records.
- Crea un registro vinculado al Traffic Manager usando Azure PowerShell o el portal de Azure.
- Más información sobre los métodos de enrutamiento de Traffic Manager.
- Más información sobre Strictly Typed Profiles.