Надежность сервиса деидентификации данных Azure Health

В этой статье описывается поддержка надежности в службе де-идентификации данных Azure Health Data Services. Более подробный обзор принципов надежности в Azure см. в статье "Надежность Azure".

Аварийное восстановление между регионами

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

Для восстановления после сбоя компания Microsoft использует модель общей ответственности. В этой модели корпорация Майкрософт гарантирует, что доступны базовые инфраструктуры и службы платформы. Однако многие службы Azure не делают автоматической репликации данных и не обеспечивают возврат из вышедшего из строя региона для перекрестной репликации в другой доступный регион. Для этих сервисов вы отвечаете за настройку плана аварийного восстановления, соответствующего вашей рабочей нагрузке. Большинство служб, работающих на платформе Azure как услуга (PaaS), предоставляют функции и рекомендации для поддержки аварийного восстановления. Вы можете использовать специализированные функции для поддержки быстрого восстановления и разработки плана аварийного восстановления.

Каждая служба отмены идентификации развертывается в одном регионе Azure. Если весь регион недоступен или производительность значительно снижается:

  • Функциональные возможности уровня управления Azure Resource Manager ограничены доступом только для чтения во время сбоя. Корпорация Майкрософт всегда выполняет резервное копирование метаданных службы (например, свойств ресурсов) за пределами региона. После завершения сбоя вы можете читать и записывать данные в плоскость управления.

  • Все запросы уровня данных, такие как запросы API де-идентификации или задания, завершаются сбоем при сбое. Данные клиента не теряются, но могут быть потеряны метаданные хода выполнения задания. После завершения сбоя можно читать и записывать данные в плоскость данных.

Руководство по аварийному восстановлению

Если весь регион Azure недоступен, вы по-прежнему можете обеспечить высокий уровень доступности рабочих нагрузок. В конфигурации active-active можно развернуть две или несколько служб деидентификации. Конфигурация active-active распределяет запросы по нескольким активным регионам. Используйте Azure Front Door для маршрутизации трафика в оба региона.

В этом примере архитектуры:

  • Идентичные службы отмены идентификации развертываются в двух отдельных регионах.

  • Azure Front Door направляет трафик в оба региона.

  • Во время аварии один регион становится автономным, а Azure Front Door направляет трафик исключительно в другой регион. Цель времени восстановления — это время, необходимое Azure Front Door для обнаружения того, что одна служба неработоспособна.

При внедрении конфигурации "активный— активный" можно ожидать целевого времени восстановления (RTO) в пять минут. В любой конфигурации вы можете рассчитывать на целевой показатель RPO - 0 минут (без потери данных клиента).

Предпосылки

Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.

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

Создайте группу ресурсов

Для работы с этим руководством вам потребуется два экземпляра службы отмены идентификации в разных регионах Azure. В этом руководстве используются регионы "Восточная часть США" и "Западная часть США 2", но вы можете выбрать собственные регионы.

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

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

az group create --name my-deid --location eastus

Создание служб отмены идентификации

Выполните действия, описанные в кратком руководстве. Разверните службу отмены идентификации для создания двух отдельных служб, одной в восточной части США и одной в западной части США 2.

Обратите внимание на URL-адрес каждой службы де-идентификации. Эти сведения потребуются при развертывании Azure Front Door на следующем шаге.

Создайте развертывание

Многорегионное развертывание может использовать конфигурацию active-active или active-passive. Конфигурация active-active распределяет запросы по нескольким активным регионам. Конфигурация "активный-пассивный" поддерживает активные экземпляры во вторичном регионе, но не направляет туда трафик, если только основной регион не выходит из строя.

Эти конфигурации можно включить в Azure Front Door. Дополнительные сведения о разработке приложений для обеспечения высокой доступности и отказоустойчивости см. в статье "Архитектор приложений Azure для обеспечения устойчивости и доступности".

Создание профиля

Теперь вы создадите профиль в Azure Front Door для маршрутизации трафика в службы. Запустите az afd profile create.

Замечание

Если вы хотите развернуть Azure Front Door Standard вместо Premium, замените значение параметра --sku на Standard_AzureFrontDoor. Вы не можете развертывать управляемые правила с помощью политики брандмауэра веб-приложения (WAF), если выбран уровень "Стандартный". Подробное сравнение уровней цен можно найти в разделе сравнение уровней Azure Front Door.

az afd profile create --profile-name myfrontdoorprofile --resource-group my-deid --sku Premium_AzureFrontDoor
Параметр Ценность Description
profile-name myfrontdoorprofile Имя профиля Azure Front Door, которое должно быть уникальным в группе ресурсов.
resource-group my-deid Группа ресурсов, содержащая ресурсы из этого руководства.
sku Premium_AzureFrontDoor Ценовая категория профиля Azure Front Door.

Добавить конечную точку

Чтобы создать конечную точку в профиле Azure Front Door, выполните команду az afd endpoint create. Эта конечная точка направляет запросы к вашим службам. После завершения работы с этим руководством можно создать несколько конечных точек в профиле.

az afd endpoint create --resource-group my-deid --endpoint-name myendpoint --profile-name myfrontdoorprofile --enabled-state Enabled
Параметр Ценность Description
endpoint-name myendpoint Имя конечной точки в профиле, уникальное на глобальном уровне.
enabled-state Enabled Следует ли включить эту конечную точку.

Создание группы источников

Чтобы создать группу исходных данных, содержащую ваши две службы обезличивания, выполните команду az afd origin-group create.

az afd origin-group create --resource-group my-deid --origin-group-name myorigingroup --profile-name myfrontdoorprofile --probe-request-type GET --probe-protocol Https --probe-interval-in-seconds 60 --probe-path /health --sample-size 1 --successful-samples-required 1 --additional-latency-in-milliseconds 50 --enable-health-probe
Параметр Ценность Description
origin-group-name myorigingroup Имя исходной группы.
probe-request-type GET Тип запроса проверки состояния системы, который выполняется.
probe-protocol Https Протокол, используемый для пробы работоспособности.
probe-interval-in-seconds 60 Количество секунд между проверками работоспособности.
probe-path /health Путь относительно источника, который используется для определения работоспособности источника.
sample-size 1 Количество примеров, которые следует учитывать для принятия решений по балансировке нагрузки.
successful-samples-required 1 Количество образцов в течение периода выборки, которые должны завершиться успешно.
additional-latency-in-milliseconds 50 Дополнительная задержка в миллисекундах для зондов, которые попадают в диапазон наименьшей задержки.
enable-health-probe Неприменимо Переключатель для управления статусом зонда работоспособности.

Добавление источников в группу источников

Чтобы добавить источник в группу источников, выполните команду az afd origin create. Для параметров --host-name и --origin-host-header замените значение заполнителя <service-url-east-us> URL-адресом службы Восточного региона США, исключив схему (https://). У вас есть такое значение abcdefghijk.api.eastus.deid.azure.com.

az afd origin create --resource-group my-deid --host-name <service-url-east-us> --profile-name myfrontdoorprofile --origin-group-name myorigingroup --origin-name deid1 --origin-host-header <service-url-east-us> --priority 1 --weight 1000 --enabled-state Enabled --https-port 443
Параметр Ценность Description
host-name <service-url-east-us> Имя узла основной службы деидентификации.
origin-name deid1 Имя источника.
origin-host-header <service-url-east-us> Заголовок Host для отправки запросов на этот источник.
priority 1 Priority. Задайте для этого параметра значение 1, чтобы направить весь трафик в главную службу де-идентификации.
weight 1000 Вес источника в конкретной группе источников для балансировки нагрузки. Должно быть между 1 и 1000.
enabled-state Enabled Следует ли включить этот источник.
https-port 443 Порт, используемый для HTTPS-запросов к источнику.

Повторите этот шаг, чтобы добавить второй источник. Для параметров --host-name и --origin-host-header замените значение заполнителя <service-url-west-us-2> на URL-адрес вашей службы "Запад США 2", без схемы (https://).

az afd origin create --resource-group my-deid --host-name <service-url-west-us-2> --profile-name myfrontdoorprofile --origin-group-name myorigingroup --origin-name deid2 --origin-host-header <service-url-west-us-2> --priority 1 --weight 1000 --enabled-state Enabled --https-port 443

Обратите внимание на --priority параметры в обеих командах. Так как оба источника имеют приоритет 1, Azure Front Door обрабатывает оба источника как активные и направляет трафик в оба региона. Если для одного источника задан 2приоритет, Azure Front Door обрабатывает этот источник как дополнительный. Весь трафик переходит к другому источнику, если этот источник не исчезает.

Добавление маршрута

Чтобы сопоставить конечную точку с группой источника, выполните команду az afd route create. Этот маршрут перенаправляет запросы от конечной точки в группу источников.

az afd route create --resource-group my-deid --profile-name myfrontdoorprofile --endpoint-name myendpoint --forwarding-protocol MatchRequest --route-name route  --origin-group myorigingroup --supported-protocols Https --link-to-default-domain Enabled 
Параметр Ценность Description
endpoint-name myendpoint Имя конечной точки.
forwarding-protocol MatchRequest Протокол, который это правило использует для переадресации трафика на бэкенды.
route-name route Имя маршрута.
supported-protocols Https Список поддерживаемых протоколов для этого маршрута.
link-to-default-domain Enabled Связан ли этот маршрут с доменом конечной точки по умолчанию.

Допустите около 15 минут для завершения этого шага. Требуется некоторое время, чтобы это изменение распространилось в глобальном масштабе. После этого периода профиль Azure Front Door полностью работает.

Проверка профиля

При создании профиля Azure Front Door требуется несколько минут для развертывания конфигурации глобально. По завершении этого периода вы можете получить доступ к созданному хосту.

Чтобы получить имя хоста конечной точки Azure Front Door, запустите команду az afd endpoint show. Оно выглядит следующим образом: abddefg.azurefd.net.

az afd endpoint show --resource-group my-deid --profile-name myfrontdoorprofile --endpoint-name myendpoint --query "hostName"

В браузере перейдите к имени узла конечной точки, возвращаемого предыдущей командой: <endpoint>.azurefd.net/health Запрос автоматически направляется в основную службу обезличивания в восточной части Соединенных Штатов.

Чтобы проверить мгновенную глобальную отказоустойчивость:

  1. Откройте браузер и перейдите к имени узла конечной точки: <endpoint>.azurefd.net/health

  2. Выполните действия, описанные в статье "Настройка частного доступа " для отключения доступа к общедоступной сети для службы отмены идентификации в восточной части США.

  3. Обновите браузер. Вы видите ту же информационную страницу, так как трафик теперь направляется в службу деидентификации в западной части США 2.

    Подсказка

    Чтобы завершить отработку отказа, может потребоваться обновить страницу несколько раз.

  4. Теперь отключите доступ к общедоступной сети для службы деидентификации в регионе Запад США 2.

  5. Обновите браузер. На этот раз появится сообщение об ошибке.

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

Теперь вы проверили, что можете получить доступ к службам через Azure Front Door и что функции переключения на резервный ресурс работают как предполагалось. Включите доступ к общедоступной сети в другой службе, если вы завершили тестирование переключения на резервную систему.

Очистите ресурсы

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы не нужны в будущем, удалите группу ресурсов, выполнив следующую команду:

az group delete --name my-deid

Эта команда может занять несколько минут, чтобы завершиться.

Инициирование восстановления

Чтобы проверить состояние восстановления вашей службы, можно отправить запросы на <service-url>/health.