VK WorkSpace On-Premise logo
Помощь
Обновлена 20 октября 2026 г. в 14:33

Миграция календарей по протоколу EWS

Назначение документа

В документе описан порядок действий для синхронизации календарей между Exchange EWS 2013, Exchange EWS 2016, Exchange EWS 2019 и моноинсталляцией Почты. Exchange Web Services (EWS) — протокол на основе SOAP API, разработанный для управления компонентами MS Exchange.

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

Если требуется синхронизация кластерной инсталляции Почты обратитесь к представителю VK.

Дополнительная документация

Миграция почты и календарей — в документе описана целевая схема миграции почтовых данных:

  • Архитектура электронной почты на базе Почты VK WorkSpace при интеграции старой корпоративной электронной почты и Почты VK WorkSpace.
  • Подготовка и настройка интеграции старой электронной почты и Почты VK WorkSpace.
  • Запуск и мониторинг миграции данных почтовых ящиков и календарей пользователей.
  • Завершение миграции и перенаправление почтовых потоков.

Ограничения миграции с релиза 25.3

Из MS Exchange в VK WorkSpace не мигрируют:

  • Свойства календаря, кроме названия.

  • Цвета событий и календаря.

  • Медиа файлы в описании события (Inline attachments).

  • События попавшие в MS Exchange через SMTP Relay. Они уже есть в VK WorkSpace и будут игнорироваться при повторной миграции.

  • События, где описание превышает 10000 символов. Это ограничение можно изменить по инструкции Как изменить лимит на количество символов в описании события Календаря?. Если длина названия превышает 255 символов, то название обрезается до необходимой длины.

  • События от внешних отправителей. Такие события будут приходить через почтовый транспорт и сборщики.

Все новые события попадают в MS Exchange через почтовый транспорт. Поэтому из VK WorkSpace в MS Exchange не синхронизируются:

  • Вложения.
  • Новые календари.
  • Свойства основного календаря.
  • Цвета календарей и событий.
  • Напоминания.

Исключение составляет информация для построения актуальной занятости в календаре на стороне MS Exchange: передается информация о принятых и отклоненных событиях. Из MS Exchange информация о занятости собирается с версии 25.4 VK WorkSpace. С версии 25.4.1 VK WorkSpace может передавать занятость в MS Exchange. Этим занимается отдельный сервис, который синхронизирует:

  • События в которых искомый пользователь является организатором. В виде системных событий вида «название + время».
  • Реакция на события, которые пришли через SMTP Relay.

Предварительные условия

Чтобы начать настройку, вам потребуется:

  1. Доступ к веб-интерфейсу установщика Почты VK WorkSpace (http://<company_domain>:8888).

  2. Доступ на сервер Почты и в административную панель VK WorkSpace (https://biz.<company_domain>).

  3. Навыки системного администрирования Linux, Microsoft Exchange Server и Microsoft Windows Server.

  4. Пользователи из Microsoft Exchange Server должны быть предварительно созданы в Почте VK WorkSpace — вручную или при помощи интеграции с Active Directory.

  5. Адрес сервера Exchange Web Services (далее — EWS).

  6. Если используются старые версии TLS на сервере MS Exchange — готовые сборки RPM или DEB пакетов для использования утилиты socat можно скачать по кнопке:

    Скачать пакеты

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

  1. Обеспечьте сетевой доступ.

    Перед началом синхронизации календарей на сервере MS Exchange обеспечьте свободный порт для Почты. На сервере Почты — свободный порт для Exchange EWS.

  2. Создайте сервисную учетную запись Active Directory для синхронизации календарей.

    Создайте в службе каталога сервисную учетную запись для синхронизации календарей, например, svc_vkmail_collector. Средствами EMS назначьте данной учетной записи роль ApplicationImpersonation. Командлет для назначения роли имеет следующий вид:

    New-ManagementRoleAssignment -Role ApplicationImpersonation -User svc_vkmail_collector
  3. Настройте проксирование TLS для синхронизации календарей.

    Так как Почта передает данные по TLS 1.3, а EWS 2013 поддерживает TLS версии 1.1 и 1.2, требуется настройка туннелирования TLS через socat:

    1. На сервере Почты установите RPM- или DEB-пакеты, полученные у представителей VK:

      # RPMsudo rpm -Uvh socat-static-1.7.4.4_20230607_223844-x86_64.rpm# DEBsudo dpkg -i socat-static-1.7.4.4-20230607-223844-x86_64.deb
    2. Создайте промежуточное соединение.

      В примере ниже будет использоваться порт 9443 на сервере Почты и порт 443 на сервере EWS:

      # Запустите настройку скрипта (exch1 — имя сервиса подключения)sudo /usr/local/bin/socat-static-tls-forwarder-install.sh \ exch1 9443 <EWS domain>:443# Запустите socat TLS forwardersudo systemctl daemon-reloadsudo systemctl start socat-static-tls-forwarder-exch1 # Проверьте соединениеopenssl s_client -connect 127.0.0.1:9443
  4. Убедитесь, что доступ до EWS настроен правильно:

    На машине, где включена интеграция или из контейнера calendar-exodus1 выполните запрос по примеру ниже:

    curl -u username@domain:password -L -k https://<domain>:9443/ews/exchange.asmx -H "Content-Type:text/xml" --ntlm

    Если команда не завершилась успешно, то просмотрите соответствующие логи:

    • Логи EWS по пути: C:\Program Files\Microsoft\Exchange Server\V*\Logging\Ews, точный путь может отличаться в зависимости от версии Exchange.
    • Логи Почты VK WorkSpace в контейнерах calendar-exodus1, calendar-gobi1.

Шаг 1. Настройте интеграцию с сервером Exchange Web Services

  1. Подключитесь к веб-интерфейсу установщика Почты по адресу http://<company_domain>:8888.

  2. Чтобы в интерфейсе установщика Почты появилась вкладка с настройками EWS, в списке продуктов должен быть включен флаг Миграция календарей по протоколу EWS. Для включения опции кликните по значку migration и выпадающем меню нажмите на кнопку Продукты.

    migration

    Перейдите на вкладку Почта и в списке продуктов включите компонент Миграция календарей по протоколу EWS.

    migration
  3. В разделе Интеграции → Миграция календарей по протоколу EWS нажмите на кнопку Добавить и введите адрес сервера EWS — после этого станут доступны поля для первоначальной настройки синхронизации:

    migration

    • Адрес сервера EWS (Exchange Web Services) — введите адрес сервера Почты вместе с портом, заданным при настройке socat.

    • Логин для подключения к серверу EWS — логин пользователя в Active Directory c правами Impersonation.

    • Пароль для подключения к серверу EWS — пароль пользователя Active Directory c правами Impersonation.

    • Тип прав учетной записи в EWS — тип прав установлен по умолчанию.

    • Пропустить проверку SSL-сертификата сервера EWS — включите флаг, если нужно пропустить проверку SSL.

    • SSL-сертификат сервера (или корневой) — вставьте в поле SSL-сертификат сервера Exchange EWS или корневой сертификат MS Exchange. Также доступно добавление сертификата в виде файла.

  4. После сохранения изменений перейдите к списку контейнеров повторите нужные шаги (они уже отмечены желтым). Также можно нажать на кнопку Play в общей строке состояния.

Шаг 2. Добавьте домен EWS-сервера в административной панели

Перейдите в административную панель (https://biz.<company_domain>) и добавьте домен EWS-сервера с помощью кнопки Добавить домен:

migration

Шаг 3. Выполните миграцию календарей

Почта VK WorkSpace поддерживает миграцию календарей — перенос событий из MS Exchange в Почту. Миграцию можно запустить двумя способами:

Миграция с помощью скриптов

Чтобы запустить миграцию событий из MS Exchange в Почту:

  1. Подключитесь к гипервизору vkmail-02 средствами клиента SSH, перейдите в каталог /home/deployer (или в каталог, в котором был запущен установщик) и сохраните скрипты синхронизации календарей.

    Если Почта установлена на одну виртуальную машину:

    Скачать скрипты

    Сохраните скрипт с названием sync_all.sh:

    #!/bin/shAPITOKEN=$(awk '/^exodusApiCliToken/ {print $2}' /home/deployer/main.yaml)CALINTAPI=$(awk '/^calendarapi_internal_exoduscli_token/ {print $2}' /home/deployer/main.yaml)sudo docker exec -it calendar-exodus1 /usr/bin/subscriber -sync_api_url=127.0.0.1 -sync_api_insecure "-sync_api_acl_token=$APITOKEN" -internal_api_url=calendarapi-internal.qdit -internal_api_acl_header=x-calendarapi-grpc-token -internal_api_insecure "-internal_api_acl_token=$CALINTAPI" -internal_api_request_timeout=100s -sync_api_request_timeout=100s -operation=sync_all "$@"

    При распределенной инсталляции:

    1. На сервере, на котором запущен установщик, получите значение токена для подключения к gRPC серверу ExchangeSync:

      awk '/^exodusApiCliToken/ {print $2}' /home/deployer/main.yaml

      и токена для подключения к gRPC серверу Calendar-API:

      awk '/^calendarapi_internal_exoduscli_token/ {print $2}' /home/deployer/main.yaml

      где /home/deployer/ — каталог, в котором запущен установщик.

    2. Подключитесь к машине, на которой установлен контейнер calendar-exodus1, и сохраните скрипт с названием sync_all.sh:

      Скачать скрипты

      #!/bin/shAPITOKEN=<токен для подключения к gRPC серверу ExchangeSync>CALINTAPI=<токен для подключения к gRPC серверу Calendar-API>sudo docker exec -it calendar-exodus1 /usr/bin/subscriber -sync_api_url=127.0.0.1 -sync_api_insecure "-sync_api_acl_token=$APITOKEN" -internal_api_url=calendarapi-internal.qdit -internal_api_acl_header=x-calendarapi-grpc-token -internal_api_insecure "-internal_api_acl_token=$CALINTAPI" -internal_api_request_timeout=100s -sync_api_request_timeout=100s -operation=sync_all "$@"
  2. Для синхронизации календарей запустите скрипт sync_all.sh:

    # Вместе с командой необходимо передать список электронных адресовsh sync_all.sh <email> <email> <email>

Чтобы увидеть весь ход миграции и дополнительную информацию/ошибки обратитесь к логам сервиса calendar-exodus. Если миграция завершилась с ошибками и проблему не удалось устранить самостоятельно, то обратитесь к представителю VK.

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

Миграция через веб-интерфейс /oper

  1. Авторизуйтесь в веб-интерфейсе администратора, расположенном по адресу https://biz.<company_domain>.

  2. Перейдите в интерфейс /oper по адресу https://biz.<company_domain>/oper, затем перейдите в раздел Календарь → Синхронизация.

  3. В поле Тип операции выберите Миграция.

  4. Укажите Список доменов для миграции.

  5. Нажмите кнопку Запуск.

    Миграция календарей по протоколу EWS

Чтобы посмотреть статус миграции перейдите в раздел Календарь → Статус. Чтобы увидеть изменения в процессе миграции на этой странице, обновите страницу.

Миграция календарей по протоколу EWS

Если миграция завершилась с ошибками, то здесь вы увидите последнюю ошибку. Чтобы увидеть весь ход миграции и дополнительную информацию/ошибки обратитесь к логам сервиса calendar-gobi. Если проблему не удалось устранить саомстоятельно, то обратитесь к представителю VK.


Технический писатель: Груздев Никита

Была ли статья полезна?