Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku pokazano, jak utworzyć i połączyć aplikację Web App usługi Azure App Service z wystąpieniem usługi Azure Database for MySQL Flexible Server izolowanym w tych samych lub różnych sieciach wirtualnych.
Ten samouczek zawiera informacje na temat wykonywania następujących czynności:
- Tworzenie wystąpienia serwera elastycznego usługi Azure Database for MySQL w sieci wirtualnej
- Utworzyć podsieć na potrzeby delegowania do usługi App Service i utworzyć aplikację internetową
- Dodawanie aplikacji internetowej do sieci wirtualnej
- Nawiązywanie połączenia z usługą Azure Database for MySQL — elastyczny serwer z poziomu aplikacji internetowej
- Łączenie aplikacji internetowej i wystąpienia serwera elastycznego usługi Azure Database for MySQL izolowane w różnych sieciach wirtualnych
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure. Obecnie za pomocą bezpłatnego konta platformy Azure możesz wypróbować usługę Azure Database for MySQL — serwer elastyczny bezpłatnie przez 12 miesięcy. Aby uzyskać więcej informacji, zobacz Używanie bezpłatnego konta platformy Azure do bezpłatnego wypróbowania usługi Azure Database for MySQL — serwer elastyczny bezpłatnie.
Ten artykuł wymaga lokalnego uruchomienia interfejsu wiersza polecenia platformy Azure w wersji 2.0 lub nowszej. Aby sprawdzić zainstalowaną wersję, uruchom polecenie az --version. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Musisz zalogować się do konta przy użyciu polecenia az login . Zanotuj właściwość id z danych wyjściowych polecenia dla odpowiedniej nazwy subskrypcji.
az login
Jeśli masz wiele subskrypcji, wybierz odpowiednią subskrypcję, w ramach której powinny być naliczane opłaty za ten zasób. Wybierz określony identyfikator subskrypcji na Twoim koncie za pomocą polecenia az account set. Zastąp w symbolu zastępczym identyfikatora subskrypcji wartość właściwości subscription ID z danych wyjściowych polecenia az login dla swojej subskrypcji.
az account set --subscription <subscription ID>
Tworzenie wystąpienia serwera elastycznego usługi Azure Database for MySQL
Utwórz prywatne wystąpienie serwera elastycznego usługi Azure Database for MySQL w sieci wirtualnej przy użyciu następującego polecenia:
az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName
Skopiuj parametry połączenia i nazwę nowo utworzonej sieci wirtualnej. To polecenie wykonuje następujące akcje, które mogą potrwać kilka minut:
- Utwórz grupę zasobów, jeśli jeszcze nie istnieje.
- Generuje nazwę serwera, jeśli nie zostanie podana.
- Utwórz nową sieć
VNETNamewirtualną dla nowego wystąpienia serwera elastycznego usługi Azure Database for MySQL i podsieci w tej sieci wirtualnej dla wystąpienia serwera elastycznego usługi Azure Database for MySQL. Upewnij się, że nazwa jest unikatowa. - Tworzy nazwę użytkownika administratora , hasło dla serwera, jeśli nie zostanie podane.
- Tworzy pustą bazę danych o nazwie flexibleserverdb.
Uwaga
Zanotuj hasło wygenerowane dla Ciebie, jeśli nie zostanie podane. Jeśli zapomnisz hasło, musisz zresetować hasło przy użyciu az mysql flexible-server update polecenia .
Tworzenie podsieci dla punktu końcowego usługi App Service
Potrzebujesz teraz podsieci delegowanej do punktu końcowego aplikacji internetowej usługi App Service. Uruchom następujące polecenie, aby utworzyć nową podsieć w tej samej sieci wirtualnej, w której utworzono wystąpienie serwera elastycznego Azure Database for MySQL.
az network vnet subnet create -g myresourcegroup --vnet-name VNETName --name webappsubnetName --address-prefixes 10.0.1.0/24 --delegations Microsoft.Web/serverFarms --service-endpoints Microsoft.Web
Zanotuj nazwę sieci wirtualnej i nazwę podsieci po tym poleceniu, ponieważ wymagałoby dodania reguły integracji sieci wirtualnej dla aplikacji internetowej po jej utworzeniu.
Tworzenie aplikacji internetowej
W tej sekcji utworzysz hosta aplikacji w aplikacji usługi App Service i połączysz tę aplikację z bazą danych serwera elastycznego usługi Azure Database for MySQL. Upewnij się, że znajdujesz się w katalogu głównym repozytorium kodu aplikacji w terminalu.
Utwórz aplikację App Service (proces hosta) za pomocą polecenia az webapp up.
az webapp up --resource-group myresourcegroup --location westus2 --plan testappserviceplan --sku P2V2 --name mywebapp
Uwaga
- W przypadku argumentu --location użyj tej samej lokalizacji, co w przypadku bazy danych w poprzedniej sekcji.
- Zastąp <app-name> unikatową nazwą w całej platformie Azure (punkt końcowy serwera to
https://\<app-name>.azurewebsites.net). Dozwolone znaki dla <nazwy> aplikacji to A-Z, 0-9 i -. Dobrym wzorcem jest użycie kombinacji nazwy firmy i identyfikatora aplikacji. - Warstwa Podstawowa usługi App Service nie obsługuje integracji z siecią wirtualną. Użyj wersji Standard lub Premium.
To polecenie wykonuje następujące akcje, które mogą potrwać kilka minut:
- Utwórz grupę zasobów, jeśli jeszcze nie istnieje. (W tym poleceniu użyjesz tej samej grupy zasobów, w której utworzono wcześniej bazę danych).
- Utwórz plan usługi App Service
testappserviceplanw warstwie cenowej Basic (B1), jeśli nie istnieje. --plan i --sku są opcjonalne. - Utwórz aplikację usługi App Service, jeśli nie istnieje.
- Włącz domyślne rejestrowanie dla aplikacji, jeśli nie jest jeszcze włączone.
- Przekaż repozytorium przy użyciu wdrożenia ZIP z włączoną automatyzacją kompilacji.
Dodawanie aplikacji internetowej do sieci wirtualnej
Użyj polecenia az webapp vnet-integration, aby dodać regionalną integrację z siecią wirtualną do aplikacji internetowej. Zastąp <vnet-name> i <subnet-name nazwami sieci wirtualnej i podsieci używanymi przez wystąpienie usługi Azure Database for MySQL Flexible Server.
az webapp vnet-integration add -g myresourcegroup -n mywebapp --vnet VNETName --subnet webappsubnetName
Konfigurowanie zmiennych środowiskowych w celu nawiązania połączenia z bazą danych
Po wdrożeniu kodu w usłudze App Service następnym krokiem jest połączenie aplikacji z wystąpieniem serwera elastycznego usługi Azure Database for MySQL na platformie Azure. Kod aplikacji oczekuje znalezienia informacji o bazie danych w wielu zmiennych środowiskowych. Aby ustawić zmienne środowiskowe w usłudze App Service, należy utworzyć "ustawienia aplikacji" za az webapp config appsettings set pomocą polecenia .
az webapp config appsettings set --settings DBHOST="<mysql-server-name>.mysql.database.azure.com" DBNAME="flexibleserverdb" DBUSER="<username>" DBPASS="<password>"
- Zastąp ciąg <mysql-server-name>, <username> i <hasło> w poleceniu dotyczącym nowo utworzonego serwera Azure Database for MySQL Flexible Server.
- Zastąp <nazwę użytkownika> i <hasło> poświadczeniami wygenerowanymi przez polecenie.
- Grupa zasobów i nazwa aplikacji są pobierane z buforowanych wartości w pliku .azure/config.
- Polecenie tworzy ustawienia o nazwach DBHOST, DBNAME, DBUSER i DBPASS. Jeśli kod aplikacji używa innej nazwy informacji o bazie danych, użyj tych nazw dla ustawień aplikacji, jak wspomniano w kodzie.
Skonfiguruj aplikację internetową, aby zezwalać na wszystkie połączenia wychodzące z sieci wirtualnej.
az webapp config set --name mywebapp --resource-group myresourcesourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'
Aplikacja internetowa usługi App Service i instancja usługi Azure Database for MySQL Flexible Server w różnych sieciach wirtualnych
Jeśli utworzono aplikację usługi App Service i wystąpienie serwera elastycznego usługi Azure Database for MySQL w różnych sieciach wirtualnych, należy wykonać następujące dwa kroki, aby nawiązać bezproblemowe połączenie:
- Połącz dwie sieci VNet za pomocą komunikacji równorzędnej sieci wirtualnych (lokalnej lub globalnej). Zapoznaj się z przewodnikiem Łączenie sieci wirtualnych przy użyciu komunikacji równorzędnej sieci wirtualnych.
- Połącz prywatną strefę DNS wystąpienia usługi Azure Database for MySQL Flexible Server z siecią wirtualną (VNet) aplikacji internetowej za pomocą łączy sieci wirtualnej. Jeśli używasz witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure do tworzenia wystąpień serwera elastycznego usługi Azure Database for MySQL w sieci wirtualnej, nowa prywatna strefa DNS zostanie automatycznie aprowizowana w ramach subskrypcji przy użyciu podanej nazwy serwera. Przejdź do prywatnej strefy DNS wystąpienia usługi Azure Database for MySQL — Flexible Server i postępuj zgodnie z przewodnikiem Jak połączyć prywatną strefę DNS z siecią wirtualną, aby skonfigurować połączenie z siecią wirtualną.
Czyszczenie zasobów
Wyczyść wszystkie zasoby utworzone w samouczku przy użyciu następującego polecenia. To polecenie usuwa wszystkie zasoby w tej grupie zasobów.
az group delete -n myresourcegroup