Configurare la disponibilità elevata con ridondanza della zona in un'istanza del server flessibile Database di Azure per MySQL usando l'interfaccia della riga di comando di Azure

SI APPLICA A: Database di Azure per MySQL - Server flessibile

Questo script dell'interfaccia della riga di comando di esempio configura e gestisce la disponibilità elevata con ridondanza della zona in un server flessibile Database di Azure per MySQL. È possibile abilitare la disponibilità elevata con ridondanza della zona solo durante la creazione del server flessibile e disabilitarla in qualsiasi momento. È anche possibile scegliere la zona di disponibilità per la replica primaria e di standby.

Attualmente, la disponibilità elevata con ridondanza della zona è supportata solo per i piani tariffari Per utilizzo generico e Business Critical.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare. Attualmente, con un account gratuito di Azure, è possibile provare il server flessibile di Database MySQL di Azure gratuitamente per 12 mesi. Per altre informazioni, vedere Prova gratuitamente il server flessibile di Database MySQL di Azure.

Prerequisiti

Script di esempio

Avviare Azure Cloud Shell

Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Per aprire Cloud Shell, basta selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile avviare Cloud Shell in una scheda separata del browser visitando https://shell.azure.com.

Quando si apre Cloud Shell, verificare che sia selezionato Bash per l'ambiente. Le sessioni successive useranno l'interfaccia della riga di comando di Azure in un ambiente Bash. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.

Accedere ad Azure

Cloud Shell viene autenticato automaticamente con l'account iniziale con cui è stato eseguito l'accesso. Usare lo script seguente per accedere usando una sottoscrizione diversa, sostituendo <Subscription ID> con l'ID sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Per altre informazioni, vedere Impostare la sottoscrizione attiva oppure Accedere in modo interattivo

Eseguire lo script

# Configure zone-redundant high availability

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="zone-redundant-ha-mysql"
server="msdocs-mysql-server-$randomIdentifier"
sku="Standard_D2ds_v4"
tier="GeneralPurpose"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
ipAddress="None"
primaryZone="1"
standbyZone="2"
# Specifying an IP address of 0.0.0.0 allows public access from any resources
# deployed within Azure to access your server. Setting it to "None" sets the server 
# in public access mode but does not create a firewall rule.
# For your public IP address, https://whatismyipaddress.com

echo "Using resource group $resourceGroup with login: $login, password: $password..."

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Enable Zone-redundant HA while creating a MySQL Flexible server in the resource group
# HA is not available for burstable tier
# Zone and standby-zone parameters are optional
# HA cannot be enabled post create

echo "Creating $server"
az mysql flexible-server create --name $server --resource-group $resourceGroup --location "$location" --sku-name $sku --tier $tier --admin-user $login --admin-password $password --public-access $ipAddress --high-availability ZoneRedundant --zone $primaryZone --standby-zone $standbyZone

# Optional: Add firewall rule to connect from all Azure services
# To limit to a specific IP address or address range, change start-ip-address and end-ip-address
echo "Adding firewall for IP address range"
az mysql flexible-server firewall-rule create --name $server --resource-group $resourceGroup --rule-name AllowAzureIPs --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

# Disable Zone-redundant HA
echo "Disabling zone redundant HA"
az mysql flexible-server update --resource-group $resourceGroup --name $server --high-availability Disabled

Pulire le risorse

Usare il seguente comando per rimuovere il gruppo di risorse e tutte le risorse associate usando il comando az group delete, a meno che non si abbia una necessità continua di queste risorse. La creazione e l'eliminazione di alcune di queste risorse può richiedere tempo.

az group delete --name $resourceGroup

Informazioni di riferimento per l'esempio

Questo script usa i comandi seguenti. Ogni comando della tabella include collegamenti alla documentazione specifica del comando.

Comando Note
az group create Crea un gruppo di risorse in cui vengono archiviate tutte le risorse
az mysql flexible-server create Crea un server flessibile che ospita i database.
az mysql flexible-server update Aggiorna un server flessibile.
az mysql flexible-server delete Elimina un server flessibile.
az group delete Consente di eliminare un gruppo di risorse incluse tutte le risorse annidate.

Passaggi successivi