Развертывание приложения ASP.NET на Windows Server в Compute Engine

1. Обзор

ASP.NET — это веб-фреймворк с открытым исходным кодом для создания современных веб-приложений и сервисов на платформе .NET. ASP.NET позволяет создавать веб-сайты на основе HTML5, CSS и JavaScript, которые просты, быстры и масштабируемы до миллионов пользователей.

В этой лабораторной работе вы развернете простое ASP.NET-приложение на Windows Server, работающем на Compute Engine . Эта лабораторная работа основана на лабораторной работе « Развертывание Windows Server с ASP.NET Framework на Compute Engine» . Возможно, вам стоит сначала выполнить ту работу.

Кроме того, для написания ASP.NET-приложения и его развертывания в Compute Engine вам потребуется Visual Studio 2013 или более поздняя версия.

Что вы узнаете

  • Как создать простое ASP.NET-приложение.
  • Как запустить ASP.NET-приложение локально в Visual Studio.
  • Как развернуть и запустить ваше ASP.NET-приложение на сервере Windows Server с использованием Compute Engine.

Что вам понадобится

Как вы будете использовать этот учебный материал?

Прочитайте только от начала до конца. Прочитайте текст и выполните упражнения.

Как бы вы оценили свой опыт работы с Google Cloud Platform?

Новичок Средний Профессионал

2. Настройка и требования

Настройка среды для самостоятельного обучения

У вас уже должен быть проект Google Cloud Platform из предыдущей лабораторной работы, поэтому создавать новый проект не нужно. Войдите в консоль Google Cloud Platform ( console.cloud.google.com ) и выберите проект из предыдущей лабораторной работы.

3. Загрузите приложение ASP.NET.

Скачайте образец в виде ZIP-архива и распакуйте его.

В качестве альтернативы вы можете клонировать его репозиторий Git.

git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git

В любом случае, у вас должна быть папка getting-started-dotnet со следующим содержимым.

1acce2c66bc3b8aa.png

4. Запустите приложение локально.

Дважды щелкните файл aspnet\1-hello-world\hello-world.sln . Это откроет решение в Visual Studio.

8a699ba7495ab79e.png

Взгляните на WebApiConfig.cs . Он содержит простой обработчик HTTP-запросов типа "HelloWorld".

public class HelloWorldHandler : HttpMessageHandler
{
  protected override Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
  {
    return Task.FromResult(new HttpResponseMessage()
    {
      Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
    });
  }
};

В Visual Studio нажмите F5, чтобы собрать и запустить приложение. После того, как Visual Studio загрузит зависимости NuGet и соберет приложение, в вашем браузере должно появиться сообщение "Hello World".

77768b92a41434c2.png

Убедившись, что приложение запущено локально, нажмите Shift + F5, чтобы остановить его.

5. Развертывание Windows Server с использованием ASP.NET Framework

В этом разделе мы узнаем, как создать новый экземпляр виртуальной машины Google Compute Engine с установленными Windows Server и ASP.NET Framework, используя Cloud Marketplace из консоли Google Cloud.

Войдите в консоль Google Cloud.

Откройте консоль Google Cloud в другой вкладке или окне браузера по адресу https://console.cloud.google.com . Используйте учетные данные, которые вы указали при регистрации в Google Cloud Platform, или те, которые вам предоставил наблюдатель за выполнением лабораторной работы.

f6cb1591046097da.png

В консоли Google Cloud нажмите на значок меню «Продукты и услуги» в левом верхнем углу экрана:

32152624d878d9f8.png

Затем перейдите в Cloud Marketplace.

6c08c9a31e3a9c6c.png

Поиск по ASP.NET Framework

Введите ASP.NET для поиска ASP.NET Framework , а затем щелкните по значку результата ниже.

d64d04962212c3c1.png

Запуск на Compute Engine

На следующем экране нажмите «Запустить на Compute Engine» .

При создании нового экземпляра можно настроить множество параметров. Давайте воспользуемся следующими:

Имя

gcelab

Название развертывания

windows-aspnet-instance

Зона

europe-west1-d Подробнее о зонах см. в документации «Регионы и зоны» .

Тип машины

1 vCPU (n1-standard-1) n1-standard-1 более чем достаточно для нашего веб-сайта ASP.NET, так как он имеет 1 ядро ​​и 3,75 ГБ оперативной памяти. Однако вы можете выбрать машины меньшего или большего размера, вплоть до 32 ядер / 208 ГБ оперативной памяти. Подробнее об этом и пользовательских типах машин см. в документации по типам машин . Примечание : Новый проект имеет квоту ресурсов по умолчанию, которая может ограничивать количество ядер ЦП. Вы можете запросить больше для своих проектов.

Версия ОС Windows Server

2016

Тип загрузочного диска

Standard persistent disk Примечание: При желании вы можете выбрать более производительный твердотельный накопитель (SSD). См. раздел «Варианты хранения» .

Размер диска в ГБ

Мы используем значение по умолчанию — 100 ГБ, но вы можете изменить его на большее или меньшее значение в зависимости от ваших потребностей.

Брандмауэр

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP traffic Оставьте настройки по умолчанию, которые создадут правила брандмауэра для разрешения трафика HTTP, HTTPS, а также трафика WebDeploy и RDF.

Нажмите кнопку «Развернуть» , чтобы создать новый экземпляр виртуальной машины с Windows Server и ASP.NET Framework! Вы перейдете на новую страницу, где сможете отслеживать ход выполнения.

3276c6d3647fd36.png

После завершения перейдите в меню слева в раздел Compute Engine , а затем выберите «Экземпляры виртуальных машин». В списке «Экземпляры виртуальных машин» вы должны увидеть новую виртуальную машину.

fc50b1cfd8b1f4b3.png

Если вы нажмете на «Внешний IP-адрес» , вы также увидите веб-сайт IIS по умолчанию, обслуживаемый с этого экземпляра.

iis.PNG

Обратите внимание, что вы также можете подключиться к компьютеру через удаленный рабочий стол (RDP), но для этого сначала необходимо создать учетную запись пользователя Windows и пароль.

6. Создайте пользователя и пароль Windows.

Чтобы создать пользователя и пароль Windows, выберите «Создать или сбросить пароль Windows» .

cf9b67269c4fa290.png

Откроется новое окно, где вы сможете создать пользователя. Оставьте значение по умолчанию и выберите «Установить» . Через несколько секунд появится диалоговое окно «Новый пароль Windows» с только что созданным паролем. Запишите пароль, он понадобится вам в следующем разделе.

7. Разверните приложение на вашем сервере Windows Server в среде Compute Engine.

Пришло время развернуть ваше приложение на сервере Windows Server, работающем на экземпляре Compute Engine.

Для начала вам нужно найти внешний IP-адрес экземпляра Compute Engine, который вы развернули в разделе «Развертывание Windows Server с ASP.NET Framework в Compute Engine» . В консоли Cloud перейдите в раздел «Вычисления» > «Экземпляры виртуальных машин», найдите свой экземпляр и запишите его внешний IP-адрес.

8163b495fda4a4c5.png

Теперь вам понадобятся имя пользователя и пароль Windows, которые вы создали на предыдущем шаге.

В обозревателе решений Visual Studio щелкните правой кнопкой мыши по своему проекту и выберите пункт «Опубликовать» в контекстном меню.

31dc67741553583e.png

В диалоговом окне «Опубликовать веб-сайт» выберите «Пользовательский» в качестве целевого объекта публикации.

В диалоговом окне «Создать пользовательский профиль» укажите имя для профиля развертывания и нажмите кнопку «ОК».

Заполните свой профиль следующим образом.

Сервер

The external IP address of your Compute Engine instance. This address can be found on the странице экземпляров виртуальных машин in the Cloud Console. The IP address is временным , which is sufficient for our purposes.

Название сайта

Примечание Default Web Site : указанное здесь имя сайта должно совпадать с именем, отображаемым в диспетчере IIS на вашем экземпляре Compute Engine.

Имя пользователя

The username of the Windows user account you created on your Compute Engine instance.

Пароль

The password of the Windows user account you created on your Compute Engine instance.

URL-адрес назначения

http:// Примечание : Целевой URL — это адрес, по которому ваша страница будет доступна после развертывания.

Нажмите «Проверить соединение» , чтобы убедиться в правильности указанных свойств.

5587e66e1f61acd6.png

Поскольку в вашей системе развертывания Microsoft IIS по умолчанию используется самоподписанный сертификат, в процессе проверки вы увидите ошибку сертификата . Установите флажок « Сохранить этот сертификат для будущих сеансов Visual Studio» и нажмите «Принять» , чтобы принять сертификат.

e7cc4bdef3064b9b.png

Если ваша конфигурация верна, нажмите «Настройки» . Нажмите «Параметры публикации файлов» и установите флажок «Удалить дополнительные файлы в месте назначения ». Это важно для последующих шагов при публикации новых веб-сайтов на том же экземпляре Compute Engine.

1014554485ba6720.png

Нажмите «Опубликовать» , чтобы развернуть приложение. После завершения публикации Visual Studio откроет приложение в вашем браузере по умолчанию.

feab07f5ac573240.png

8. Уборка

Вот и всё! Теперь пришло время очистить использованные ресурсы (чтобы сэкономить средства и быть ответственным пользователем облачных сервисов).

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

a3152ac7b76cdd4e.png

Конечно, вы также можете удалить весь проект, но при этом потеряете все настройки выставления счетов (предварительно необходимо отключить выставление счетов по проекту). Кроме того, удаление проекта прекращает выставление счетов только после окончания текущего расчетного периода.

9. Поздравляем!

Google Compute Engine — это основа для сервиса «Инфраструктура как услуга» (Infrastructure-as-a-Service) платформы Google Cloud Platform. Как вы уже убедились, развернуть приложение ASP.NET на Windows Server с использованием Compute Engine довольно просто.

Что мы рассмотрели

  • Как создать простое ASP.NET-приложение.
  • Как запустить ASP.NET-приложение локально в Visual Studio.
  • Как развернуть и запустить ваше ASP.NET-приложение на сервере Windows Server с использованием Compute Engine.

Следующие шаги

Лицензия

Данная работа распространяется под лицензией Creative Commons Attribution 2.0 Generic.

/