Monitorování a škálování instance flexibilního serveru Azure Database for MySQL pomocí Azure CLI
PLATÍ PRO: Flexibilní server Azure Database for MySQL
Tento ukázkový skript rozhraní příkazového řádku škáluje výpočetní prostředky, úložiště a IOPS pro jeden flexibilní server Azure Database for MySQL po dotazování odpovídajících metrik. Výpočetní prostředky a IOPS je možné vertikálně navýšit nebo snížit, zatímco úložiště je možné vertikálně navýšit.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure, než začnete. V současné době můžete s bezplatným účtem Azure vyzkoušet flexibilní server Azure Database for MySQL zdarma po dobu 12 měsíců. Další informace najdete v tématu Bezplatné vyzkoušení flexibilního serveru Azure Database for MySQL.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Ukázkový skript
Spuštění služby Azure Cloud Shell
Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.
Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete spustit také na samostatné kartě prohlížeče na adrese https://shell.azure.com.
Po otevření Cloud Shellu ověřte, že je pro vaše prostředí vybraný Bash . Následující relace budou používat Azure CLI v prostředí Bash, výběrem možnosti Kopírovat zkopírujte bloky kódu, vložte ho do Cloud Shellu a stisknutím klávesy Enter ho spusťte.
Přihlášení k Azure
Cloud Shell se automaticky ověřuje pod počátečním přihlášeným účtem. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte <Subscription ID>
ID předplatného Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Další informace najdete v tématu Nastavení aktivního předplatného nebo interaktivního přihlášení.
Spuštění skriptu
# Monitor your MySQLFlexible Server and scale compute, storage, and IOPS
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
subscriptionId="$(az account show --query id -o tsv)"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="monitor-and-scale-mysql"
server="msdocs-mysql-server-$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
ipAddress="None"
# 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
# Create a MySQL Flexible server in the resource group
echo "Creating $server"
az mysql flexible-server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --public-access $ipAddress
# 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
# Monitor CPU percent, storage usage and IO percent
# Monitor CPU Usage metric
echo "Monitor CPU usage"
az monitor metrics list \
--resource "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforMySQL/flexibleservers/$server" \
--metric cpu_percent \
--interval PT1M
# Monitor Storage usage metric
echo "Monitor storage usage"
az monitor metrics list \
--resource "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforMySQL/flexibleservers/$server" \
--metric storage_used \
--interval PT1M
# Monitor IO Percent
echo "Monitor I/O percent"
az monitor metrics list \
--resource "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforMySQL/flexibleservers/$server" \
--metric io_consumption_percent \
--interval PT1M
# Scale up the server by provisionining to higher tier from Burstable to General purpose 4vcore
echo "Scale up to Standard_D4ds_v4"
az mysql flexible-server update \
--resource-group $resourceGroup \
--name $server \
--sku-name Standard_D4ds_v4 \
--tier GeneralPurpose
# Scale down to by provisioning to General purpose 2vcore within the same tier
echo "Scale down to Standard_D2ds_v4"
az mysql flexible-server update \
--resource-group $resourceGroup \
--name $server \
--sku-name Standard_D2ds_v4
# Scale up the server to provision a storage size of 64GB. Note storage size cannot be reduced.
echo "Scale up storage to 64 GB"
az mysql flexible-server update \
--resource-group $resourceGroup \
--name $server \
--storage-size 64
# Scale IOPS
echo "Scale IOPS to 550"
az mysql flexible-server update \
--resource-group $resourceGroup \
--name $server \
--iops 550
Vyčištění prostředků
Pomocí následujícího příkazu odeberte skupinu prostředků a všechny prostředky přidružené k ní pomocí příkazu az group delete – pokud tyto prostředky nepotřebujete. Vytvoření některých z těchto prostředků a odstranění může chvíli trvat.
az group delete --name $resourceGroup
Ukázkový odkaz
Tento skript používá následující příkazy. Každý příkaz v tabulce odkazuje na příslušnou část dokumentace.
Příkaz | Poznámky |
---|---|
az group create | Vytvoří skupinu prostředků, ve které jsou uložené všechny prostředky. |
az mysql flexible-server create | Vytvoří flexibilní server, který hostuje databáze. |
az monitor metrics list | Vypíše hodnotu metriky azure Monitoru pro prostředky. |
az mysql flexible-server update | Aktualizuje vlastnosti flexibilního serveru. |
az mysql flexible-server delete | Odstraní flexibilní server. |
az group delete | Odstraní skupinu prostředků včetně všech vnořených prostředků. |
Další kroky
- Vyzkoušejte další skripty: Ukázky Azure CLI pro flexibilní server Azure Database for MySQL
- Další informace o Azure CLI najdete v dokumentaci k Azure CLI.