Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается поддержка надежности в службе де-идентификации данных 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, создайте бесплатную учетную запись перед началом.
Чтобы завершить работу с этим руководством, выполните указанные ниже действия.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, подумайте о запуске Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login . Чтобы завершить процесс аутентификации, следуйте шагам, отображаемым в вашем терминале. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Когда вас попросят, установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Создайте группу ресурсов
Для работы с этим руководством вам потребуется два экземпляра службы отмены идентификации в разных регионах 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 Запрос автоматически направляется в основную службу обезличивания в восточной части Соединенных Штатов.
Чтобы проверить мгновенную глобальную отказоустойчивость:
Откройте браузер и перейдите к имени узла конечной точки:
<endpoint>.azurefd.net/healthВыполните действия, описанные в статье "Настройка частного доступа " для отключения доступа к общедоступной сети для службы отмены идентификации в восточной части США.
Обновите браузер. Вы видите ту же информационную страницу, так как трафик теперь направляется в службу деидентификации в западной части США 2.
Подсказка
Чтобы завершить отработку отказа, может потребоваться обновить страницу несколько раз.
Теперь отключите доступ к общедоступной сети для службы деидентификации в регионе Запад США 2.
Обновите браузер. На этот раз появится сообщение об ошибке.
Повторно включите доступ к общедоступной сети для одной из служб отмены идентификации. Обновите браузер, и вы снова увидите статус работоспособности.
Теперь вы проверили, что можете получить доступ к службам через Azure Front Door и что функции переключения на резервный ресурс работают как предполагалось. Включите доступ к общедоступной сети в другой службе, если вы завершили тестирование переключения на резервную систему.
Очистите ресурсы
На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы не нужны в будущем, удалите группу ресурсов, выполнив следующую команду:
az group delete --name my-deid
Эта команда может занять несколько минут, чтобы завершиться.
Инициирование восстановления
Чтобы проверить состояние восстановления вашей службы, можно отправить запросы на <service-url>/health.