22 нояб. 2013 г.

Уходим в облака, разворачиваем 1С в Windows Azure

Попалась на днях статейка "1С в Azure". Конечно же, захотелось пощупать существующее "облако" самостоятельно, пока не началось. Сразу скажу, что в целом реализация понравилась. Навскидку плюсы:
- нет необходимости сразу платить суммы отстатыщ за нормальное серверное железо;
- отпадает головная боль по поводу подбора серверного железа, просто выбирай, сколько ядер/гигов надо сейчас, при необходимости всегда можно убрать/добавить;
- дистрибутивы серверного ПО так же присутствуют в "облаке", как Windows, так и Linux-подобные;
- наличие обширной документации (в основном, английский) позволяет разобраться с настройками;
- наверняка еще есть плюсы, до которых еще не добрался.
В общем развернуться есть где, осталось только научиться этим всем в полной мере пользоваться :) Для ознакомления с продуктом Microsoft предлагает бесплатный тестовый месяц. Для получения доступа идем на http://www.windowsazure.com/ru-ru/pricing/free-trial/ и начинаем регистрацию.


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



После регистрации попадаем в наше "облако".



Теперь реализуем связку сервер 1С + сервер баз данных. Переходим в панель управления Windows Azure и создаем первую виртуальную машину.


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



Сначала создаю сервер приложений, на котором в дальнейшем будут выполняться службы сервера 1С и IIS (для доступа к 1С по web-интрефейсу).





После создания виртуальной машины выделяем ее в списке и нажимаем "подключиться". При этом загрузится файл .rdp с настройками подключения.


Образ разворачивается довольно оперативно. Таким же образом создаем вторую виртуальную машину с SQL сервером.


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


Затем в настройках сервера SQL укажем смешанный вариант аутентификации, а так же включим возможность заходить под пользователем sa и сменим ему пароль, либо заведем своего пользователя для 1С.



Теперь переходим к настройкам сервера приложений. Через панель управления сервером добавляем роли Application Server и Web Server, указываем соответствующие сервисы для каждой.




Процесс установки сервера 1С не расписываю, берем любую понравившуюся платформу 8.2 или 8.3 и ставим. После этого пропишем в брандмауэре в исходящих правилах порты 1С. Я не стал разделять правила на порты агента сервера 1540, менеджера кластера 1541 и клиентские подключения 1560-1591, а сразу же взял диапазон 1540-1591.


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

Теперь перейдем к настройке внешнего доступа к "облачной" базе. Для этого нам необходимо в панели управления Azure перейти к настройке "конечных" точек. При создании виртуальной машины по умолчанию предлагается доступ через RemoteDesktop и PowerShell.


Нам необходимо добавить порт HTTP для доступа по web-клиенту и порты 1С - 1540, 1541, 1560-1591 и другие, если они есть.

Чтобы не добавлять весь диапазон руками можно воспользоваться утилитой AzurePowerShell.
После установки в консоли необходимо выполнить подключение к своему аккаунту командой Add-AzureAccount. Потом выполнить следующий скрипт:

$vm = Get-AzureVM -ServiceName "m1cxsrv" -Name "m1cxsrv" ; 1560..1591 | ForEach { $VM | Add-AzureEndpoint -Name Server1C_$_ -Protocol TCP -LocalPort $_ -PublicPort $_} ; $vm | Update-AzureVM

Параметром для ServiceName является имя облачной службы, для Name - имя виртуальной машины. Теперь, используя клиент 1С, можно подключиться к базе извне. Так же, в консоли сервера 1С можно создать пустую базу и выполнить загрузку данных.

Перейдем к настройке IIS. Для этого запустим конфигуратор на сервере приложений и опубликуем базу. В консоли управления сервером IIS включим поддержку 32-битных приложений.


На каталог с 1С добавим права на запуск для пользователей группы IIS_IUSRS.


На всякий случай проверяем наличие анонимной аутентификации


После этого можно подключаться к базе, используя web-клиент.
В качестве теста залил демо-базу УТ 11, до 19.12.2013 можно посмотреть http://m1cxsrv.cloudapp.net/trade_azure.

3 комментария:

  1. https://social.msdn.microsoft.com/Forums/ru-RU/74132776-04df-4c48-a985-507b8131aef5/-sql-azure-1v8-servers?forum=cloudru&prof=required

    ОтветитьУдалить
    Ответы
    1. Полагаю, что это относится к случаю, когда местный сервер 1С подключается к удаленному SQL в Azure. В моем случае сервер 1С и SQL находились в облаке и все отработало без проблем.

      Удалить
  2. Спасибо за статью!

    ОтветитьУдалить