Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa esercitazione si crea un record collegato di Gestione traffico in DNS di Azure usando l'interfaccia della riga di comando di Azure-+. Un Record Collegato di Traffic Manager collega direttamente un record DNS a un profilo Gestione traffico di Azure, restituendo indirizzi IP ai client senza una risoluzione CNAME intermedia.
Important
I Record collegati di Gestione traffico sono attualmente in ANTEPRIMA. Vedi le Condizioni supplementari d'uso per le anteprime di Microsoft Azure per conoscere le condizioni legali applicabili alle funzionalità di Azure che sono in beta, in anteprima o non ancora rilasciate nella disponibilità generale.
Per una guida basata su portale, vedi Crea un Record Collegato del Traffic Manager usando il portale Azure. Per una panoramica concettuale, vedi Traffic Manager Linked Records Overview.
In questa esercitazione apprenderai a:
- Crea l'infrastruttura di rete e delle macchine virtuali.
- Crea un profilo Traffic Manager con endpoint.
- Crea un record collegato al Traffic Manager usando interfaccia della riga di comando di Azure.
- Provare il record collegato di Gestione traffico.
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Prerequisiti
Un account Azure con una sottoscrizione attiva.
interfaccia della riga di comando di Azure versione 2.60 o successiva installata localmente, oppure usa Azure Cloud Shell. Esegui
az --versionper verificare la versione. Per installare o aggiornare, vedere Installare interfaccia della riga di comando di Azure.Nome di dominio ospitato in DNS di Azure. Se non hai una zona DNS di Azure, creala e delega il tuo dominio ad DNS di Azure.
Note
In questa esercitazione viene usato
contoso.comcome nome di dominio di esempio. Sostituirecontoso.comcon il proprio nome di dominio.
È possibile utilizzare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione a Azure Cloud Shell.
Se preferisci eseguire localmente i comandi di riferimento della CLI, installa la CLI di Azure. Se si esegue in Windows o macOS, è consigliabile eseguire interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire il interfaccia della riga di comando di Azure in un contenitore Docker.
Se usi un'installazione locale, accedi all'interfaccia della riga di comando di Azure usando il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Eseguire l'autenticazione ad Azure con l'interfaccia della riga di comando di Azure.
Quando ti viene richiesto, installa l'estensione interfaccia della riga di comando di Azure al primo utilizzo. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con interfaccia della riga di comando di Azure.
Esegui az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, avviare az upgrade.
Impostare le variabili di ambiente
Imposta variabili per i nomi delle risorse e le posizioni utilizzate in questo tutorial per evitare di ripeterle in ogni comando.
RESOURCE_GROUP="test-rg"
LOCATION="eastus"
VNET_NAME="vnet-1"
TM_PROFILE_NAME="tm-profile"
DNS_ZONE="contoso.com"
Creare il gruppo di risorse
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Creare la rete virtuale
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
Creare macchine virtuali server Web
Crea due macchine virtuali Ubuntu con indirizzi IP pubblici da usare come endpoint del Traffic Manager.
Crea gli indirizzi IP pubblici
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
Creare il gruppo di sicurezza di rete
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
Creare le interfacce di rete della macchina virtuale
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
Creare le macchine virtuali
Note
Sostituisci <your-ssh-public-key> con il contenuto del tuo file di chiave pubblica SSH, oppure usalo --generate-ssh-keys per creare una nuova coppia di chiavi.
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
L'ultimo comando attende che vm-2 venga creato. Entrambe le VM sono pronte quando il comando ritorna.
Installa NGINX su entrambe le VM
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"
Recupera gli indirizzi IP pubblici
Nota gli indirizzi IP di entrambe le VM. Ne hai bisogno quando aggiungi endpoint di 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"
Crea il profilo del 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
Aggiungi endpoint al profilo di 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
Ottieni l'ID risorsa completo del profilo Traffic Manager. Ne hai bisogno durante la creazione del record collegato.
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"
Crea il record associato di Traffic Manager
Usa az network dns record-set a create con il --traffic-management-profile parametro per creare il Record Collegato del Traffic Manager. Il seguente comando crea un record A all'apice della zona (@).
Note
Il parametro --traffic-management-profile è disponibile in interfaccia della riga di comando di Azure versione 2.60 e successiva, e richiede l'API di anteprima dei Record Collegati del Traffic Manager (2024-06-01-previewo successiva).
az network dns record-set a create \
--resource-group <dns-zone-resource-group> \
--zone-name $DNS_ZONE \
--name "@" \
--traffic-management-profile $TM_PROFILE_ID
Note
Sostituisci <dns-zone-resource-group> con il gruppo di risorse che contiene la tua zona DNS di Azure. Questo può differire dal gruppo di risorse che contiene il profilo Traffic Manager.
Per creare un Record Collegato al Traffic Manager per un sottodominio invece dell'apice della zona, sostituisci "@" con il nome del sottodominio, ad "www"esempio:
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 il record collegato
az network dns record-set a show \
--resource-group <dns-zone-resource-group> \
--zone-name $DNS_ZONE \
--name "@"
L'output include la proprietà trafficManagementProfile con l'ID risorsa del profilo di Gestione traffico, a conferma che il collegamento è stato stabilito:
{
"name": "@",
"properties": {
"trafficManagementProfile": {
"id": "/subscriptions/.../resourceGroups/test-rg/providers/Microsoft.Network/trafficManagerProfiles/tm-profile"
},
"TTL": 30,
...
}
}
Note
Il valore TTL mostrato nell'output è ereditato dalla configurazione DNS del profilo Traffic Manager. Qualsiasi valore TTL specificato durante la creazione del record viene ignorato.
Testa il record collegato al Traffic Manager
Per testare la risoluzione dei nomi, consulta direttamente uno dei server di nomi DNS di Azure per la tua zona. Per prima cosa, elenca i server di nomi della tua 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
Utilizzare il server dei nomi restituito con nslookup per eseguire il test della risoluzione:
nslookup contoso.com <name-server-from-above>
La risposta contiene l'indirizzo IP dell'endpoint Traffic Manager sano con la priorità più alta—senza alcun record CNAME nella risposta. Questo conferma che i Record Collegati del Traffic Manager restituiscono direttamente gli indirizzi IP.
Failover di test
Naviga nel tuo dominio. Dovresti vedere la pagina NGINX per VM-1.
Ferma la VM-1 VM:
az vm stop --resource-group $RESOURCE_GROUP --name vm-1Aspetta qualche minuto che Traffic Manager rilevi l'endpoint come non sano.
Svuota la cache DNS locale (
ipconfig /flushdnssu Windows,sudo dscacheutil -flushcachesu macOS) e naviga di nuovo verso il tuo dominio. Dovrebbe essere visualizzata la pagina vm-2.Riavvia VM-1 per ripristinare la configurazione originale:
az vm start --resource-group $RESOURCE_GROUP --name vm-1
Pulire le risorse
Quando non hai più bisogno delle risorse create in questo tutorial, elimina il gruppo di risorse e il record 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
Passaggi successivi
In questo tutorial, hai creato un Record Collegato al Traffic Manager usando interfaccia della riga di comando di Azure. Il record collega l'apice della tua zona DNS a un profilo Traffic Manager, restituendo direttamente gli indirizzi IP ai client.
- Scopri di più sui Record Collegati al Traffic Manager.
- Crea un Record Collegato al Traffic Manager usando Azure PowerShell o il portale Azure.
- Leggere altre informazioni sui metodi di routing di Gestione traffico.
- Scopri di più su Strictly Typed Profiles.