Технологии и платформы разработки Microsoft

Технологии и платформы разработки Microsoft

AZR 201. Практическое использование Windows Azure Virtual Machines

AZR 201. Практическое использование Windows Azure Virtual Machines

  • Comments 1

Автор: Александр Белоцерковский (Windows Azure MVP)

Все лабораторные с TechEd доступны по ссылке.

Введение

Использование платформы Windows Azure в качестве IaaS позволит вам создавать инфраструктуру и управлять ею, быстро и просто развертывая мощности. Получите преимущества для собственного бизнеса с помощью облачной инфраструктуры, сокращающей расходы на лицензирование, развертывание мощностей и резервирование.

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

Цели

После этой лабораторной работы вы научитесь:

· Создавать веб-ферму, используя портал управления Windows Azure

· Настраивать балансировщик нагрузки в IIS

· Разворачивать простое MVC-4 приложение, использующее SQL Server

· Создавать виртуальную машину с SQL Server и возможностью полнотекстового поиска

Предварительная настройка

Для выполнения работы вам необходимо:

· Наличие подписки Windows Azure с активированной функциональностью Virtual Machines Preview – зарегистрироваться для бесплатного тестового периода.

Если вы используете PowerShell, необходимо выполнить импортирование модуля с использованием командлета

Import-Module 'C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1'

А также получить файл настроек публикации по адресу

https://windows.azure.com/download/publishprofile.aspx

Упражнения

Эта лабораторная работа включает в себя следующие упражнения:

1. Создание виртуальных машин с IIS

2. Создание виртуальной машины с SQL Server

3. Развертывание простого MVC4 приложения

Примерное время на выполнение лабораторной работы: 90 минут.

Инструктор: Белоцерковский Александр.

Упражнение 1: создание виртуальных машин с IIS

В этом упражнении вы научитесь создавать виртуальные машины в Windows Azure и настраивать на них IIS.

Задание 1: Создание виртуальных машин с IIS

В этом задании вы развернете виртуальную машину и настроите балансировку нагрузки, а также разместите в облаке MVC4 приложение.

Примечание: Вы можете использовать командлет PowerShell для создания виртуальной машины:

1. Перейдите на https://manage.windowsazure.com/. Войдите в систему, используя учетные данные своего аккаунта Windows Azure.

2. Нажмите New | Compute | Virtual Machine | From Gallery.

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

3. На Virtual machine operating system selection нажмите Platform Images и выберите образ Windows Server 2008 R2 SP1, October 2012. Нажмите ОК.

4. На VM Configuration введите имя виртуальной машины (например, "iisvm1") и пароль администратора. Нажмите ОК.

Создание виртуальной машины - конфигурация

Примечание: Используйте сложный пароль для администратора, так как виртуальные машины доступны из Интернет по DNS. Дополнительное про сложные и безопасные пароли: http://www.microsoft.com/security/online-privacy/passwords-create.aspx

5. На VM Mode выберите Standalone Virtual Machine, введите DNS Name, выберите Storage Account или оставьте стандартный выбор Use Automatically Generated Storage Account, и выберите Region/Affinity Group/Virtual Network. Нажмите ОК.

Создание виртуальной машины - VM Mode

6. На VM Options оставьте стандартные значения и нажмите Finish.

Создание виртуальной машины - опции

7. На Virtual Machines вы увидите свою виртуальную машину с пометкой Starting (provisioning). Дождитесь перехода ее состояния в Running.

Создание виртуальных машин для веб-фермы IIS

Примечание: развертывание виртуальной машины может занять до 10 минут.

8. Создайте вторую виртуальную машину, нажав New | Virtual Machine | From Gallery.

9. На VM OS Selection нажмите Platform Images и выберите образ Windows Server 2008 R2 SP1, October 2012. Нажмите ОК.

10. На VM Configuration введите Virtual Machine Name (например, "iisvm2"), пароль администратора и выберите размер. Нажмите ОК.

11. На VM Mode выберите Connect to existing Virtual Machine и укажите созданную ранее машину. Выберите Storage Account или оставьте стандартный выбор Use Automatically Generated Storage Account и нажмите ОК. Так вы добавляете новую виртуальную машину в Cloud Services, созданный для предыдущей виртуальной машины, что позволяет находиться этим машинам в одной сети.

Создание виртуальной машины - VM Mode

12. На VM Options оставьте стандартные значения и нажмите ОК.

13. Дождитесь окончания развертывания второй виртуальной машины.

Примечание: развертывание виртуальной машины может занять до 10 минут.

14. После создания второй виртуальной машины создайте точку входа на 80 порту: нажмите на имени виртуальной машины iisvm1 и на Dashboard нажмите Endpoints.

15. Выберите Add Endpoint.

Настройка конечной точки входа

16. На Specify endpoint details укажите значение Name как webport, Protocol как TCP и Public Port с Private Port как 80. Нажмите ОК.

Настройка конечной точки входа

Примечание: создание новой точки входа может занять некоторое время.

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

18. Выберите Add Endpoint, выберите Load Balance Traffic On An Existing Endpoint. Укажите созданную ранее точку входа и нажмите ОК.

Балансировка нагрузки на точку входа

19. На New Endpoint Details укажите значение Name как webport и Private Port как 80. Нажмите на кнопку для создания точки входа.

Примечание: создание новой точки входа может занять некоторое время.

20. В Virtual Machines перейдите на Dashboard первой виртуальной машины (iisvm1) и нажмите Endpoints.

21. Выберите webport. Убедитесь что значение Load Balancer равно Yes.

Проверка балансировки нагрузки

22. Нажмите Edit Endpoint и проверьте, активирована ли балансировка нагрузки. Проверьте также вторую виртуальную машину.

Проверка балансировки нагрузки

Примечание: с использованием PowerShell можно создать и провести предварительную настройку виртуальной машины можно с помощью следующего кода

$vmname2 = 'iisvm1'

$vmname3 = ‘iisvm2'

$vm2 = New-AzureVMConfig -Name $vmname2 -InstanceSize ExtraSmall -ImageName $image |

Add-AzureProvisioningConfig -Windows -Password $adminPassword |

Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk1' -LUN 0 |

Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' `

-LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/'

$vm3 = New-AzureVMConfig -Name $vmname3 -InstanceSize ExtraSmall -ImageName $image |

Add-AzureProvisioningConfig -Windows -Password $adminPassword |

Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk2' -LUN 0 |

Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' `

-LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/'

New-AzureVM -ServiceName $cloudSvcName -VMs $vm2,$vm3

Задание 2: настройка виртуальных машин с IIS

В этом задании вы настроите виртуальные машины с IIS.

1. Нажмите Virtual Machines на портале управления.

2. В списке виртуальных машин выберите первую созданную вами виртуальную машину и нажмите Connect.

3. Нажмите Open и войдите в систему как администратор.

4. Откройте Start | All Programs | Administrative Tools | Server Manager.

5. Выберите Roles.

Server Manager

6. Нажмите Add Roles.

Добавление серверной роли

7. На Before you Begin нажмите Next.

8. На Select Server Roles выберите Application Server и Web Server (IIS). Нажмите Add Required Features для установки необходимой функциональности и нажмите Next.

Add Roles Wizard

9. На Application Server прочтите сведения и нажмите Next.

10. На Select Role Services выберите для Application Server опцию Web Server (IIS) Support и убедитесь, что отмечен .NET Framework 3.5.1. Нажмите Add Required Role Services для установки необходимой функциональности и нажмите Next.

Add Roles Wizard

11. На Web Server (IIS) изучите предоставленную информацию. Нажмите ОК.

12. Нажмите Next.

Add Roles Wizard

13. На Confirm Installation Selections нажмите Install.

Add Roles Wizard

Примечание: установка и настройка могут занять несколько минут.

1. Закройте Remote Desktop Connection.

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

Примечание: установить IIS можно с использованием командной строки, выполнив следующую команду

CMD /C START /w PKGMGR.EXE /l:log.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementScriptingTools;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;WAS-WindowsActivationService;WAS-ProcessModel;IIS-FTPServer;IIS-FTPSvc;IIS-FTPExtensibility;IIS-WebDAV;IIS-ASPNET;IIS-NetFxExtensibility;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-ManagementService;MicrosoftWindowsPowerShell

Упражнение 2: создание виртуальной машины с SQL Server

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

Задание 1: создание виртуальной машины с SQL Server

В этом задании вы создадите новую виртуальную машину на портале управления в том же Cloud Service, в котором развернуты виртуальные машины с IIS.

1. Нажмите New | Virtual Machine | From Gallery.

2. На VM OS Selection нажмите Platform Images и выберите образ SQL Server 2012.

3. На VM Configuration введите имя Virtual Machine Name (i.e. "sqlvm1"), пароль администратора и выберите размер. Нажмите ОК.

4. На VM Mode выберите Connect to existing Virtual Machine и выберите первую созданную вами виртуальную машину. Нажмите ОК.

5. На VM Options нажмите ОК.

6. Дождитесь развертывания виртуальной машины, что может занять до 10 минут.

Задание 2: Подключение пустых образов дисков

В этом задании вы создадит�� два пустых дисков с данными и присоедините их к существующей виртуальной машине с использованием портала управления Windows Azure.

1. Выберите в секции Virtual Machines виртуальную машину с SQL Server, созданную ранее.

2. Нажмите Dashboard, Attach, Attach Empty Disk.

Подключение пустого диска

3. На Attach Empty Disk укажите размер Size как 50 GB и создайте диск.

4. Дождитесь окончания создания диска и повторите последовательность для создания второго диска.

5. Теперь у вас должно быть три диска – один для OS, второй для данных, третий для логов.

Примечание: диск может появиться спустя несколько минут после создания.

Подключенные диски с данными

6. Теперь вы должны отформатировать диски данных. Нажмите Connect и подключитесь с помощью загруженного файла к серверу.

7. Откройте Start | All Programs | Administrative Tools | Server Manager.

8. Разверните Storage и выберите Disk Management.

Управление дисками

9. В Initialize Disk нажмите OK.

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

Управление дисками

11. В New Simple Volume Wizard нажимайте ОК, когда вас спросят о значении Volume Label , введите SQLData.

12. Дождитесь окончания настройки и повторите шаги 11, 12 для второго диска, указав для него Volume Label как SQLLogs.

13. В Disk Management должны отображаться два диска: SQLData и SQLLogs.

Управление дисками

Примечание: Не закрывайте Remote Desktop Connection.

Примечание: Вы также можете динамически добавить диск данных к виртуальной машине с использование командлетов PowerShell

$vmname = 'mytestvm1'

Get-AzureVM -Name $vmname -ServiceName $cloudSvcName |

Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk1' -LUN 0 |

Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'translogs1' -LUN 1 |

Update-AzureVM

Задание 3: Настройка SQL Server в виртуальной машине

В этом задании вы настроите SQL Server 2012. You will create the database that will be used by the MVC4 application and add Full-Text Search capabilities to it. Additionally, you will create a SQL Server user for the MVC4 website.

1. Создайте следующие папки: F:\Data, G:\Logs и G:\Backups.

2. Откройте Start | All Programs | Microsoft SQL Server 2012 | SQL Server Management Studio

3. С учетной записью Windows подключите экземпляр SQL Server 2012 по умолчанию

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

5. На левой панели выберите Database Settings.

6. Перейдите к разделу Database default locations и обновите значения по умолчанию, указав диски, которые вы подключили в предыдущем задании.

Определение расположения базы данных по умолчанию

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

8. В Object Explorer нажмите правой кнопкой мыши на сервер и нажмите Restart.

9. Откройте Start | All Programs | Administrative Tools | Server Manager.

10. В Server Manager нажмите Configure IE ESC в секции Security Information.

11. В Internet explorer Enhanced Security выберите off для Administrators и нажмите OK.

Internet Explorer Enhanced Security

Примечание: изменение параметров Internet Explorer Enhanced Security не является рекомендуемыми практиками и делается только для данной лабораторной работы. Правильным вариантом была бы загрузка файлов локально и копирование их в общую папку или прямо в виртуальную машину.

12. В данной практической работе используется база данных AdventureWorks. Откройте Internet Explorer и перейдите на сайт http://msftdbprodsamples.codeplex.com/, чтобы загрузить образцы баз данных SQL Server 2012. На нужной странице щелкните SQL Server 2012 DW и загрузите файл данных Adventure Works 2012. Загрузите файл в папку F:\Data.

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

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

Подключение базы данных

15. Правой кнопкой мыши щелкните папку Databases и выберите Attach.

Подключение базы данных AdventureWorks

16. В сведениях базы данных (database details) выберите строку AdventureWorks Log и нажмите Remove.

17. Нажмите OK, чтобы присоединить базу данных.

Образец базы данных AdventureWorks

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

Примечание: Эта функция понадобится для приложения MVC, которое вы развернете в следующем упражнении.

Создание нового полнотекстового каталога

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

Создание нового полнотекстового каталога

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

Создание нового полнотекстового каталога

21. Проверьте наличие нового каталога в папке Full-Text Catalogs.

Создание нового полнотекстового каталога

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

Создание нового пользователя

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

Примечание: Если вы укажете другие логин или пароль, необходимо будет соответствующим образом обновить файл web.config для приложения MVC 4.

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

Создание нового пользователя

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

Сопоставление пользователя и базы данных AdventureWorks

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

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

Примечание: Приложение, которое вы будете развертывать в следующем упражнении, для управления сессиями использует Universal Providers. При первом запуске приложения поставщик создаст таблицу сессий внутри базы данных AdventureWorks. Для этого вы назначаете пользователю AzureStore роль db_owner. После первого запуска приложения эту роль пользователя можно удалить, так как эти права ему больше не понадобятся.

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

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

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

31. Закройте SQL Server Management Studio.

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

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

Создание Inbound Rule

34. В New Inbound Rule Wizard выберите Port в качестве Rule Type и щелкните Next.

Создание Inbound Rule

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

Создание Inbound Rule

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

Создание Inbound Rule

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

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

Создание Inbound Rule

39. Закройте Windows Firewall with Advanced Security.

Примечание: Убедитесь что для экземпляра сервера включены протоколы Named Pipes и TCP/IP, что можно проверить в SQL Server Configuration Manager в SQL Server Network Configuration. Обратите внимание, что после включения протокола экземпляр SQL Server необходимо перезапустить.

Закройте Remote Desktop Connection.

Упражнение 3: развертывание простого приложения MVC4

В этом упражнении вы развернете простое ASP.NET MVC 4 приложения в IIS на виртуальной машине в Windows Azure.

Примечание: для реализации высокой доступности вам необходимо настроить SQL Server в availability set и SQL Server Mirroring между экземплярами.

Задание 1: Развертывание простого MVC4 приложения

В этом задании вы развернете MVC4 приложение в IIS в виртуальной машине.

1. На портале управления перейдите в Virtual Machines.

2. Выберите виртуальную машину iisvm1, которую создавали в первом упражнении, и нажмите Connect, после чего с помощью загруженного файла подключитесь к серверу.

3. Перейдите в Start | All Programs | Administrative Tools и запустите Server Manager.

4. Нажмите Configure IE ESC в секции Security Informatio.

Internet Explorer Enhanced Security

5. В Internet explorer Enhanced Security нажмите off для Administrators и нажмите OK.

Internet Explorer Enhanced Security

Примечание: изменение параметров Internet Explorer Enhanced Security не является рекомендуемыми практиками и делается только для данной лабораторной работы. Правильным вариантом была бы загрузка файлов локально и копирование их в общую папку или прямо в виртуальную машину.

6. Откройте Internet Explorer и перейдите на http://go.microsoft.com/fwlink/?linkid=186916. Загрузите и установите .NET Framework 4.0.

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

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

XML

<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=EntityFramework&quot;" 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>

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

Папка wwwroot

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

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

IIS Manager

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

IIS Manager – преобразование в приложение

13. В Add Application нажмите OK.

Add Application

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

Изменение Default Application Pool

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

Изменение Application Pool

Изменение Default Application Pool

16. Закройте Internet Information Server (IIS) Manager и Remote Desktop Connection.

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

Проверка

В этом задании вы проверите работоспособность развернутого MVC4 приложения.

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

MVC4 приложение в веб-ферме

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

Поиск по продуктам

Выводы

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

Blog - Comment List MSDN TechNet
  • Loading...
Leave a Comment
  • Please add 7 and 6 and type the answer here:
  • Post