Microsoft Windows Azure

Развертывание виртуальной машины из образа

Разбить на страницы
Показывать лекцию целиком

Войдите на портал управления Windows Azure (http://manage.windowsazure.com), используя учетные данные Windows Live ID.

Войдя на портал управления, нажмите кнопку New, расположенную в нижнем левом углу страницы, для открытия диалогового окна New form.

Выберите в открывшемся диалоге Virtual Machine. Выберите From Gallery.

(рис 16.1) Создание Virtual Machine

Обратите внимание, что в диалоговом окне VM OS Selection есть четыре опции отображения – All (все образа), Platform Images (галерея образов на платформе), My Images (образа, предоставленные клиентом) и My Disks (диски виртуальных машин). Выберите Windows Server 2008 R2 SP1, July 2012 и нажмите Next.

В диалоговом окне VM Configuration введите необходимые данные, выберите размер экземпляра (так как виртуальные машины требуют серьёзных ресурсов, выберите маленький экземпляр) и нажмите Next.

(рис 16.2) Конфигурация виртуальных машин

Выберите Create Availability Set и введите имя. Нажмите Next для начала развертывания виртуальной машины. Через некоторое время виртуальная машина будет запущена.

Теперь подключитесь к созданной виртуальной машине по Remote Desktop Connection.

Перейдите на портал управления Windows Azure и выберите созданную виртуальную машину. Нажмите кнопку Connect в панели управления внизу. После нажатия должен быть загружен файл .rdp с именем виртуальной машины. Запустите его и введите пароль администратора.

Войдя на виртуальную машину, вы увидите интерфейс той ОС, которую заказали для данной виртуальной машины.

Лабораторная работа №2: создание из собственного образа

Второй способ создания виртуальной машины: создать собственный образ и развернуть виртуальные машины из него. Это можно сделать на портале управления – как только вы создали виртуальную машину из преднастроенного образа, вы можете её настроить, после чего воспользоваться sysprep для Windows и waagent для Linux и нажать Capture, предварительно выключив эту виртуальную машину. Осуществить этот процесс можно оффлайн, создав VHD и загрузив его с использованием csupload.exe из Windows Azure SDK.

Поскольку вы уже развернули виртуальную машину в прошлой лабораторной работе, воспользуйтесь ей.

Перейдите на созданную виртуальную машину по RDP и откройте директорию Windows\System32\sysprep. Запустите sysprep, выберите опцию generalize и shutdown в качестве shutdown options. Нажмите ОК.

(рис 16.3) Запуск sysprep

После потери подключения к виртуальной машине подождите пару минут до ее выключения – следите за статусом машины на портале управления Windows Azure – после чего выберите виртуальную машину и нажмите на панели управления кнопку Capture.

В появившемся диалоговом окне введите имя образа. Отметьте "I have run Sysprep on the virtual machine". Нажмите ОК.

После окончания процесса созданная виртуальная машина будет удалена и появится новый образ в разделе Images.

Создайте новую виртуальную машину.

Нажмите кнопку New, расположенную в нижнем левом углу страницы, для открытия диалогового окна New form. Выберите в открывшемся диалоге Virtual Machine. Выберите From Gallery. Выберите ваш образ.

На следующих страницах Configuration заполните необходимые поля.

На странице Availability Sets выберите Create Availability Set. Нажмите ОК.

Создайте вторую виртуальную машину из того же образа, но укажите Connect to existing virtual machine.

На странице Availability Sets выберите созданный ранее Availability Set.

После того, как все будет создано и запущено, настройте для обеих машин конечные точки входа. Для этого перейдите на панель управления виртуальной машиной, на вкладку Endpoints. Нажмите Add Endpoint. На странице Specify Endpoint details введите http, 80,80.

Повторите настройку для второй виртуальной машины, указав на первой странице настройки Load-balance traffic on an existing endpoint и выбрав созданную точку входа.

Дождитесь окончания процессов обновления и нажмите на ссылку в поле DNS Name, чтобы убедиться в том, что IIS работает и балансирует нагрузку между двумя экземплярами нашего сервиса.

Лабораторная работа №3: загрузка собственного VHD

Третьей опцией является загрузка существующей виртуальной машины в VHD-формате с использованием csupload.exe либо VHDupload из комплекта Windows Azure Training Kit. В этой лабораторной работе вы будете использовать первую опцию.

Откройте на локальном компьютере консоль Disk Management: в меню Start наберите в строке поиска diskmgmt.msc и нажмите Enter.

В консоли Disk Management откройте меню Action и выберите Create VHD.

В диалоговом окне Create and Attach Virtual Hard Disk нажмите Browse, укажите расположение и имя будущего диска, после чего нажмите Save. Укажите размер диска Virtual hard disk size как 16 MB, Virtual hard disk format как Fixed size, после чего нажмите OK для создания и подсоединения виртуального жесткого диска. Обратите внимание на размер диска – вы создадите его как диск с данными, загрузите в облако, подключите к виртуальной машине и просмотрите его содержимое. Если же вы хотите создать диск с ОС, то достаточно создать диск большего размера, отформатировать его в NTFS и загрузить в облако.

Перед использованием нового диска вы должны инициализировать его: щелкните правой кнопкой мыши на иконке диска для созданного диска в нижней панели Disk Management и нажмите Initialize Disk.

В диалоговом окне Initialize Disk убедитесь, что выбран диск, соответствующий подсоединенному VHD, укажите MBR (Master Boot Record) и нажмите OK.

Щелкните правой кнопкой мыши на неразмеченной Unallocated области подсоединенного виртуального жесткого диска и нажмите New Simple Volume. В New Simple Volume Wizard нажмите Next. На следующей странице оставьте значение Simple volume size таким же - оно должно совпадать с Maximum disk space - и нажмите Next. Назначьте букву диска и нажмите Next. Выберите тип форматирования новой партиции. Укажите File system как NTFS, оставьте стандартное значение Allocation unit size и определите Volume label как OurVHD. Убедитесь, что вы включили опцию Perform a quick format и оставили выключенной Enable file and folder compression. Нажмите Next.

Проверьте информацию на странице Summary и нажмите Finish для создания нового тома.

Дождитесь окончания форматирования, которое должно занять несколько секунд. При включенном AutoPlay вам будет задан вопрос, необходимо ли просмотреть подсоединенный диск. В этом случае нажмите Open folder to view files. Если вопрос задан не будет, щелкните правой кнопкой мыши на томе в консоли Disk Management и нажмите Open. Оставьте окно открытым. Скопируйте туда несколько файлов.

Переключитесь в консоль Disk Management, щелкните правой кнопкой мыши на подсоединенном диске— щелкните на диске, а не на области партиции – и нажмите Detach VHD.

В диалоговом окне Detach Virtual Hard Disk убедитесь, что опция Delete the virtual hard disk file after removing the disk отключена, после чего нажмите OK.

Теперь вам необходимо загрузить виртуальный жесткий диск (VHD) в хранилище Windows Azure.

Перед загрузкой VHD вам нужно определить имя и ключ доступа к аккаунту – для этого зайдите на портал управления и выберите подписку, в которой будет развернуто ваше приложение. Выберите сервис хранилища из списка сервисов и запишите значения имени name (первый сегмент URL точки входа) и ключ доступа Primary Access Key, нажав на кнопку View (для копирования ключа в буфер используйте кнопку Copy to Clipboard). На новом портале можно посмотреть ключи, перейдя на аккаунт хранилища и нажав Manage Keys.

Откройте с правами администратора Windows Azure Command Prompt и перейдите в папку bin – в ней будет расположена утилита csupload, которой вы воспользуетесь для загрузки диска в облако.

Создайте сертификат с использованием утилиты makecert либо используя соответствующую оснастку в Visual Studio либо IIS.

makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"

Загрузите его с использованием портала управления Windows Azure в хранилище сертификатов Management Certificates. Скопируйте thumbnail загруженного сертификата. Таким образом у вас должны быть следующие данные: ID подписки, thumbnail сертификата, ключ для хранилища и имя аккаунта хранилища.

Выполните последовательно следующие команды:

csupload Set-Connection "SubscriptionID=<Subscriptionid>;CertificateThumbprint=<Thumbprint>;
ServiceManagementEndpoint=https://management.core.windows.net"

csupload.exe Add-Disk -Destination "http://[accountname].blob.core.windows.net/mydisks/mydisk.vhd"
 -Label ourvhd -LiteralPath "c:\temp\ourvhd.vhd"

Когда будет выведено сообщение "Disk 'ourvhd.vhd' is registered successfully", это будет означать, что ваш диск данных загружен в галерею образов.

Обратите внимание, что для загрузки образов виртуальных машин нужно пользоваться другими параметрами. Подробнее про csupload: http://msdn.microsoft.com/en-us/library/windowsazure/gg466228.aspx|

Перейдите обратно на новый портал управления Windows Azure на панель управления какой-либо виртуальной машиной. Нажмите Attach и подсоедините диск из хранилища, после чего войдите на виртуальную машину по RDP и обратите внимание на увеличившееся количество дисков. Эта функция позволяет быстро загружать в облако большие объемы данных, а также производить миграцию данных как в облако, так и из облака в локальную инфраструктуру.

Лабораторная работа №4: развертывание Linux

В этой лабораторной работе вы создадите виртуальную машину с Linux и подключитесь к ней по SSH.

Повторите последовательность действий по созданию образа из галереи образов, выбрав openSUSE 12.1. Все настройки оставьте без изменений.

Подключиться к созданной виртуальной машине можно с использованием стандартных средств – по ssh, vnc или с использованием putty (Windows). Для подключения перейдите на панель управления виртуальной машиной и скопируйте из панели Quick Glance все необходимые для подключения данные.

Запустите Putty и заполните необходимые поля информацией, полученной из панели Quick Glance.

(рис 16.4) Настройка PuTTY

Нажмите Open. На предупреждение безопасности нажмите Yes.

Введите свои учетные данные администратора.

Для того, чтобы создать образ из этой виртуальной машины, вам необходимо воспользоваться Windows Azure Linux Agent (waagent –deprovision). Для этого выполните команду sudo/usr/sbin/waagent –deprovision.

Выключите виртуальную машину, воспользовавшись кнопкой Shutdown на панели управления виртуальной машиной.

Лабораторная работа №5: настройка Active Directory

В ходе данной лабораторной работы вы научитесь разворачивать домен Active Directory в облаке и присоединять к нему новые виртуальные машины, а также познакомитесь с развертыванием нового сервиса Windows Azure Active Directory.

Для работы домену AD необходимо наличие постоянного IP-адреса, для клиентов же, которые будут использовать этот домен, необходим DNS-сервер в AD. Используемый по умолчанию в Windows Azure внутренний сервис DNS (iDNS) для решения данной задачи не подходит, так как IP-адреса, назначаемые каждой виртуальной машине, не постоянны. Для того, чтобы решить эту задачу, необходимо настроить виртуальную сеть, в пределах которой можно назначать определенные подсети определенным виртуальным машинам.

Сетевая конфигурация, используемая в данной лабораторной работе:

  • Виртуальная сеть ADVNET с префиксом адреса 192.168.0.0/16
  • Подсеть ADSubnet с префиксом адреса 192.168.1.0/24
  • Подсеть AppSubnet с префиксом адреса 192.168.2.0/24
  • Первым заданием является создание аффинной группы, которую будет использовать виртуальная сеть.

    Перейдите на https://manage.windowsazure.com/. Введите учетные данные вашего аккаунта Windows Azure. Перейдя на портал управления, нажмите Networks, Affinity Groups, Create.

    Назовите новую аффинную группу adag, введите описание и выберите Region. Нажмите ОК для создания аффинной группы.

    Создайте виртуальную сеть.

    На портале управления нажмите New | Network Services | Virtual Network | Custom Create.

    (рис 16.5) Создание виртуальной сети

    Назовите виртуальную сеть ADVNET, введите описание и нажмите ОК.

    Укажите значение Address Space как 192.168.0.0/16 и добавьте две подсети, ADSubnet с префиксом 192.168.1.0/24 и AppSubnet с префиксом 192.168.2.0/24.

    Не вносите изменений в конфигурацию DNS. Нажмите ОК.

    После создания сети получите данные вашей подписки. Для этого перейдите на https://windows.azure.com/download/publishprofile.aspx.

    В стартовом меню в режиме администратора запустите Windows Azure, Windows Azure PowerShell.

    Измените политику выполнения PowerShell на RemoteSigned, ответив на заданный вопрос Y и нажав Enter.

    Set-ExecutionPolicy RemoteSigned

    Командлет Set-ExecutionPolicy позволяет определить политику выполнения скриптов PowerShell. Всего существует четыре политики выполнения:

  • Restricted – Запрещены все скрипты, Windows PowerShell можно использовать только в интерактивном режиме.
  • AllSigned – Разрешено выполнение только подписанных надежным поставщиком скриптов.
  • RemoteSigned – Загруженные скрипты должны быть подписаны доверенным поставщиком перед их запуском.
  • Unrestricted – Разрешено выполнение всех скриптов.
  • С помощью следующего скрипта импортируйте файл настроек публикации и сгенерируйте XML-файл с учетными данными. Эти данные будут использованы позже для управления подпиской Windows Azure. Замените YOUR-PUBLISH-SETTINGS-PATH на путь, по которому вы сохранили файл настроек публикации, и выполните скрипт.

    Import-AzurePublishSettingsFile '[YOUR-PUBLISH-SETTINGS-PATH]'
    

    С помощью следующего скрипта получите имя подписки и имя аккаунта хранения.

    Get-AzureSubscription | select SubscriptionName
    Get-AzureStorageAccount | select StorageAccountName 
    

    С помощью следующего скрипта определите аккаунт хранилища, который будет использоваться.

    Set-AzureSubscription -SubscriptionName '[YOUR-SUBSCRIPTION-NAME]' -CurrentStorageAccount '[YOUR-STORAGE-ACCOUNT]'
    

    Разверните контроллер домена. Для этого создайте новую виртуальную машину из образа Windows Server 2008 R2 SP1. В качестве имени виртуальной машины используйте значение ad-dc. Выберите созданную ранее виртуальную сеть. Выберите ADSUBNET в выпадающем списке Virtual Network Subnets. Нажмите ОК.

    Дождитесь создания виртуальной машины. Нажмите на имени виртуальной машины и выберите Dashboard. Нажмите Attach, Attach Empty Disk.

    На странице Attach empty disk to virtual machine укажите значение Size в 20 GB и нажмите ОК для создания диска.

    Подключитесь по Remote Desktop Protocol к созданной виртуальной машине. Войдя в систему, запустите cmd и выполните команду IPConfig, чтобы получить IPv4 IP-адрес. Откройте Start | All Programs | Administrative Tools | Computer Management.

    Откройте Storage, Disk Management.

    Инициализируйте Disk 2, нажав OK в диалоговом окне Initialize Disk.

    (рис 16.6) Инициализация диска

    Нажмите правой кнопкой мыши на неразмеченном пространстве и нажмите New Simple Volume.

    (рис 16.7) Создание нового диска

    В New Simple Volume Wizard нажмите Next, оставьте стандартные значения на страницах Specify Volume Size и Assign Drive Letter or Path. На странице Format Partition укажите значение Volume label как DIT и нажмите Next.

    Нажмите Finish. После окончания форматирования диск будет готов к работе.

    Запустите процесс Active Directory Domain Services Installation Wizard, выполнив в командной строке команду DCPromo.

    Нажмите два раза Next.

    Выберите Create a domain in a new forest. Нажмите Next.

    (рис 16.8) Создание домена

    Назовите Forest Root Domain contoso.com и нажмите Next.

    Укажите функциональный уровень Windows Server 2008 R2. Нажмите Next.

    Когда появится соответствующая возможность, выберите Yes, the computer will use an IP address automatically assigned by a DHCP server (not recommended)

    (рис 16.9) Конфигурация IP-адреса

    Определите расположение папок Database, Log files и SYSVOL на недавно форматированном диске (например, F:\NTDS для Database, F:\NTDSLogs для Logs и F:\SYSVOL для SYSVOL). Нажмите Next.

    (рис 16.10) Настройка файлов (Active Directory)

    Введите тот же пароль, который использовали при развертывании первой машины. Нажмите Next.

    Нажмите Next. После окончания настройки ADDS выберите Restart Now.

    Присоедините новые виртуальные машины к домену. Для этого откройте в режиме администратора Start | All Programs | Windows Azure | Windows Azure PowerShell. Выполните следующий скрипт для получения имен доступных образов дисков ОС (обратите внимание на имя Windows Server 2008).

    Get-AzureVMImage | Select ImageName
    

    Выполните следующий скрипт для определения имени образа диска ОС для новой виртуальной машины.

    $imgName = '[OS-IMAGE-NAME]'
    

    Настройте DNS для виртуальной машины. Для этого вам понадобится виртуальная машина, созданная и настроенная для AD. Вставьте значения в соответствующие поля в следующим скрипте, используя IP-адрес, полученный в начале упражнения.

    $advmIP = '[AD-IP-ADDRESS]'
    $advmName = '[AD-VM-NAME]'
    # IP-адрес контроллера домена
    $dns1 = New-AzureDns -Name $advmName -IPAddress $advmIP
    

    Настройте новую виртуальную машину так, чтобы она автоматически входила в домен на стадии развертывания. Вставьте пароли в соответствующие поля.

    $vmName = 'advm1'
    $adminPassword = '[YOUR-PASSWORD]'
    $domainPassword = '[YOUR-PASSWORD]'
    $domainUser = 'administrator'
    $FQDomainName = 'contoso.com'
    $subNet = 'AppSubnet'
    # Настройка VM для автоматического входа в домен 
    $advm1 = New-AzureVMConfig -Name $vmName -InstanceSize Small -ImageName $imgName | 
                Add-AzureProvisioningConfig -WindowsDomain -Password $adminPassword `
                -Domain 'contoso' -DomainPassword $domainPassword `
                -DomainUserName $domainUser -JoinDomain $FQDomainName |
         Set-AzureSubnet -SubnetNames $subNet
    

    Примечание: Скрипт подразумевает, что вы используете имена домена и подсетей, приведенные в этой лабораторной работе. Если вы используете другие значения, вам может понадобиться внести некоторые изменения.

    Создайте новую виртуальную машину, используя настройки домена и DNS, определенные в предыдущих шагах. Замените поле на уникальное имя сервиса.

    $serviceName = '[YOUR-SERVICE-NAME]'
    $affinityGroup = 'adag'
    $adVNET = 'ADVNET'
    # Новый Cloud Service с настройками VNET и DNS 
    New-AzureVM -ServiceName $serviceName -AffinityGroup $affinityGroup `
                                    -VMs $advm1 -DnsSettings $dns1 -VNetName $adVNET
    

    Дождитесь развертывания виртуальной машины и подключитесь к ней. Войдя в систему, в окне Initial Configuration Tasks проверьте, что машина автоматически вошла в домен contoso.com.

    Лабораторная работа №6: развертывание SQL Server

    В этой лабораторной работе вы развернете простое веб-приложение ASP.NET MVC 4 на веб-сервер, расположенный в Windows Azure, с использованием SQL Server и балансировщика нагрузки, а также познакомитесь с командлетами PowerShell, которые можно использовать для целей автоматизации этих процессов.

    Разверните виртуальную машину и настройте балансировку нагрузки, а также разместите в облаке MVC4 приложение. Для этого создайте две новых виртуальных машины из образа Windows Server 2008 R2 SP1 с именами iisvm1 и iisvm2. При создании второй виртуальной машины укажите опцию Connect to existing Virtual Machine и укажите созданную первой машину. Так вы добавите новую виртуальную машину в Cloud Services, созданный для предыдущей виртуальной машины, что позволит этим машинам иметь прямой канал коммуникаций. После создания второй виртуальной машины создайте точку входа на 80 порту: нажмите на имени виртуальной машины iisvm1 и на Dashboard нажмите Endpoints. Выберите Add Endpoint. На Specify endpoint details укажите значение Name как webport, Protocol как TCP и Public Port с Private Port как 80. Нажмите ОК. Запустите процесс создания новой точки входа для второй виртуальной машины для реализации балансировки нагрузки. Выберите Add Endpoint, выберите Load Balance Traffic On An Existing Endpoint. Укажите созданную ранее точку входа и нажмите ОК. На New Endpoint Details укажите значение Name как webport и Private Port как 80. Нажмите на кнопку для создания точки входа. В Virtual Machines перейдите на Dashboard первой виртуальной машины (iisvm1) и нажмите Endpoints. Выберите webport. Убедитесь что значение Load Balancer равно Yes.

    Настройте IIS на обеих виртуальных машинах. Для этого подключитесь к первой из них и откройте Start | All Programs | Administrative Tools | Server Manager. Выберите Roles. Нажмите Add Roles. На Select Server Roles выберите Application Server и Web Server (IIS). Нажмите Add Required Features для установки необходимой функциональности и нажмите Next. На Select Role Services выберите для Application Server опцию Web Server (IIS) Support и убедитесь, что отмечен .NET Framework 3.5.1. Нажмите Add Required Role Services для установки необходимой функциональности и нажмите Next. На Confirm Installation Selections нажмите Install.

    Настройте таким же образом вторую виртуальную машину.

    Создайте новую виртуальную машину и установите SQL Server, после чего добавьте образа дисков к существующей виртуальной машине для того, чтобы разделить данные из логов, генерируемых SQL Server. Для этого создайте новую виртуальную машину из образа SQL Server 2012 с именем sqlvm1 и опцией Connect to existing Virtual Machine, указав первую виртуальную машину.

    Подключите два пустых диска с данными по 50 ГБ и инициализируйте их, подключившись к виртуальной машине. Назовите первый диск SQLData, второй – SQLLogs.

    Настройте SQL Server 2012.

    Для этого сначала создайте директории F:\Data, G:\Logs и G:\Backups.

    Откройте Start | All Programs | Microsoft SQL Server 2012 | SQL Server Management Studio. С учетной записью Windows подключите экземпляр SQL Server 2012 по умолчанию.

    Теперь необходимо обновить места хранения базы данных по умолчанию так, чтобы DATA и LOGS были разделены. Для этого нажмите правой кнопкой мыши на экземпляр SQL Server правой кнопкой мыши и нажмите Properties. На левой панели выберите Database Settings. Перейдите к разделу Database default locations и обновите значения по умолчанию, указав диски, которые вы подключили ранее.

    Нажмите правой кнопкой мыши на экземпляре SQL Server и нажмите Restart.

    Откройте Start | All Programs | Administrative Tools | Server Manager. В Server Manager нажмите Configure IE ESC в секции Security Information. В Internet explorer Enhanced Security выберите off для Administrators и нажмите OK.

    В данной лабораторной работе используется база данных .

    Нажмите правой кнопкой мыши на файл базы данных правой кнопкой мыши и откройте свойства. Нажмите unblock.

    Добавьте образец базы данных AdventureWorks на ваш SQL Server. Для этого откройте SQL Server Management Studio, подключитесь к (local) с учетной записью Windows. Найдите ваш экземпляр сервера SQL Server и разверните его.

    Нажмите правой кнопкой мыши на директории Databases и выберите Attach. В сведениях базы данных (database details) выберите строку AdventureWorks Log и нажмите Remove. Нажмите OK, чтобы присоединить базу данных.

    Создайте полнотекстовый каталог для базы данных. Для этого разверните Storage в базе данных AdventureWorks. Правой кнопкой мыши нажмите кнопку Full Text Catalogs и выберите New Full-Text Catalog.

    В диалоговом окне New Full-Text Catalog в пункте Name задайте значение AdventureWorksCatalog и нажмите OK.

    Правой кнопкой мыши нажмите на AdventureWorksCatalog и выберите Properties. Выберите пункт меню Tables/Views. Добавьте таблицу Production.Product в список Table/View objects assigned to the Catalog. Отметьте пункт Name в eligible columns и щелкните OK.

    Для добавления пользователя для MVC4 приложения, откройте Security вашего экземпляра SQL Server. Нажмите правой кнопкой мыши на Logins и нажмите New Login.

    В разделе General в пункте Login name введите AzureStore. Выберите опцию SQL Server authentication и в поле Password введите Azure$123.

    Снимите флажок в пункте Enforce password policy, чтобы не пришлось изменять пароль пользователя при первом входе, для параметра Default database укажите AdventureWorks.

    Перейдите в раздел User Mapping. Сопоставьте пользователя с базой данных AdventureWorks и щелкните OK.

    Разверните базу данных AdventureWorks внутри папки Databases. В папке Security разверните пункт Users и дважды нажмите на пользователе AzureStore.

    Выберите страницу Membership и отметьте роль db_owner для пользователя AzureStore, затем нажмите OK.

    Включите Mixed Mode Authentication для экземпляра SQL Server. Для этого в SQL Server Management Studio нажмите экземпляр сервера правой кнопкой мыши и выберите Properties.

    На правой панели выберите страницу Security, а затем выберите SQL Server and Windows Authentication mode в разделе Server Authentication. Нажмите OK.

    Перезапустите экземпляр SQL Server. Для этого нажмите экземпляр SQL Server правой кнопкой мыши и нажмите Restart.

    Чтобы разрешить приложению MVC4 доступ к базе данных SQL Server, в Windows Firewall необходимо добавить Inbound Rule для запросов SQL Server. Для этого откройте Windows Firewall with Advance Security в Start | All Programs | Administrative Tools.

    Выберите пункт Inbound Rules, нажмите на нем правой кнопкой мыши и выберите New Rule. В New Inbound Rule Wizard выберите Port в качестве Rule Type.

    На Protocols and Ports выберите Specific local ports и введите значение "1433". Нажмите Next.

    На шаге Action убедитесь, что выбрана опция Allow the connection и нажмите Next.

    На Profile оставьте значения по умолчанию и нажмите Next.

    Укажите значение Name правила для входящего подключения SQLServerRule и нажмите Finish.

    Настройка SQL Server 2012 закончена.

    Разверните ASP.NET MVC 4 приложение в IIS на виртуальной машине в Windows Azure. Для этого подключитесь к виртуальной машине .

    Распакуйте AzureStore.zip в Source\Assets\AzureStore.

    Откройте файл Web.config в папке AzureStore в Source\Assets в папке этой лабораторной. В конце файла замените код со строкой подключения на следующий код, заменив соответствующее поле имени SQL Server на имя вашего SQL Server.

    <connectionStrings>
        <add name="AdventureWorksEntities" connectionString="metadata=res://*/Models.AdventureWorks.csdl|res://*/
    Models.AdventureWorks.ssdl|res://*/Models.AdventureWorks.msl;
    provider=System.Data.SqlClient;provider connection string=quot;data source=
    [ENTER YOUR SQL SERVER NAME];initial catalog=AdventureWorks2012;Uid=AzureStore;Password=Azure$123;multipleactiveresultsets=True;
    App=EntityFrameworkquot;" providerName="System.Data.EntityClient" />
        <add name="DefaultConnection" connectionString=
    "Data Source=[ENTER YOUR SQL SERVER NAME];initial catalog=AdventureWorks2012;Uid=AzureStore;Password=Azure$123;
    MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
    </connectionStrings>
    

    Вернитесь в виртуальную машину и перейдите в директорию C:\inetpub\wwwroot, после чего скопируйте в эту директорию MVC4 приложение из директории Source\Assets\AzureStore.

    Откройте Start | All Programs | Administrative Tools | Internet Information Services (IIS) Manager.

    В панели Connections разверните Default Web Site. Вы должны увидеть скопированную папку AzureStore.

    Нажмите правой кнопкой мыши на папке AzureStore и нажмите Convert to Application.

    Выберите Application Pools и нажмите два раза на DefaultAppPool.

    В Edit Application Pool измените версию .Net Framework на v4.0 и нажмите OK.

    Повторите последовательность действий для второй виртуальной машины, созданной в первом упражнении (iisvm2).

    Проверьте работоспособность развернутого MVC4 приложения.

    Перейдите на http://[YOUR-SERVICE-NAME].cloudapp.net/AzureStore. Service Name - имя, созданное при создании виртуальных машин с IIS.

    (рис 16.11) Развертывание MVC-приложения

    В Search введите Classic и нажмите Search. После этого действия должен появиться список продуктов, чье имя удовлетворяет заданному критерию поиска.

    (рис 16.12) Поиск в MVC-приложении
    Страницы:

    Войдите на портал управления Windows Azure (http://manage.windowsazure.com), используя учетные данные Windows Live ID.

    Войдя на портал управления, нажмите кнопку New, расположенную в нижнем левом углу страницы, для открытия диалогового окна New form.

    Выберите в открывшемся диалоге Virtual Machine. Выберите From Gallery.

    (рис 16.1) Создание Virtual Machine

    Обратите внимание, что в диалоговом окне VM OS Selection есть четыре опции отображения – All (все образа), Platform Images (галерея образов на платформе), My Images (образа, предоставленные клиентом) и My Disks (диски виртуальных машин). Выберите Windows Server 2008 R2 SP1, July 2012 и нажмите Next.

    В диалоговом окне VM Configuration введите необходимые данные, выберите размер экземпляра (так как виртуальные машины требуют серьёзных ресурсов, выберите маленький экземпляр) и нажмите Next.

    (рис 16.2) Конфигурация виртуальных машин

    Выберите Create Availability Set и введите имя. Нажмите Next для начала развертывания виртуальной машины. Через некоторое время виртуальная машина будет запущена.

    Теперь подключитесь к созданной виртуальной машине по Remote Desktop Connection.

    Перейдите на портал управления Windows Azure и выберите созданную виртуальную машину. Нажмите кнопку Connect в панели управления внизу. После нажатия должен быть загружен файл .rdp с именем виртуальной машины. Запустите его и введите пароль администратора.

    Войдя на виртуальную машину, вы увидите интерфейс той ОС, которую заказали для данной виртуальной машины.

    Лабораторная работа №2: создание из собственного образа

    Второй способ создания виртуальной машины: создать собственный образ и развернуть виртуальные машины из него. Это можно сделать на портале управления – как только вы создали виртуальную машину из преднастроенного образа, вы можете её настроить, после чего воспользоваться sysprep для Windows и waagent для Linux и нажать Capture, предварительно выключив эту виртуальную машину. Осуществить этот процесс можно оффлайн, создав VHD и загрузив его с использованием csupload.exe из Windows Azure SDK.

    Поскольку вы уже развернули виртуальную машину в прошлой лабораторной работе, воспользуйтесь ей.

    Перейдите на созданную виртуальную машину по RDP и откройте директорию Windows\System32\sysprep. Запустите sysprep, выберите опцию generalize и shutdown в качестве shutdown options. Нажмите ОК.

    (рис 16.3) Запуск sysprep

    После потери подключения к виртуальной машине подождите пару минут до ее выключения – следите за статусом машины на портале управления Windows Azure – после чего выберите виртуальную машину и нажмите на панели управления кнопку Capture.

    В появившемся диалоговом окне введите имя образа. Отметьте "I have run Sysprep on the virtual machine". Нажмите ОК.

    После окончания процесса созданная виртуальная машина будет удалена и появится новый образ в разделе Images.

    Создайте новую виртуальную машину.

    Нажмите кнопку New, расположенную в нижнем левом углу страницы, для открытия диалогового окна New form. Выберите в открывшемся диалоге Virtual Machine. Выберите From Gallery. Выберите ваш образ.

    На следующих страницах Configuration заполните необходимые поля.

    На странице Availability Sets выберите Create Availability Set. Нажмите ОК.

    Создайте вторую виртуальную машину из того же образа, но укажите Connect to existing virtual machine.

    На странице Availability Sets выберите созданный ранее Availability Set.

    После того, как все будет создано и запущено, настройте для обеих машин конечные точки входа. Для этого перейдите на панель управления виртуальной машиной, на вкладку Endpoints. Нажмите Add Endpoint. На странице Specify Endpoint details введите http, 80,80.

    Повторите настройку для второй виртуальной машины, указав на первой странице настройки Load-balance traffic on an existing endpoint и выбрав созданную точку входа.

    Дождитесь окончания процессов обновления и нажмите на ссылку в поле DNS Name, чтобы убедиться в том, что IIS работает и балансирует нагрузку между двумя экземплярами нашего сервиса.

    Лабораторная работа №3: загрузка собственного VHD

    Третьей опцией является загрузка существующей виртуальной машины в VHD-формате с использованием csupload.exe либо VHDupload из комплекта Windows Azure Training Kit. В этой лабораторной работе вы будете использовать первую опцию.

    Откройте на локальном компьютере консоль Disk Management: в меню Start наберите в строке поиска diskmgmt.msc и нажмите Enter.

    В консоли Disk Management откройте меню Action и выберите Create VHD.

    В диалоговом окне Create and Attach Virtual Hard Disk нажмите Browse, укажите расположение и имя будущего диска, после чего нажмите Save. Укажите размер диска Virtual hard disk size как 16 MB, Virtual hard disk format как Fixed size, после чего нажмите OK для создания и подсоединения виртуального жесткого диска. Обратите внимание на размер диска – вы создадите его как диск с данными, загрузите в облако, подключите к виртуальной машине и просмотрите его содержимое. Если же вы хотите создать диск с ОС, то достаточно создать диск большего размера, отформатировать его в NTFS и загрузить в облако.

    Перед использованием нового диска вы должны инициализировать его: щелкните правой кнопкой мыши на иконке диска для созданного диска в нижней панели Disk Management и нажмите Initialize Disk.

    В диалоговом окне Initialize Disk убедитесь, что выбран диск, соответствующий подсоединенному VHD, укажите MBR (Master Boot Record) и нажмите OK.

    Щелкните правой кнопкой мыши на неразмеченной Unallocated области подсоединенного виртуального жесткого диска и нажмите New Simple Volume. В New Simple Volume Wizard нажмите Next. На следующей странице оставьте значение Simple volume size таким же - оно должно совпадать с Maximum disk space - и нажмите Next. Назначьте букву диска и нажмите Next. Выберите тип форматирования новой партиции. Укажите File system как NTFS, оставьте стандартное значение Allocation unit size и определите Volume label как OurVHD. Убедитесь, что вы включили опцию Perform a quick format и оставили выключенной Enable file and folder compression. Нажмите Next.

    Проверьте информацию на странице Summary и нажмите Finish для создания нового тома.

    Дождитесь окончания форматирования, которое должно занять несколько секунд. При включенном AutoPlay вам будет задан вопрос, необходимо ли просмотреть подсоединенный диск. В этом случае нажмите Open folder to view files. Если вопрос задан не будет, щелкните правой кнопкой мыши на томе в консоли Disk Management и нажмите Open. Оставьте окно открытым. Скопируйте туда несколько файлов.

    Переключитесь в консоль Disk Management, щелкните правой кнопкой мыши на подсоединенном диске— щелкните на диске, а не на области партиции – и нажмите Detach VHD.

    В диалоговом окне Detach Virtual Hard Disk убедитесь, что опция Delete the virtual hard disk file after removing the disk отключена, после чего нажмите OK.

    Теперь вам необходимо загрузить виртуальный жесткий диск (VHD) в хранилище Windows Azure.

    Перед загрузкой VHD вам нужно определить имя и ключ доступа к аккаунту – для этого зайдите на портал управления и выберите подписку, в которой будет развернуто ваше приложение. Выберите сервис хранилища из списка сервисов и запишите значения имени name (первый сегмент URL точки входа) и ключ доступа Primary Access Key, нажав на кнопку View (для копирования ключа в буфер используйте кнопку Copy to Clipboard). На новом портале можно посмотреть ключи, перейдя на аккаунт хранилища и нажав Manage Keys.

    Откройте с правами администратора Windows Azure Command Prompt и перейдите в папку bin – в ней будет расположена утилита csupload, которой вы воспользуетесь для загрузки диска в облако.

    Создайте сертификат с использованием утилиты makecert либо используя соответствующую оснастку в Visual Studio либо IIS.

    makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"
    

    Загрузите его с использованием портала управления Windows Azure в хранилище сертификатов Management Certificates. Скопируйте thumbnail загруженного сертификата. Таким образом у вас должны быть следующие данные: ID подписки, thumbnail сертификата, ключ для хранилища и имя аккаунта хранилища.

    Выполните последовательно следующие команды:

    csupload Set-Connection "SubscriptionID=<Subscriptionid>;CertificateThumbprint=<Thumbprint>;
    ServiceManagementEndpoint=https://management.core.windows.net"
    
    csupload.exe Add-Disk -Destination "http://[accountname].blob.core.windows.net/mydisks/mydisk.vhd"
     -Label ourvhd -LiteralPath "c:\temp\ourvhd.vhd"
    

    Когда будет выведено сообщение "Disk 'ourvhd.vhd' is registered successfully", это будет означать, что ваш диск данных загружен в галерею образов.

    Обратите внимание, что для загрузки образов виртуальных машин нужно пользоваться другими параметрами. Подробнее про csupload: http://msdn.microsoft.com/en-us/library/windowsazure/gg466228.aspx|

    Перейдите обратно на новый портал управления Windows Azure на панель управления какой-либо виртуальной машиной. Нажмите Attach и подсоедините диск из хранилища, после чего войдите на виртуальную машину по RDP и обратите внимание на увеличившееся количество дисков. Эта функция позволяет быстро загружать в облако большие объемы данных, а также производить миграцию данных как в облако, так и из облака в локальную инфраструктуру.

    Лабораторная работа №4: развертывание Linux

    В этой лабораторной работе вы создадите виртуальную машину с Linux и подключитесь к ней по SSH.

    Повторите последовательность действий по созданию образа из галереи образов, выбрав openSUSE 12.1. Все настройки оставьте без изменений.

    Подключиться к созданной виртуальной машине можно с использованием стандартных средств – по ssh, vnc или с использованием putty (Windows). Для подключения перейдите на панель управления виртуальной машиной и скопируйте из панели Quick Glance все необходимые для подключения данные.

    Запустите Putty и заполните необходимые поля информацией, полученной из панели Quick Glance.

    (рис 16.4) Настройка PuTTY

    Нажмите Open. На предупреждение безопасности нажмите Yes.

    Введите свои учетные данные администратора.

    Для того, чтобы создать образ из этой виртуальной машины, вам необходимо воспользоваться Windows Azure Linux Agent (waagent –deprovision). Для этого выполните команду sudo/usr/sbin/waagent –deprovision.

    Выключите виртуальную машину, воспользовавшись кнопкой Shutdown на панели управления виртуальной машиной.

    Лабораторная работа №5: настройка Active Directory

    В ходе данной лабораторной работы вы научитесь разворачивать домен Active Directory в облаке и присоединять к нему новые виртуальные машины, а также познакомитесь с развертыванием нового сервиса Windows Azure Active Directory.

    Для работы домену AD необходимо наличие постоянного IP-адреса, для клиентов же, которые будут использовать этот домен, необходим DNS-сервер в AD. Используемый по умолчанию в Windows Azure внутренний сервис DNS (iDNS) для решения данной задачи не подходит, так как IP-адреса, назначаемые каждой виртуальной машине, не постоянны. Для того, чтобы решить эту задачу, необходимо настроить виртуальную сеть, в пределах которой можно назначать определенные подсети определенным виртуальным машинам.

    Сетевая конфигурация, используемая в данной лабораторной работе:

  • Виртуальная сеть ADVNET с префиксом адреса 192.168.0.0/16
  • Подсеть ADSubnet с префиксом адреса 192.168.1.0/24
  • Подсеть AppSubnet с префиксом адреса 192.168.2.0/24
  • Первым заданием является создание аффинной группы, которую будет использовать виртуальная сеть.

    Перейдите на https://manage.windowsazure.com/. Введите учетные данные вашего аккаунта Windows Azure. Перейдя на портал управления, нажмите Networks, Affinity Groups, Create.

    Назовите новую аффинную группу adag, введите описание и выберите Region. Нажмите ОК для создания аффинной группы.

    Создайте виртуальную сеть.

    На портале управления нажмите New | Network Services | Virtual Network | Custom Create.

    (рис 16.5) Создание виртуальной сети

    Назовите виртуальную сеть ADVNET, введите описание и нажмите ОК.

    Укажите значение Address Space как 192.168.0.0/16 и добавьте две подсети, ADSubnet с префиксом 192.168.1.0/24 и AppSubnet с префиксом 192.168.2.0/24.

    Не вносите изменений в конфигурацию DNS. Нажмите ОК.

    После создания сети получите данные вашей подписки. Для этого перейдите на https://windows.azure.com/download/publishprofile.aspx.

    В стартовом меню в режиме администратора запустите Windows Azure, Windows Azure PowerShell.

    Измените политику выполнения PowerShell на RemoteSigned, ответив на заданный вопрос Y и нажав Enter.

    Set-ExecutionPolicy RemoteSigned

    Командлет Set-ExecutionPolicy позволяет определить политику выполнения скриптов PowerShell. Всего существует четыре политики выполнения:

  • Restricted – Запрещены все скрипты, Windows PowerShell можно использовать только в интерактивном режиме.
  • AllSigned – Разрешено выполнение только подписанных надежным поставщиком скриптов.
  • RemoteSigned – Загруженные скрипты должны быть подписаны доверенным поставщиком перед их запуском.
  • Unrestricted – Разрешено выполнение всех скриптов.
  • С помощью следующего скрипта импортируйте файл настроек публикации и сгенерируйте XML-файл с учетными данными. Эти данные будут использованы позже для управления подпиской Windows Azure. Замените YOUR-PUBLISH-SETTINGS-PATH на путь, по которому вы сохранили файл настроек публикации, и выполните скрипт.

    Import-AzurePublishSettingsFile '[YOUR-PUBLISH-SETTINGS-PATH]'
    

    С помощью следующего скрипта получите имя подписки и имя аккаунта хранения.

    Get-AzureSubscription | select SubscriptionName
    Get-AzureStorageAccount | select StorageAccountName 
    

    С помощью следующего скрипта определите аккаунт хранилища, который будет использоваться.

    Set-AzureSubscription -SubscriptionName '[YOUR-SUBSCRIPTION-NAME]' -CurrentStorageAccount '[YOUR-STORAGE-ACCOUNT]'
    

    Разверните контроллер домена. Для этого создайте новую виртуальную машину из образа Windows Server 2008 R2 SP1. В качестве имени виртуальной машины используйте значение ad-dc. Выберите созданную ранее виртуальную сеть. Выберите ADSUBNET в выпадающем списке Virtual Network Subnets. Нажмите ОК.

    Дождитесь создания виртуальной машины. Нажмите на имени виртуальной машины и выберите Dashboard. Нажмите Attach, Attach Empty Disk.

    На странице Attach empty disk to virtual machine укажите значение Size в 20 GB и нажмите ОК для создания диска.

    Подключитесь по Remote Desktop Protocol к созданной виртуальной машине. Войдя в систему, запустите cmd и выполните команду IPConfig, чтобы получить IPv4 IP-адрес. Откройте Start | All Programs | Administrative Tools | Computer Management.

    Откройте Storage, Disk Management.

    Инициализируйте Disk 2, нажав OK в диалоговом окне Initialize Disk.

    (рис 16.6) Инициализация диска

    Нажмите правой кнопкой мыши на неразмеченном пространстве и нажмите New Simple Volume.

    (рис 16.7) Создание нового диска

    В New Simple Volume Wizard нажмите Next, оставьте стандартные значения на страницах Specify Volume Size и Assign Drive Letter or Path. На странице Format Partition укажите значение Volume label как DIT и нажмите Next.

    Нажмите Finish. После окончания форматирования диск будет готов к работе.

    Запустите процесс Active Directory Domain Services Installation Wizard, выполнив в командной строке команду DCPromo.

    Нажмите два раза Next.

    Выберите Create a domain in a new forest. Нажмите Next.

    (рис 16.8) Создание домена

    Назовите Forest Root Domain contoso.com и нажмите Next.

    Укажите функциональный уровень Windows Server 2008 R2. Нажмите Next.

    Когда появится соответствующая возможность, выберите Yes, the computer will use an IP address automatically assigned by a DHCP server (not recommended)

    (рис 16.9) Конфигурация IP-адреса

    Определите расположение папок Database, Log files и SYSVOL на недавно форматированном диске (например, F:\NTDS для Database, F:\NTDSLogs для Logs и F:\SYSVOL для SYSVOL). Нажмите Next.

    (рис 16.10) Настройка файлов (Active Directory)

    Введите тот же пароль, который использовали при развертывании первой машины. Нажмите Next.

    Нажмите Next. После окончания настройки ADDS выберите Restart Now.

    Присоедините новые виртуальные машины к домену. Для этого откройте в режиме администратора Start | All Programs | Windows Azure | Windows Azure PowerShell. Выполните следующий скрипт для получения имен доступных образов дисков ОС (обратите внимание на имя Windows Server 2008).

    Get-AzureVMImage | Select ImageName
    

    Выполните следующий скрипт для определения имени образа диска ОС для новой виртуальной машины.

    $imgName = '[OS-IMAGE-NAME]'
    

    Настройте DNS для виртуальной машины. Для этого вам понадобится виртуальная машина, созданная и настроенная для AD. Вставьте значения в соответствующие поля в следующим скрипте, используя IP-адрес, полученный в начале упражнения.

    $advmIP = '[AD-IP-ADDRESS]'
    $advmName = '[AD-VM-NAME]'
    # IP-адрес контроллера домена
    $dns1 = New-AzureDns -Name $advmName -IPAddress $advmIP
    

    Настройте новую виртуальную машину так, чтобы она автоматически входила в домен на стадии развертывания. Вставьте пароли в соответствующие поля.

    $vmName = 'advm1'
    $adminPassword = '[YOUR-PASSWORD]'
    $domainPassword = '[YOUR-PASSWORD]'
    $domainUser = 'administrator'
    $FQDomainName = 'contoso.com'
    $subNet = 'AppSubnet'
    # Настройка VM для автоматического входа в домен 
    $advm1 = New-AzureVMConfig -Name $vmName -InstanceSize Small -ImageName $imgName | 
                Add-AzureProvisioningConfig -WindowsDomain -Password $adminPassword `
                -Domain 'contoso' -DomainPassword $domainPassword `
                -DomainUserName $domainUser -JoinDomain $FQDomainName |
         Set-AzureSubnet -SubnetNames $subNet
    

    Примечание: Скрипт подразумевает, что вы используете имена домена и подсетей, приведенные в этой лабораторной работе. Если вы используете другие значения, вам может понадобиться внести некоторые изменения.

    Создайте новую виртуальную машину, используя настройки домена и DNS, определенные в предыдущих шагах. Замените поле на уникальное имя сервиса.

    $serviceName = '[YOUR-SERVICE-NAME]'
    $affinityGroup = 'adag'
    $adVNET = 'ADVNET'
    # Новый Cloud Service с настройками VNET и DNS 
    New-AzureVM -ServiceName $serviceName -AffinityGroup $affinityGroup `
                                    -VMs $advm1 -DnsSettings $dns1 -VNetName $adVNET
    

    Дождитесь развертывания виртуальной машины и подключитесь к ней. Войдя в систему, в окне Initial Configuration Tasks проверьте, что машина автоматически вошла в домен contoso.com.

    Лабораторная работа №6: развертывание SQL Server

    В этой лабораторной работе вы развернете простое веб-приложение ASP.NET MVC 4 на веб-сервер, расположенный в Windows Azure, с использованием SQL Server и балансировщика нагрузки, а также познакомитесь с командлетами PowerShell, которые можно использовать для целей автоматизации этих процессов.

    Разверните виртуальную машину и настройте балансировку нагрузки, а также разместите в облаке MVC4 приложение. Для этого создайте две новых виртуальных машины из образа Windows Server 2008 R2 SP1 с именами iisvm1 и iisvm2. При создании второй виртуальной машины укажите опцию Connect to existing Virtual Machine и укажите созданную первой машину. Так вы добавите новую виртуальную машину в Cloud Services, созданный для предыдущей виртуальной машины, что позволит этим машинам иметь прямой канал коммуникаций. После создания второй виртуальной машины создайте точку входа на 80 порту: нажмите на имени виртуальной машины iisvm1 и на Dashboard нажмите Endpoints. Выберите Add Endpoint. На Specify endpoint details укажите значение Name как webport, Protocol как TCP и Public Port с Private Port как 80. Нажмите ОК. Запустите процесс создания новой точки входа для второй виртуальной машины для реализации балансировки нагрузки. Выберите Add Endpoint, выберите Load Balance Traffic On An Existing Endpoint. Укажите созданную ранее точку входа и нажмите ОК. На New Endpoint Details укажите значение Name как webport и Private Port как 80. Нажмите на кнопку для создания точки входа. В Virtual Machines перейдите на Dashboard первой виртуальной машины (iisvm1) и нажмите Endpoints. Выберите webport. Убедитесь что значение Load Balancer равно Yes.

    Настройте IIS на обеих виртуальных машинах. Для этого подключитесь к первой из них и откройте Start | All Programs | Administrative Tools | Server Manager. Выберите Roles. Нажмите Add Roles. На Select Server Roles выберите Application Server и Web Server (IIS). Нажмите Add Required Features для установки необходимой функциональности и нажмите Next. На Select Role Services выберите для Application Server опцию Web Server (IIS) Support и убедитесь, что отмечен .NET Framework 3.5.1. Нажмите Add Required Role Services для установки необходимой функциональности и нажмите Next. На Confirm Installation Selections нажмите Install.

    Настройте таким же образом вторую виртуальную машину.

    Создайте новую виртуальную машину и установите SQL Server, после чего добавьте образа дисков к существующей виртуальной машине для того, чтобы разделить данные из логов, генерируемых SQL Server. Для этого создайте новую виртуальную машину из образа SQL Server 2012 с именем sqlvm1 и опцией Connect to existing Virtual Machine, указав первую виртуальную машину.

    Подключите два пустых диска с данными по 50 ГБ и инициализируйте их, подключившись к виртуальной машине. Назовите первый диск SQLData, второй – SQLLogs.

    Настройте SQL Server 2012.

    Для этого сначала создайте директории F:\Data, G:\Logs и G:\Backups.

    Откройте Start | All Programs | Microsoft SQL Server 2012 | SQL Server Management Studio. С учетной записью Windows подключите экземпляр SQL Server 2012 по умолчанию.

    Теперь необходимо обновить места хранения базы данных по умолчанию так, чтобы DATA и LOGS были разделены. Для этого нажмите правой кнопкой мыши на экземпляр SQL Server правой кнопкой мыши и нажмите Properties. На левой панели выберите Database Settings. Перейдите к разделу Database default locations и обновите значения по умолчанию, указав диски, которые вы подключили ранее.

    Нажмите правой кнопкой мыши на экземпляре SQL Server и нажмите Restart.

    Откройте Start | All Programs | Administrative Tools | Server Manager. В Server Manager нажмите Configure IE ESC в секции Security Information. В Internet explorer Enhanced Security выберите off для Administrators и нажмите OK.

    В данной лабораторной работе используется база данных .

    Нажмите правой кнопкой мыши на файл базы данных правой кнопкой мыши и откройте свойства. Нажмите unblock.

    Добавьте образец базы данных AdventureWorks на ваш SQL Server. Для этого откройте SQL Server Management Studio, подключитесь к (local) с учетной записью Windows. Найдите ваш экземпляр сервера SQL Server и разверните его.

    Нажмите правой кнопкой мыши на директории Databases и выберите Attach. В сведениях базы данных (database details) выберите строку AdventureWorks Log и нажмите Remove. Нажмите OK, чтобы присоединить базу данных.

    Создайте полнотекстовый каталог для базы данных. Для этого разверните Storage в базе данных AdventureWorks. Правой кнопкой мыши нажмите кнопку Full Text Catalogs и выберите New Full-Text Catalog.

    В диалоговом окне New Full-Text Catalog в пункте Name задайте значение AdventureWorksCatalog и нажмите OK.

    Правой кнопкой мыши нажмите на AdventureWorksCatalog и выберите Properties. Выберите пункт меню Tables/Views. Добавьте таблицу Production.Product в список Table/View objects assigned to the Catalog. Отметьте пункт Name в eligible columns и щелкните OK.

    Для добавления пользователя для MVC4 приложения, откройте Security вашего экземпляра SQL Server. Нажмите правой кнопкой мыши на Logins и нажмите New Login.

    В разделе General в пункте Login name введите AzureStore. Выберите опцию SQL Server authentication и в поле Password введите Azure$123.

    Снимите флажок в пункте Enforce password policy, чтобы не пришлось изменять пароль пользователя при первом входе, для параметра Default database укажите AdventureWorks.

    Перейдите в раздел User Mapping. Сопоставьте пользователя с базой данных AdventureWorks и щелкните OK.

    Разверните базу данных AdventureWorks внутри папки Databases. В папке Security разверните пункт Users и дважды нажмите на пользователе AzureStore.

    Выберите страницу Membership и отметьте роль db_owner для пользователя AzureStore, затем нажмите OK.

    Включите Mixed Mode Authentication для экземпляра SQL Server. Для этого в SQL Server Management Studio нажмите экземпляр сервера правой кнопкой мыши и выберите Properties.

    На правой панели выберите страницу Security, а затем выберите SQL Server and Windows Authentication mode в разделе Server Authentication. Нажмите OK.

    Перезапустите экземпляр SQL Server. Для этого нажмите экземпляр SQL Server правой кнопкой мыши и нажмите Restart.

    Чтобы разрешить приложению MVC4 доступ к базе данных SQL Server, в Windows Firewall необходимо добавить Inbound Rule для запросов SQL Server. Для этого откройте Windows Firewall with Advance Security в Start | All Programs | Administrative Tools.

    Выберите пункт Inbound Rules, нажмите на нем правой кнопкой мыши и выберите New Rule. В New Inbound Rule Wizard выберите Port в качестве Rule Type.

    На Protocols and Ports выберите Specific local ports и введите значение "1433". Нажмите Next.

    На шаге Action убедитесь, что выбрана опция Allow the connection и нажмите Next.

    На Profile оставьте значения по умолчанию и нажмите Next.

    Укажите значение Name правила для входящего подключения SQLServerRule и нажмите Finish.

    Настройка SQL Server 2012 закончена.

    Разверните ASP.NET MVC 4 приложение в IIS на виртуальной машине в Windows Azure. Для этого подключитесь к виртуальной машине .

    Распакуйте AzureStore.zip в Source\Assets\AzureStore.

    Откройте файл Web.config в папке AzureStore в Source\Assets в папке этой лабораторной. В конце файла замените код со строкой подключения на следующий код, заменив соответствующее поле имени SQL Server на имя вашего SQL Server.

    <connectionStrings>
        <add name="AdventureWorksEntities" connectionString="metadata=res://*/Models.AdventureWorks.csdl|res://*/
    Models.AdventureWorks.ssdl|res://*/Models.AdventureWorks.msl;
    provider=System.Data.SqlClient;provider connection string=quot;data source=
    [ENTER YOUR SQL SERVER NAME];initial catalog=AdventureWorks2012;Uid=AzureStore;Password=Azure$123;multipleactiveresultsets=True;
    App=EntityFrameworkquot;" providerName="System.Data.EntityClient" />
        <add name="DefaultConnection" connectionString=
    "Data Source=[ENTER YOUR SQL SERVER NAME];initial catalog=AdventureWorks2012;Uid=AzureStore;Password=Azure$123;
    MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
    </connectionStrings>
    

    Вернитесь в виртуальную машину и перейдите в директорию C:\inetpub\wwwroot, после чего скопируйте в эту директорию MVC4 приложение из директории Source\Assets\AzureStore.

    Откройте Start | All Programs | Administrative Tools | Internet Information Services (IIS) Manager.

    В панели Connections разверните Default Web Site. Вы должны увидеть скопированную папку AzureStore.

    Нажмите правой кнопкой мыши на папке AzureStore и нажмите Convert to Application.

    Выберите Application Pools и нажмите два раза на DefaultAppPool.

    В Edit Application Pool измените версию .Net Framework на v4.0 и нажмите OK.

    Повторите последовательность действий для второй виртуальной машины, созданной в первом упражнении (iisvm2).

    Проверьте работоспособность развернутого MVC4 приложения.

    Перейдите на http://[YOUR-SERVICE-NAME].cloudapp.net/AzureStore. Service Name - имя, созданное при создании виртуальных машин с IIS.

    (рис 16.11) Развертывание MVC-приложения

    В Search введите Classic и нажмите Search. После этого действия должен появиться список продуктов, чье имя удовлетворяет заданному критерию поиска.

    (рис 16.12) Поиск в MVC-приложении
    Вернуться к учебному плану