Tutorial: Bereitstellen einer Anwendung in Azure Spring Apps und Herstellen einer Verbindung mit Azure Database for MySQL Flexible Server mithilfe eines Dienstconnectors

In diesem Tutorial führen Sie die folgenden Aufgaben im Azure-Portal oder mit der Azure CLI aus. Beide Methoden werden in den folgenden Verfahren näher beschrieben.

  • Bereitstellen einer Instanz von Azure Spring Apps
  • Erstellen und Bereitstellen von Apps in Azure Spring Apps
  • Integrieren von Azure Spring Apps in Azure Database for MySQL mit dem Dienstconnector

Warnung

Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Der in diesem Verfahren beschriebene Authentifizierungsflow erfordert ein sehr hohes Maß an Vertrauen in die Anwendung und birgt Risiken, die bei anderen Flows nicht vorhanden sind. Sie sollten diesen Flow nur verwenden, wenn andere sicherere Flows (z. B. verwaltete Identitäten) nicht anwendbar sind.

Voraussetzungen

Bereitstellen einer Instanz von Azure Spring Apps

Im folgenden Verfahren verwenden Sie die Azure CLI-Erweiterung zum Bereitstellen einer Azure Spring Apps-Instanz.

  1. Aktualisieren der Azure CLI mit der Azure Spring Apps-Erweiterung.

    az extension update --name spring
    
  2. Melden Sie sich bei der Azure CLI an, und wählen Sie Ihr aktives Abonnement aus.

    az login
    az account list -o table
    az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
    
  3. Erstellen einer Ressourcengruppe zur Aufnahme Ihrer App und einer Instanz des Azure Spring Apps-Diensts.

    az group create --name ServiceConnector-tutorial-mysqlf --location eastus
    
  4. Erstellen Sie eine Instanz von Azure Spring Apps. Deren Name muss zwischen 4 und 32 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen des Namens der Azure Spring Apps-Instanz muss ein Buchstabe und das letzte Zeichen entweder ein Buchstabe oder eine Ziffer sein.

    az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
    

Erstellen einer Instanz von Azure Database for MySQL Flexible Server

Erstellen einer MySQL Flexible Server-Instanz. Ersetzen Sie im folgenden Befehl <admin-username> und <admin-password> durch Anmeldeinformationen Ihrer Wahl, um einen Administratorbenutzer für den flexiblen MySQL-Server zu erstellen. Der Administratorbenutzername darf nicht azure_superuser, azure_pg_admin, admin, administrator, root, guest oder public lauten. Er kann nicht mit pg_ beginnen. Das Kennwort muss zwischen 8 und 128 Zeichen aus drei der folgenden Kategorien enthalten: englische Großbuchstaben, englische Kleinbuchstaben, Zahlen und nicht alphanumerische Zeichen (z. B. !, #, %). Das Kennwort darf keinen username enthalten.

az mysql flexible-server create \
    --resource-group ServiceConnector-tutorial-mysqlf \
    --name mysqlf-server \
    --database-name mysqlf-db \
    --admin-user <admin-username> \
    --admin-password <admin-password>

Der Server wird mit den folgenden Standardwerten erstellt, sofern Sie diese nicht manuell überschreiben:

Einstellung Standardwert Beschreibung
Servername Systemgeneriert Ein eindeutiger Name, der Ihren Server für Azure-Datenbank für MySQL identifiziert.
sku-name GP_Gen5_2 Der Name der SKU. Folgt der Konvention „{Tarif}_{Computegeneration}_{virtuelle Kerne}“ in Kurzform. Der Standardwert ist ein Gen5-Server vom Typ „Universell“ mit zwei virtuellen Kernen. Weitere Informationen zu Preisen finden Sie auf unserer Seite mit den Preisen.
backup-retention 7 Gibt die Aufbewahrungsdauer für eine Sicherung an. Die Einheit ist Tage.
geo-redundant-backup Disabled Gibt an, ob georedundante Sicherungen für diesen Server aktiviert werden sollen.
location westus2 Der Azure-Standort für den Server.
ssl-enforcement Aktiviert Gibt an, ob SSL für diesen Server aktiviert werden soll.
storage-size 5120 Die Speicherkapazität des Servers (Einheit: MB).
version 5.7 Die MySQL-Hauptversion.

Hinweis

Standardmäßig wird die SKU „Standard_B1ms“ verwendet. Informationen zu Preisen finden Sie unter Azure Database for MySQL – Preise.

Hinweis

Weitere Informationen zum Befehl az mysql flexible-server create und den zugehörigen zusätzlichen Parametern finden Sie in der Dokumentation der Azure-Befehlszeilenschnittstelle.

Erstellen und Bereitstellen der App

  1. Erstellen Sie die App mit einem zugewiesenen öffentlichen Endpunkt. Wenn Sie beim Generieren des Azure Spring Apps-Projekts Java Version 11 ausgewählt haben, schließen Sie den Schalter --runtime-version=Java_11 ein.

    az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
    
  2. Führen Sie den Befehl az spring connection create aus, um die in Azure Spring Apps bereitgestellte Anwendung mit der MySQL Flexible Server-Datenbank zu verbinden. Ersetzen Sie die folgenden Platzhalter durch Ihre eigenen Informationen:

    az spring connection create mysql-flexible \
        --resource-group ServiceConnector-tutorial-mysqlf \
        --service my-azure-spring \
        --app hellospring \
        --target-resource-group ServiceConnector-tutorial-mysqlf \
        --server mysqlf-server \
        --database mysqlf-db \
        --secret name=<admin-username> secret=<admin-secret>
    
    Einstellung Beschreibung
    --resource-group Der Name der Ressourcengruppe, die die von Azure Spring Apps gehostete App enthält
    --service Der Name der Azure Spring Apps-Ressource
    --app Der Name der von Azure Spring Apps gehosteten Anwendung, die eine Verbindung mit dem Zieldienst herstellt
    --target-resource-group Der Name der Ressourcengruppe mit dem Speicherkonto.
    --server Der flexible MySQL-Server, mit dem Sie eine Verbindung herstellen möchten.
    --database Der Name der Datenbank, die Sie zuvor erstellt haben
    --secret name Der Benutzername des flexiblen MySQL-Servers.
    --secret Das Kennwort des flexiblen MySQL-Servers.

    Hinweis

    Wird die Fehlermeldung „Das Abonnement ist nicht für die Verwendung des Ressourcenanbieters "{0}" registriert.“ angezeigt, führen Sie az provider register -n Microsoft.ServiceLinker aus, um den Dienstconnector-Ressourcenanbieter zu registrieren. Führen Sie anschließend erneut den Verbindungsbefehl aus.

  3. Klonen des Beispielcodes

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. Erstellen Sie das Projekt mithilfe von Maven:

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. Stellen Sie die JAR-Datei target/demo-0.0.1-SNAPSHOT.jar für die App bereit.

    az spring app deploy \
        --name hellospring \
        --service my-azure-spring \
        --resource-group ServiceConnector-tutorial-mysqlf \
        --artifact-path target/demo-0.0.1-SNAPSHOT.jar
    
  6. Fragen Sie den App-Status nach der Bereitstellung mit dem folgenden Befehl ab:

    az spring app list  --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
    

    Die folgende Ausgabe sollte angezeigt werden:

    Name         Location    ResourceGroup                     Public Url                                                 Production Deployment    Provisioning State    CPU    Memory    Running Instance    Registered Instance    Persistent Storage    Bind Service Registry    Bind Application Configuration Service
    -----------  ----------  --------------------------------  ---------------------------------------------------------  -----------------------  --------------------  -----  --------  ------------------  ---------------------  --------------------  -----------------------  ----------------------------------------
    hellospring  eastus      ServiceConnector-tutorial-mysqlf  https://my-azure-spring-hellospring.azuremicroservices.io  default                  Succeeded             1      1Gi       1/1                 0/1                    -                     -
    
    

Nächste Schritte

Befolgen Sie die unten aufgeführten Tutorials, um mehr über Service Connector zu erfahren.