Übung: Einrichten einer Sandbox-Umgebung

Abgeschlossen

In dieser Lerneinheit richten Sie die Ressourcen ein, die Sie in diesem Modul verwenden. Stellen Sie sich eine grundlegende Architektur vor, die aus einem Server besteht, der eine Anwendung hostet, die Ihre Kunden verwenden. Der Server stellt eine Verbindung mit einer Datenbank für die Speicherung von Daten her. Die Anwendung wird auf einer VM ausgeführt. Die Datenbank wurde kürzlich von einer SQL Server-Datenbank, die auf einer VM ausgeführt wird, zu einer Datenbank im Azure SQL-Datenbank-Dienst migriert. Um Ihnen zu zeigen, wie Sie Ihre Datenbank sichern können, richten Sie die folgenden Ressourcen zur Verwendung in diesem Modul ein:

  • Eine Linux-VM namens appServer. Dieser Server fungiert als Anwendungsserver, mit dem Benutzer eine Verbindung herstellen würden. Er muss mit der Datenbank verbunden sein. Installieren Sie sqlcmd auf der VM, um eine Anwendung zu simulieren, die auf appServer ausgeführt wird und Verbindungen mit der Datenbank herstellt.
  • Ein logischer Azure SQL-Datenbankserver Dieser logische Server ist zum Hosten von Datenbanken erforderlich.
  • Eine Datenbank namens marketplaceDb auf Ihrem logischen Server. Diese erstellen Sie mithilfe der Demodatenbank AdventureWorksLT, sodass Sie über Tabellen und Daten verfügen, mit denen Sie arbeiten können. Diese Daten enthalten einige sensible Daten, wie z. B. E-Mail-Adressen und Telefonnummern, die Sie ordnungsgemäß sichern sollten.

Erstellen einer Azure SQL-Datenbank

  1. Richten Sie zunächst Variablen ein. Ersetzen Sie die folgenden in [] angezeigten Werte durch Werte Ihrer Wahl. [password] muss mindestens acht Zeichen aus mindestens drei der folgenden Kategorien enthalten: Großbuchstaben, Kleinbuchstaben, Ziffern und nicht-alphanumerische Zeichen. Speichern Sie den Wert zur späteren Verwendung.

    export ADMINLOGIN='[ServerAdmin]'
    export PASSWORD='[password]'
    export SERVERNAME=server$RANDOM
    export RESOURCEGROUP=<rgn>[sandbox resource group name]</rgn>
    export LOCATION=$(az group show --name $RESOURCEGROUP | jq -r '.location')
    
  2. Führen Sie den folgenden Befehl aus, um einen neuen logischen Azure SQL-Datenbankserver zu erstellen.

    az sql server create \
        --name $SERVERNAME \
        --resource-group $RESOURCEGROUP \
        --location $LOCATION \
        --admin-user $ADMINLOGIN \
        --admin-password $PASSWORD
    
  3. Führen Sie dann den folgenden Befehl aus, um die Datenbank marketplaceDb auf dem erstellten logischen Server zu erstellen. Dieser Befehl verwendet wird die Datenbank AdventureWorksLT als Vorlage, sodass Sie über vorab befüllte Tabellen verfügen.

    az sql db create --resource-group $RESOURCEGROUP \
        --server $SERVERNAME \
        --name marketplaceDb \
        --sample-name AdventureWorksLT \
        --service-objective Basic
    
  4. Führen Sie den folgenden Befehl aus, um die Verbindungszeichenfolge für diese Datenbank abzurufen.

    az sql db show-connection-string --client sqlcmd --name marketplaceDb --server $SERVERNAME | jq -r
    

    Ihre Ausgabe sollte in etwa wie das folgende Beispiel aussehen. Halten Sie diesen Befehl bereit, da Sie diesen Befehl später in diesem Modul zum Herstellen einer Verbindung mit Ihrer Datenbank benötigen. Beachten Sie die Platzhalter [username] und [password] im Befehl, die Sie durch die Anmeldeinformationen ADMINLOGIN und PASSWORD ersetzen sollten, die Sie zuvor in Variablen angegeben haben.

    sqlcmd -S tcp:server12345.database.windows.net,1433 -d marketplaceDb -U '[username]' -P '[password]' -N -l 30
    

Erstellen und Konfigurieren eines virtuellen Linux-Computers

Erstellen Sie jetzt die Linux-VM, die für einige Beispiele verwendet wird.

  1. Führen Sie den folgenden Befehl aus, um die VM zu erstellen. Die Ausführung dieses Befehls kann mehrere Minuten dauern.

    az vm create \
      --resource-group $RESOURCEGROUP \
      --name appServer \
      --image Ubuntu2204 \
      --size Standard_DS2_v2 \
      --public-ip-sku Standard \
      --generate-ssh-keys
    

    Wenn dieser Befehl ausgeführt wurde, sollte eine Ausgabe ähnlich der folgenden angezeigt werden:

    {
      "fqdns": "",
      "id": "/subscriptions/nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn/resourceGroups/learn-nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn/providers/Microsoft.Compute/virtualMachines/appServer",
      "location": "westus",
      "macAddress": "nn-nn-nn-nn-nn-nn",
      "powerState": "VM running",
      "privateIpAddress": "nn.nn.nn.nn",
      "publicIpAddress": "nnn.nnn.nnn.nnn",
      "resourceGroup": "learn-nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn",
      "zones": ""
    }
    
  2. Nachdem der virtuelle Computer erfolgreich erstellt wurde, stellen Sie über SSH eine Verbindung mit dessen öffentlicher IP-Adresse her.

    ssh nnn.nnn.nnn.nnn
    

    Dabei ist nnn.nnn.nnn.nnn der Wert der publicIpAddress-Ausgabe aus dem vorherigen Schritt.

    Hinweis

    Beachten Sie die folgenden beiden Punkte. Ein Kennwort ist zunächst nicht erforderlich, weil Sie das SSH-Schlüsselpaar während der Erstellung der VM generiert haben. Wenn zum ersten Mal über eine Shell auf die VM zugegriffen wird, werden Sie aufgefordert, die Echtheit des Hosts zu bestätigen. Diese Aufforderung erfolgt, weil Sie eine Verbindung mit einer IP-Adresse anstelle eines Hostnamens herstellen. Wenn Sie mit Ja antworten, wird die IP-Adresse als gültiger Host für die Verbindung gespeichert und die Verbindung wird hergestellt.

  3. Installieren Sie jetzt noch „mssql-tools“ auf der Linux-VM, damit Sie über „sqlcmd“ die Verbindung zu Ihrer Datenbank herstellen können.

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
    source ~/.bashrc
    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
    sudo apt-get update
    sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18 unixodbc-dev
    

    Hinweis

    Für einige dieser Befehle wird viel Text angezeigt. Stellen Sie also sicher, dass Sie nach dem letzten Befehl Enter drücken, um sicherzustellen, dass er ausgeführt wird.

Sie haben einen logischen Azure SQL-Datenbankserver, eine Datenbank auf diesem logischen Server und eine VM namens appServer erstellt, die zum Simulieren der Netzwerkkonnektivität eines Anwendungsservers dient. Sehen Sie sich als Nächstes an, wie Sie Ihre Datenbank ordnungsgemäß schützen.