Упражнение. Настройка среды песочницы
В этом уроке вы настроите ресурсы, используемые в этом модуле. Создайте базовую архитектуру, состоящую из сервера, на котором размещается приложение, используемое клиентами. Сервер подключается к базе данных для хранения данных. Приложение выполняется на виртуальной машине. База данных недавно перенесена из базы данных SQL Server, работающей на виртуальной машине, в базу данных в службе База данных SQL Azure. Чтобы узнать, как защитить базу данных, настройте следующие ресурсы для использования в этом модуле:
- Виртуальная машина Linux с именем appServer. Этот сервер выступает в качестве сервера приложений, к которому будут подключаться пользователи. Он должен подключиться к базе данных. Установите
sqlcmd
на виртуальной машине, чтобы имитировать приложение, работающее на сервере приложений , делая подключения к базе данных. - Логический сервер базы данных SQL Azure. Этот логический сервер необходим для размещения одной или нескольких баз данных.
- База данных на логическом сервере с именем MarketplaceDb. Вы создаете ее с помощью демонстрационной базы данных AdventureWorksLT , чтобы с ними работали некоторые таблицы и данные. Эти данные включают в себя некоторые конфиденциальные данные, такие как адреса электронной почты и номера телефонов, которые вы хотите правильно защитить.
Создание базы данных SQL Azure
Сначала настройте некоторые переменные. Замените значения ниже, показанные в скобках
[]
, значениями по своему усмотрению. Должен[password]
содержать по крайней мере восемь символов и содержать не менее трех из этих категорий: прописные символы, строчные буквы, цифры и нефазные цифры. Сохраните значение для последующего использования.export ADMINLOGIN='[ServerAdmin]' export PASSWORD='[password]' export SERVERNAME=[server-name] export RESOURCEGROUP=<rgn>[sandbox resource group name]</rgn> export LOCATION=$(az group show --name $RESOURCEGROUP | jq -r '.location')
Выполните следующую команду, чтобы создать логический сервер базы данных SQL Azure.
az sql server create \ --name $SERVERNAME \ --resource-group $RESOURCEGROUP \ --location $LOCATION \ --admin-user $ADMINLOGIN \ --admin-password $PASSWORD
Выполните следующую команду, чтобы создать базу данных с именем MarketplaceDb на созданном логическом сервере. Эта команда использует базу данных AdventureWorksLT в качестве шаблона, поэтому для работы с некоторыми предварительно заполненными таблицами.
az sql db create --resource-group $RESOURCEGROUP \ --server $SERVERNAME \ --name marketplaceDb \ --sample-name AdventureWorksLT \ --service-objective Basic
Выполните следующую команду, чтобы получить строка подключения для этой базы данных.
az sql db show-connection-string --client sqlcmd --name marketplaceDb --server $SERVERNAME | jq -r
Результат должен выглядеть примерно так. Оставить эту команду удобной, так как вам нужна эта команда для подключения к базе данных позже в этом модуле. Обратите внимание на
[username]
[password]
заполнители в команде, которую вы хотите заменитьADMINLOGIN
учетными данными,PASSWORD
указанными ранее в переменных.sqlcmd -S tcp:server12345.database.windows.net,1433 -d marketplaceDb -U '[username]' -P '[password]' -N -l 30
Создание и настройка виртуальной машины Linux
Создайте виртуальную машину Linux, которая будет использоваться с помощью некоторых примеров.
Выполните следующую команду для создания виртуальной машины. Выполнение этой команды может занять несколько минут.
az vm create \ --resource-group $RESOURCEGROUP \ --name appServer \ --image Ubuntu2204 \ --size Standard_DS2_v2 \ --public-ip-sku Standard \ --generate-ssh-keys
После выполнения этой команды должен отобразиться вывод, аналогичный приведенному ниже.
{ "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": "" }
После успешного создания виртуальной машины подключитесь к ее общедоступному IP-адресу с помощью SSH.
ssh nnn.nnn.nnn.nnn
Где
nnn.nnn.nnn.nnn
— это значениеpublicIpAddress
из предыдущего шага.Примечание.
Обратите внимание на два момента. Во-первых, вам не нужен пароль, так как вы создали пару ключей SSH в рамках создания виртуальной машины. Во-вторых, при первом подключении оболочки к виртуальной машине вам будет предложено проверить подлинность узла. Это происходит, так как вы подключаетесь к IP-адресу вместо имени узла. Ответ "Да" сохраняет IP-адрес в качестве допустимого узла для подключения и позволяет продолжить подключение.
Завершите работу, установив mssql-tools на виртуальной машине Linux, чтобы подключиться к базе данных через sqlcmd.
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
Примечание.
Много текста будет прокручиваться для некоторых из этих команд, поэтому убедитесь, что после окончательной команды выбран ввод , чтобы убедиться, что она выполняется.
Вы создали База данных SQL Azure логический сервер, базу данных на этом логическом сервере и виртуальную машину с именем appServer, которая имитирует сетевое подключение с сервера приложений. Затем ознакомьтесь с тем, как правильно защитить базу данных.