Implementowanie funkcji Oracle Data Guard na maszynie wirtualnej platformy Azure opartej na systemie Linux
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux
Interfejs wiersza polecenia platformy Azure może służyć do tworzenia zasobów platformy Azure i zarządzania nimi z poziomu wiersza polecenia lub skryptów. W tym artykule opisano sposób wdrażania bazy danych Oracle Database 19c Release 3 z obrazu Azure Marketplace za pomocą interfejsu wiersza polecenia platformy Azure. W tym artykule przedstawiono instrukcje krok po kroku dotyczące instalowania i konfigurowania funkcji Data Guard na maszynie wirtualnej platformy Azure. Aby ułatwić zabezpieczanie środowiska, żadne porty nie będą publicznie dostępne, a wystąpienie usługi Azure Bastion zapewni dostęp do maszyn wirtualnych Oracle.
Przed rozpoczęciem upewnij się, że interfejs wiersza polecenia platformy Azure jest zainstalowany. Aby uzyskać więcej informacji, zobacz przewodnik instalacji interfejsu wiersza polecenia platformy Azure.
Przygotowywanie środowiska
Założenia
Aby zainstalować program Oracle Data Guard, należy utworzyć dwie maszyny wirtualne platformy Azure w tym samym zestawie dostępności:
- Podstawowa maszyna wirtualna (
OracleVM1
) ma uruchomione wystąpienie Oracle. - Maszyna wirtualna rezerwowa (
OracleVM2
) ma zainstalowane tylko oprogramowanie Oracle.
Obraz Azure Marketplace używany do tworzenia maszyn wirtualnych to Oracle:oracle-database-19-3:oracle-database-19-0904:latest
.
Uwaga
Należy pamiętać o wersjach, które osiągnęły koniec życia (EOL) i nie są już obsługiwane przez system Red Hat. Przekazane obrazy, które znajdują się poza EOL, będą obsługiwane na podstawie rozsądnych wysiłków biznesowych. Aby uzyskać więcej informacji, zobacz stronę internetową red hat dotyczącą cykli życia produktów.
Logowanie do platformy Azure
Zaloguj się do subskrypcji platformy Azure przy użyciu polecenia az login i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
az login
Ustawianie zmiennych środowiskowych
Dostosuj zmienną LOCATION
dla środowiska:
LOCATION=eastus
RESOURCE_GROUP="Oracle-Lab"
VM_USERNAME="azureuser"
VM_PASSWORD="OracleLab123"
VNET_NAME="${RESOURCE_GROUP}VNet"
Włączanie rozszerzenia usługi Azure Bastion
Dołącz rozszerzenie usługi Azure Bastion do interfejsu wiersza polecenia platformy Azure:
az extension add \
--name bastion
Tworzenie grupy zasobów
Utwórz grupę zasobów za pomocą polecenia az group create. Grupa zasobów platformy Azure to logiczny kontener, w którym zasoby platformy Azure są wdrażane i zarządzane.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Tworzenie sieci wirtualnej z dwiema podsieciami
Utwórz sieć wirtualną, w której połączysz wszystkie usługi obliczeniowe. Jedna podsieć będzie hostować usługę Azure Bastion— usługę platformy Azure, która pomaga chronić bazy danych przed dostępem publicznym. Druga podsieć będzie hostować dwie maszyny wirtualne bazy danych Oracle.
Ponadto utwórz sieciową grupę zabezpieczeń, do której będą odwoływać się wszystkie usługi, aby określić, które porty są uwidocznione publicznie. Zostanie uwidoczniony tylko port 443. Usługa Azure Bastion otworzy ten port automatycznie podczas tworzenia tego wystąpienia usługi.
az network vnet create \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--name $VNET_NAME \
--address-prefix "10.0.0.0/16"
az network vnet subnet create \
--resource-group $RESOURCE_GROUP \
--name AzureBastionSubnet \
--vnet-name $VNET_NAME \
--address-prefixes 10.0.0.0/24
az network vnet subnet create \
--resource-group $RESOURCE_GROUP \
--name OracleSubnet \
--vnet-name $VNET_NAME \
--address-prefixes 10.0.1.0/24
az network nsg create \
--name OracleVM-NSG \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Tworzenie zestawu dostępności
Tworzenie zestawu dostępności jest opcjonalne, ale zalecamy. Aby uzyskać więcej informacji, zobacz wytyczne dotyczące zestawów dostępności platformy Azure.
az vm availability-set create \
--resource-group $RESOURCE_GROUP \
--name OracleVMAvailabilitySet \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
Tworzenie dwóch maszyn wirtualnych
Utwórz dwie maszyny wirtualne za pomocą polecenia az vm create . Poniższy przykład tworzy maszyny wirtualne o nazwach OracleVM1
i OracleVM2
.
Utwórz OracleVM1
(podstawowy):
az vm create \
--resource-group $RESOURCE_GROUP \
--name OracleVM1 \
--availability-set OracleVMAvailabilitySet \
--image Oracle:oracle-database-19-3:oracle-database-19-0904:latest \
--size Standard_DS1_v2 \
--authentication-type password \
--admin-username $VM_USERNAME \
--admin-password $VM_PASSWORD \
--vnet-name $VNET_NAME \
--subnet OracleSubnet \
--nsg OracleVM-NSG \
--os-disk-size-gb 32
Utwórz OracleVM2
(rezerwowy):
az vm create \
--resource-group $RESOURCE_GROUP \
--name OracleVM2 \
--availability-set OracleVMAvailabilitySet \
--image Oracle:oracle-database-19-3:oracle-database-19-0904:latest \
--size Standard_DS1_v2 \
--authentication-type password \
--admin-username $VM_USERNAME \
--admin-password $VM_PASSWORD \
--vnet-name $VNET_NAME \
--subnet OracleSubnet \
--nsg OracleVM-NSG \
--os-disk-size-gb 32
Tworzenie wystąpienia usługi Azure Bastion
Usługa Azure Bastion zapewnia bezpieczny tunel dla wszystkich usług hostowanych w sieci wirtualnej. Służy jako serwer przesiadkowy, aby wyeliminować bezpośredni dostęp do baz danych Oracle.
Utwórz publiczny adres IP, aby uzyskać dostęp do usługi Azure Bastion:
az network public-ip create \
--resource-group $RESOURCE_GROUP \
--name OracleLabBastionPublicIP \
--sku Standard
Utwórz wystąpienie usługi Azure Bastion:
az network bastion create \
--location $LOCATION \
--name OracleLabBastion \
--public-ip-address OracleLabBastionPublicIP \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_NAME \
--sku basic
Nawiązywanie połączenia z maszyną wirtualną
Teraz uzyskasz dostęp OracleVM1
przy użyciu usługi Azure Bastion z Azure Portal.
W polu wyszukiwania w górnej części okna wpisz OracleVM1. Na liście wyników wybierz pozycję OracleVM1 , aby otworzyć tę maszynę wirtualną.
W górnej części okienka wybierz pozycję Połącz>z usługą Bastion.
Wprowadź nazwę użytkownika i hasło, a następnie wybierz przycisk Połącz .
Zostanie otwarta nowa karta z bezpiecznym połączeniem z maszyną wirtualną, na której oprogramowanie Oracle jest już zainstalowane z obrazu Azure Marketplace.
Konfigurowanie maszyny OracleVM1 (podstawowa)
Wyłącz zaporę:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
oracle
Ustaw hasło użytkownika:
sudo passwd oracle
azureuser
Wprowadź hasło: OracleLab123
.
oracle
Zmień hasło użytkownika na OracleLab123
. (Wprowadź go ponownie, aby zweryfikować).
Tworzenie bazy danych na maszynie OracleVM1 (podstawowa)
Oprogramowanie Oracle jest już zainstalowane na obrazie Azure Marketplace, więc następnym krokiem jest zainstalowanie bazy danych.
Przejdź do superużytkownika Oracle:
sudo su - oracle
Utwórz bazę danych:
dbca -silent \
-createDatabase \
-datafileDestination /u01/app/oracle/cdb1 \
-templateName General_Purpose.dbc \
-gdbname cdb1 \
-sid cdb1 \
-responseFile NO_VALUE \
-characterSet AL32UTF8 \
-sysPassword OracleLab123 \
-systemPassword OracleLab123 \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName pdb1 \
-pdbAdminPassword OracleLab123 \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement false \
-storageType FS
Dane wyjściowe powinny wyglądać podobnie do następującej odpowiedzi:
Copying database files
1% complete
2% complete
8% complete
13% complete
19% complete
27% complete
Creating and starting Oracle instance
29% complete
32% complete
33% complete
34% complete
38% complete
42% complete
43% complete
45% complete
Completing Database Creation
48% complete
51% complete
53% complete
62% complete
70% complete
72% complete
Creating Pluggable Databases
78% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for further details.
ORACLE_SID
Ustaw zmienne iORACLE_HOME
:
$ ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1; export ORACLE_HOME
$ ORACLE_SID=cdb1; export ORACLE_SID
Opcjonalnie możesz dodać ORACLE_HOME
parametry i ORACLE_SID
do pliku /home/oracle/.bashrc , aby te ustawienia zostały zapisane na potrzeby przyszłych logowań:
# add oracle home
export ORACLE_HOME= /u01/app/oracle/product/19.0.0/dbhome_1
# add oracle sid
export ORACLE_SID=cdb1
Konfigurowanie funkcji Data Guard
Włączanie trybu dziennika archiwum na maszynie myVM1 (podstawowej)
Włącz tryb dziennika:
sqlplus / as sysdba
SQL> SELECT log_mode FROM v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
Włącz rejestrowanie wymuszone i upewnij się, że istnieje co najmniej jeden plik dziennika:
SQL> ALTER DATABASE FORCE LOGGING;
SQL> ALTER SYSTEM SWITCH LOGFILE;
Utwórz dzienniki ponownego utworzenia wstrzymania, ustawiając ten sam rozmiar i ilość co podstawowe dzienniki ponownego utworzenia bazy danych:
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo01.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo02.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo03.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo04.log') SIZE 200M;
Włącz funkcję Flashback (co znacznie ułatwia odzyskiwanie) i ustaw wartość STANDBY_FILE_MANAGEMENT
.AUTO
Zakończ pracę z bazą danych SQL*Plus po tym.
SQL> ALTER SYSTEM SET db_recovery_file_dest_size=50G scope=both sid='*';
SQL> ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/cdb1' scope=both sid='*';
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=BOTH;
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
SQL> EXIT;
Konfigurowanie usługi na maszynie OracleVM1 (podstawowa)
Edytuj lub utwórz plik tnsnames.ora , który znajduje się w folderze $ORACLE_HOME/network/admin .
Dodaj następujące wpisy:
cdb1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = cdb1)
)
)
cdb1_stby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = cdb1)
)
)
Edytuj lub utwórz plik listener.ora , który znajduje się w folderze $ORACLE_HOME/network/admin .
Dodaj następujące wpisy:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = cdb1_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
(SID_NAME = cdb1)
)
)
ADR_BASE_LISTENER = /u01/app/oracle
Włącz brokera funkcji Data Guard:
sqlplus / as sysdba
SQL> ALTER SYSTEM SET dg_broker_start=true;
SQL> CREATE pfile FROM spfile;
SQL> EXIT;
Skopiuj plik parametrów na serwer rezerwowy:
scp -p $ORACLE_HOME/dbs/initcdb1.ora oracle@OracleVM2:$ORACLE_HOME/dbs/
Uruchom odbiornik:
lsnrctl stop
lsnrctl start
Konfigurowanie usługi na maszynie OracleVM2 (rezerwa)
Wróć do witryny Azure Portal. Wyszukaj pozycję OracleVM2, a następnie wybierz zasób na liście wyników.
W górnej części okienka wybierz pozycję Połącz>z usługą Bastion.
Wprowadź nazwę użytkownika i hasło, a następnie wybierz przycisk Połącz .
Wyłączanie zapory na maszynie OracleVM2 (rezerwa)
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Konfigurowanie środowiska dla maszyny OracleVM1
oracle
Ustaw hasło użytkownika:
sudo passwd oracle
azureuser
Wprowadź hasło: OracleLab123
.
oracle
Zmień hasło użytkownika na OracleLab123
. (Wprowadź go ponownie, aby zweryfikować).
Przełącz się do superużytkownika oracle
:
$ sudo su – oracle
ORACLE_SID
Ustaw zmienne iORACLE_HOME
:
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=cdb1; export ORACLE_SID
Opcjonalnie możesz dodać ORACLE_HOME
plik ORACLE_SID
/home/oracle/.bashrc , aby te ustawienia były zapisywane dla przyszłych identyfikatorów logowania:
# add oracle home
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
# add oracle sid
export ORACLE_SID=cdb1
Edytuj lub utwórz plik tnsnames.ora , który znajduje się w folderze $ORACLE_HOME/network/admin .
Dodaj następujące wpisy:
cdb1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = cdb1)
)
)
cdb1_stby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = cdb1)
)
)
Edytuj lub utwórz plik listener.ora , który znajduje się w folderze $ORACLE_HOME/network/admin .
Dodaj następujące wpisy:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = cdb1_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
(SID_NAME = cdb1)
)
)
ADR_BASE_LISTENER = /u01/app/oracle
Uruchom odbiornik:
lsnrctl stop
lsnrctl start
Przywracanie bazy danych do maszyny OracleVM2 (rezerwa)
Utwórz plik parametrów /tmp/initcdb1_stby.ora z następującą zawartością:
*.db_name='cdb1'
Utwórz foldery:
$ mkdir -p /u01/app/oracle/cdb1
$ mkdir -p /u01/app/oracle/oradata/cdb1/pdbseed
$ mkdir -p /u01/app/oracle/oradata/cdb1/pdb1
$ mkdir -p /u01/app/oracle/fast_recovery_area/cdb1
$ mkdir -p /u01/app/oracle/admin/cdb1/adump
Utwórz plik hasła:
$ orapwd file=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/orapwcdb1 password=OracleLab123 entries=10 force=y
Uruchom bazę danych w usłudze OracleVM2
:
export ORACLE_SID=cdb1
sqlplus / as sysdba
SQL> CREATE spfile from pfile;
SQL> STARTUP NOMOUNT PFILE='/tmp/initcdb1_stby.ora';
SQL> EXIT;
Przywróć bazę danych przy użyciu narzędzia Oracle Recovery Manager (RMAN):
$ rman TARGET sys/OracleLab123@cdb1 AUXILIARY sys/OracleLab123@cdb1_stby
Uruchom następujące polecenia w narzędziu RMAN:
DUPLICATE TARGET DATABASE
FOR STANDBY
FROM ACTIVE DATABASE
DORECOVER
SPFILE
SET db_unique_name='CDB1_STBY' COMMENT 'Is standby'
NOFILENAMECHECK;
Komunikaty podobne do następujących są wyświetlane po zakończeniu poleceń:
media recovery complete, elapsed time: 00:00:00
Finished recover at 29-JUN-22
Finished Duplicate Db at 29-JUN-22
Zamknij program RMAN:
RMAN> EXIT;
Włącz brokera usługi Data Guard:
sqlplus / as sysdba
SQL> ALTER SYSTEM SET dg_broker_start=true;
SQL> EXIT;
Konfigurowanie brokera usługi Data Guard na maszynie OracleVM1 (podstawowa)
Uruchom menedżera funkcji Data Guard i zaloguj się przy użyciu systemu SYS i hasła. (Nie używaj uwierzytelniania systemu operacyjnego).
$ dgmgrl sys/OracleLab123@cdb1
DGMGRL for Linux: Version 19.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> CREATE CONFIGURATION my_dg_config AS PRIMARY DATABASE IS cdb1 CONNECT IDENTIFIER IS cdb1;
Configuration "my_dg_config" created with primary database "cdb1"
DGMGRL> ADD DATABASE cdb1_stby AS CONNECT IDENTIFIER IS cdb1_stby MAINTAINED AS PHYSICAL;
Database "cdb1_stby" added
DGMGRL> ENABLE CONFIGURATION;
Enabled.
Sprawdź konfigurację:
DGMGRL> SHOW CONFIGURATION;
Configuration - my_dg_config
Protection Mode: MaxPerformance
Members:
cdb1 - Primary database
cdb1_stby - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS (status updated 26 seconds ago)
Ukończono konfigurację funkcji Oracle Data Guard. W następnej sekcji pokazano, jak przetestować łączność i przełączyć się.
Łączenie bazy danych z maszyny klienckiej
Zaktualizuj plik tnsnames.ora na komputerze klienckim. Ten plik jest zwykle w $ORACLE_HOME/network/admin.
cdb1=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=OracleVM1)
(PORT=1521)
)
(CONNECT_DATA=
(SERVER=dedicated)
(SERVICE_NAME=cdb1)
)
)
cdb1_stby=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=OracleVM2)
(PORT=1521)
)
(CONNECT_DATA=
(SERVER=dedicated)
(SERVICE_NAME=cdb1_stby)
)
)
Uruchom program SQL*Plus:
$ sqlplus sys/OraPasswd1@cdb1
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
Testowanie konfiguracji funkcji Data Guard
Przełączanie bazy danych na maszynie OracleVM1 (podstawowa)
Przełącz się z podstawowego na rezerwowy (cdb1
do cdb1_stby
):
$ dgmgrl sys/OracleLab123@cdb1
DGMGRL for Linux: Version 19.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> SWITCHOVER TO cdb1_stby;
Performing switchover NOW, please wait...
Operation requires a connection to instance "cdb1" on database "cdb1_stby"
Connecting to instance "cdb1"...
Connected as SYSDBA.
New primary database "cdb1_stby" is opening...
Operation requires start up of instance "cdb1" on database "cdb1"
Starting instance "cdb1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "cdb1_stby"
DGMGRL>
Teraz możesz nawiązać połączenie z bazą danych rezerwowych. Uruchom program SQL*Plus:
$ sqlplus sys/OracleLab123@cdb1_stby
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
Przełączanie bazy danych na maszynie OracleVM2 (rezerwa)
Aby przełączyć się, uruchom następujący kod w systemie OracleVM2
:
$ dgmgrl sys/OracleLab123@cdb1_stby
DGMGRL for Linux: Version 190.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> SWITCHOVER TO cdb1;
Performing switchover NOW, please wait...
Operation requires a connection to instance "cdb1" on database "cdb1"
Connecting to instance "cdb1"...
Connected as SYSDBA.
New primary database "cdb1" is opening...
Operation requires start up of instance "cdb1" on database "cdb1_stby"
Starting instance "cdb1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "cdb1"
Po raz kolejny powinno być możliwe nawiązanie połączenia z podstawową bazą danych. Uruchom program SQL*Plus:
$ sqlplus sys/OracleLab123@cdb1
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
Zakończono instalację i konfigurację funkcji Data Guard w systemie Oracle Linux.
Usuń maszynę wirtualną
Jeśli maszyny wirtualne nie są już potrzebne, możesz użyć następującego polecenia, aby usunąć grupę zasobów, maszyny wirtualne i wszystkie powiązane zasoby:
az group delete --name $RESOURCE_GROUP