Поделиться через


Надежность в хранилище таблиц Azure

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

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

Хранилище таблиц — это служба, в которой хранятся структурированные данные NoSQL в облаке. Он предоставляет хранилище без схемы, где доступ к каждой сущности осуществляется через ключ и содержит набор атрибутов. Одна таблица может содержать сущности с различными наборами свойств, а свойства могут состоять из различных типов данных.

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

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

Замечание

Хранилище таблиц является частью платформы службы хранилища Azure. Некоторые возможности хранилища таблиц распространены во многих службах хранилища Azure. В этой статье мы используем службу хранилища Azure для ссылки на эти общие возможности.

Рекомендации по развертыванию в производственной среде

Для рабочих сред выполните следующие действия:

  • Включите избыточное между зонами хранилище (ZRS) для учетных записей хранения, содержащих ресурсы хранилища таблиц. ZRS обеспечивает более высокую доступность, реплицируя данные синхронно в нескольких зонах доступности в основном регионе. Эта репликация защищает от сбоев зоны доступности.

  • Если вам нужна устойчивость к сбоям в регионе и основной регион учетной записи хранения, рекомендуется включить геоизбыточное хранилище (GRS) для асинхронной репликации данных в парный регион. В поддерживаемых регионах можно объединить геоизбыточное использование с избыточностью между зонами с помощью геоизбыточного хранилища (GZRS).

  • Для высокомасштабируемых рабочих нагрузок или при наличии высоких требований к устойчивости рекомендуется использовать Azure Cosmos DB для таблицы. Azure Cosmos DB для таблицы совместим с приложениями, написанными для хранилища таблиц. Она поддерживает операции чтения и записи с низкой задержкой в большом масштабе и обеспечивает строгое глобальное распределение в нескольких регионах с гибкими моделями согласованности. Он также предоставляет встроенные возможности резервного копирования и других возможностей, которые повышают устойчивость и производительность приложения.

Обзор архитектуры надежности

Хранилище таблиц работает в качестве распределенной базы данных NoSQL в инфраструктуре платформы хранилища Azure. Служба обеспечивает избыточность с помощью нескольких копий данных таблицы, а конкретная модель избыточности зависит от конфигурации учетной записи хранения.

Локально избыточное хранилище (LRS) реплицирует данные в учетных записях хранения в одну или несколько зон доступности Azure, расположенных в основном регионе вашего выбора. Хотя нет возможности выбрать предпочтительную зону доступности, Azure может перемещать или расширять учетные записи LRS между зонами, чтобы повысить балансировку нагрузки. Нет никаких гарантий, что ваши данные будут распространяться по зонам. Дополнительные сведения о зонах доступности см. в разделе "Что такое зоны доступности?".

Схема, показывающая, как данные реплицируются в зонах доступности с помощью LRS.

Хранилище, избыточное между зонами (ZRS), геоизбыточное хранилище (GRS) и геоизбыточное хранилище (GZRS) обеспечивают дополнительную защиту. В этой статье подробно описаны эти параметры.

Временные сбои

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

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

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

Чтобы эффективно управлять временными сбоями при использовании хранилища таблиц, выполните следующие действия:

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

  • Реализуйте экспоненциальную обратную передачу для политик повторных попыток, особенно если приложение сталкивается с занятой сервером HTTP 503 или ошибками времени ожидания операции HTTP 500. Хранилище таблиц может ограничивать запросы, когда отдельные секции становятся горячими или при приближении ограничений учетной записи хранения.

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

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

Поддержка зоны доступности

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

Хранилище таблиц является избыточным по зонам при развертывании с конфигурацией ZRS. В отличие от локально избыточного хранилища (LRS), ZRS гарантирует, что Azure синхронно реплицирует данные таблицы в нескольких зонах доступности. Эта конфигурация гарантирует, что таблицы остаются доступными, даже если вся зона доступности становится недоступной. Все операции записи должны быть подтверждены в нескольких зонах, прежде чем служба завершит запись, которая обеспечивает надежные гарантии согласованности.

Избыточность зоны включена на уровне учетной записи хранения и применяется ко всем ресурсам хранилища таблиц в этой учетной записи. Так как параметр применяется ко всей учетной записи хранения, вы не можете настроить отдельные сущности для разных уровней избыточности. Когда зона доступности возникает сбой, служба хранилища Azure автоматически направляет запросы в здоровые зоны без каких-либо действий от вас или вашего приложения.

Схема, показывающая, как данные реплицируются в основном регионе с хранилищем, избыточным между зонами (ZRS).

Поддержка регионов

Учетные записи хранения Azure, избыточные между зонами, можно развертывать в любом регионе, поддерживающем зоны доступности.

Требования

Для включения ZRS для хранилища таблиц необходимо использовать учетную запись хранения общего назначения уровня "Стандартный" версии 2. Учетные записи хранения класса Premium не поддерживают хранилище таблиц.

Себестоимость

При включении избыточного между зонами хранилища (ZRS) плата взимается по сравнению с локальным избыточным хранилищем (LRS) из-за дополнительных затрат на репликацию и хранение.

Подробные сведения о ценах см. в разделе "Цены на хранилище таблиц".

Настройка поддержки зоны доступности

  • Создайте учетную запись хранения и таблицу, избыточные между зонами:

    1. Создайте учетную запись хранения. Не забудьте выбрать геоизбыточное хранилище ZRS, GZRS или геоизбыточное хранилище для чтения (RA-GZRS) в качестве параметра избыточности.

    2. Создайте таблицу.

  • Изменение типа репликации. Сведения о том, как изменить существующую учетную запись хранения на хранилище, избыточное между зонами (ZRS), а также о параметрах конфигурации и требованиях, см. в статье "Изменение репликации учетной записи хранения".

  • Отключите избыточность в зоне. Преобразуйте учетные записи ZRS обратно в незональную конфигурацию, например локально избыточное хранилище (LRS), используя тот же процесс изменения конфигурации избыточности.

Нормальная работа

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

  • Маршрутизация трафика между зонами: Служба хранилища Azure с хранилищем с избыточностью между зонами (ZRS) автоматически распределяет запросы между кластерами хранилища в нескольких зонах доступности. Распределение трафика прозрачно для приложений и не требует настройки на стороне клиента.

  • Репликация данных между зонами: Все операции записи в ZRS реплицируются синхронно во всех зонах доступности в регионе. При отправке или изменении данных операция не считается завершенной, пока данные не будут успешно реплицированы во всех зонах доступности. Эта синхронная репликация обеспечивает высокую согласованность и нулевую потерю данных во время сбоев зоны.

Опыт понижения зоны

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

  • Обнаружение и ответ: Корпорация Майкрософт автоматически обнаруживает сбои зоны и инициирует процессы восстановления. Для учетных записей, избыточных между зонами (ZRS), действие клиента не требуется.

    Если зона становится недоступной, Azure выполняет обновления сети, такие как переназначение системы доменных имен (DNS).

  • Уведомление. Служба хранилища Azure не уведомляет вас об отключении зоны. Однако вы можете использовать службу "Работоспособность ресурсов Azure " для отслеживания работоспособности учетной записи хранения. Вы также можете использовать службу " Работоспособность служб Azure ", чтобы понять общую работоспособность службы хранилища Azure, включая любые сбои зоны.

    Настройте оповещения в этих службах для получения уведомлений о проблемах уровня зоны. Дополнительные сведения см. в статье "Создание оповещений о работоспособности службы" на портале Azureи создание и настройка оповещений о работоспособности ресурсов.

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

  • Ожидаемая потеря данных: Потеря данных не возникает во время сбоев зоны, так как данные синхронно реплицируются в нескольких зонах до завершения операций записи.

  • Ожидаемое время простоя: Небольшое время простоя, как правило, несколько секунд может произойти во время автоматического восстановления, так как трафик перенаправляется в здоровые зоны. При разработке приложений для ZRS следуйте рекомендациям по обработке временных ошибок, включая реализацию политик повторных попыток с экспоненциальным обратным отключением.

  • Перенаправка трафика: Если зона становится недоступной, Azure выполняет обновления сети, такие как перенаправка системы доменных имен (DNS), чтобы запросы направлялись в оставшиеся здоровые зоны доступности. Служба поддерживает полную функциональность с помощью работоспособных зон и не требует вмешательства клиента.

Восстановление зоны

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

Тестирование зон на сбои

При использовании хранилища, избыточного между зонами (ZRS), служба хранилища Azure управляет репликацией, маршрутизацией трафика и ответами вниз по зонам автоматически. Так как эта функция полностью управляема, не требуется инициировать или проверять процессы сбоя зоны доступности.

Поддержка нескольких регионов

Служба хранилища Azure, включая хранилище BLOB-объектов Azure, файлы Azure, хранилище таблиц Azure и хранилище очередей Azure, предоставляет ряд возможностей геоизбыточной и отработки отказа в соответствии с различными требованиями.

Это важно

Геоизбыточное хранилище (GRS) работает только в парных регионах Azure. Если регион учетной записи хранения не имеет пары, попробуйте использовать альтернативные подходы для работы с несколькими регионами.

Репликация между парными регионами

Служба хранилища Azure предоставляет несколько типов GRS в парных регионах. Независимо от используемого типа GRS данные в дополнительном регионе всегда реплицируются с помощью локально избыточного хранилища (LRS). Этот подход обеспечивает защиту от сбоев оборудования в дополнительном регионе.

  • Геоизбыточное хранилище для чтения (RA-GRS) и геоизбыточное хранилище (RA-GZRS) для чтения расширяет геоизбыточное хранилище (GRS) и геоизбыточное хранилище (GZRS) с дополнительным преимуществом доступа на чтение к вторичной конечной точке. Эти варианты идеально подходят для приложений, предназначенных для приложений с высоким уровнем доступности, критически важных для бизнеса. В маловероятном случае, когда основная конечная точка испытывает сбой, приложения, настроенные для доступа на чтение к дополнительному региону, могут продолжать работать.

Типы аварийного переключения

Служба хранилища Azure поддерживает три типа отработки отказа для различных сценариев.

  • Незапланированная отработка отказа, управляемая клиентом: Вы несете ответственность за инициирование восстановления, если в основном регионе произошел сбой хранилища на уровне региона.

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

  • Отработка отказа, управляемая корпорацией Майкрософт: В исключительных обстоятельствах корпорация Майкрософт может инициировать отработку отказа для всех учетных записей геоизбыточного хранилища (GRS) в регионе. Однако управляемая корпорацией Майкрософт отработка отказа является последним средством и, как ожидается, будет выполнена только после длительного периода сбоя. Вы не должны полагаться на отработку отказа, управляемой корпорацией Майкрософт.

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

Поддержка регионов

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

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

Требования

Геоизбыточное хранилище (GRS) и инициированное клиентом отработка отказа и восстановление размещения доступны во всех парных регионах Azure , поддерживающих учетные записи хранения Azure общего назначения версии 2.

Соображения

При реализации хранилища таблиц с несколькими регионами следует учитывать следующие важные факторы:

  • Задержка асинхронной репликации: Репликация данных в дополнительный регион является асинхронной, что означает, что задержка между записью данных в основной регион и когда она становится доступной в дополнительном регионе. Эта задержка может привести к потенциальной потере данных, если происходит сбой основного региона до репликации последних данных. Потеря данных измеряется целевой точкой восстановления (RPO). Вы можете ожидать, что задержка репликации будет меньше 15 минут, но на этот раз это оценка и не гарантируется.

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

  • Доступ к дополнительному региону: При использовании геоизбыточного хранилища (GRS) и геоизбыточного хранилища (GZRS) дополнительный регион недоступен для операций чтения до тех пор, пока не произойдет отработка отказа.

    Геоизбыточное хранилище для чтения (RA-GRS) и конфигурации геоизбыточного хранилища (RA-GZRS) для чтения (RA-GZRS) обеспечивают доступ на чтение к дополнительному региону во время обычных операций, но из-за задержки асинхронной репликации они могут возвращать немного устаревшие данные.

Себестоимость

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

Подробные сведения о ценах см. в разделе "Цены на хранилище таблиц".

Настройка поддержки нескольких регионов

  • Создайте учетную запись геоизбыточного хранилища (GRS). Чтобы создать учетную запись GRS, ознакомьтесь с разделом "Создание учетной записи хранения " и выбором GRS, геоизбыточного хранилища (RA-GRS), геозоны избыточного хранилища (GZRS) или геоизбыточного хранилища (RA-GZRS) для чтения (RA-GZRS).
  • Включите геоизбыточное использование существующей учетной записи хранения. Сведения о преобразовании существующей учетной записи хранения в геоизбыточное хранилище (GRS) см. в статье "Изменение репликации учетной записи хранения".

    Предупреждение

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

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

  • Отключите геоизбыточность. Преобразуйте учетные записи GRS обратно в конфигурации с одним регионом, например локально избыточное хранилище (LRS) или хранилище, избыточное между зонами (ZRS), используя тот же процесс изменения конфигурации избыточности.

Нормальная работа

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

  • Маршрутизация трафика между регионами: Служба хранилища Azure использует активный пассивный подход, где все операции записи и большинство операций чтения направляются в основной регион.

    Для геоизбыточного хранилища для чтения (RA-GRS) и конфигураций геоизбыточного хранилища (RA-GZRS) для чтения приложения могут при необходимости считывать из дополнительного региона путем доступа к вторичной конечной точке. Этот подход требует явной настройки приложения и не является автоматическим. Кроме того, из-за задержки асинхронной репликации данные в дополнительном регионе могут быть немного устаревшими.

  • Репликация данных между регионами: Операции записи сначала фиксируются в основном регионе с помощью следующих настроенных типов избыточности:

    • Локально избыточное хранилище (LRS) для геоизбыточного хранилища (GRS) и RA-GRS
    • Хранилище, избыточное между зонами (ZRS) для геоизбыточного хранилища (GZRS) и RA-GZRS

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

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

Опыт региональной недоступности

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

  • Отработка отказа, управляемого клиентом (незапланированная): Используйте незапланированную отработку отказа, если хранилище в основном регионе недоступно.

    • Обнаружение и реагирование: В маловероятном случае, когда учетная запись хранилища недоступна в основном регионе, можно рассмотреть возможность инициирования аварийного переключения, управляемого клиентом. Чтобы принять это решение, рассмотрите следующие факторы:

      • Отображаются ли проблемы с доступом к учетной записи хранения в основном регионе Azure Resource Health

      • Советует ли корпорация Майкрософт выполнять отработку отказа в другой регион

      Предупреждение

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

    • Уведомление: Служба хранилища Azure не уведомляет вас об отключении региона. Однако вы можете использовать службу "Работоспособность ресурсов Azure " для отслеживания работоспособности учетной записи хранения. Вы также можете использовать службу работоспособности служб Azure для понимания общего состояния службы хранилища Azure, включая сбои любого региона.

      Настройте оповещения в этих службах для получения уведомлений о проблемах на уровне региона. Дополнительные сведения см. в статье "Создание оповещений о работоспособности службы" на портале Azureи создание и настройка оповещений о работоспособности ресурсов.

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

    • Ожидаемая потеря данных: Потеря данных распространена во время незапланированной отработки отказа из-за задержки асинхронной репликации, что означает, что последние записи могут не реплицироваться. Вы можете проверить свойство времени последней синхронизации , чтобы понять, сколько данных может быть потеряно во время незапланированной отработки отказа. Ожидаемая потеря данных часто называется целевой точкой восстановления (RPO). Обычно можно ожидать, что RPO будет менее 15 минут, но это время не гарантируется.

    • Ожидаемое время простоя: Количество ожидаемого простоя часто называется целевой задачей времени восстановления (RTO). Отказоустойчивость, контролируемая клиентом, обычно занимает до 60 минут в зависимости от размера аккаунта и сложности.

    • Перенаправка трафика: По завершении отработки отказа Azure автоматически обновляет конечные точки учетной записи хранения, чтобы приложения не должны быть перенастроены. Если приложение хранит записи системы доменных имен (DNS), возможно, потребуется очистить кэш, чтобы убедиться, что приложение отправляет трафик в новый первичный регион.

    • Конфигурация после отработки отказа: После завершения незапланированной отработки отказа учетная запись хранения в целевом регионе использует уровень локально избыточного хранилища (LRS). Если необходимо снова выполнить геореплицирование, необходимо повторно включить геоизбыточное хранилище (GRS) и дождаться репликации данных в новый дополнительный регион.

    Дополнительные сведения о том, как инициировать отработку отказа, управляемой клиентом, см. в статье о том, как работает отработка отказа управляемой клиентом (незапланированной) и запуск отработки отказа учетной записи хранения.

  • Отработка отказа, управляемого клиентом (запланированная): Используйте плановую отработку отказа, если хранилище остается в основном регионе, но вам нужно выполнить отработку отказа в дополнительный регион по другой причине. Например, другая служба Azure может столкнуться с проблемой, и вам нужно переключиться на использование дополнительного региона для всего решения. Или вы можете использовать плановое переключение на резерв для выполнения учебного восстановления после аварии для целей соответствия требованиям и аудита.

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

    • Уведомление: Служба хранилища Azure не уведомляет вас об отключении региона. Однако вы можете использовать службу "Работоспособность ресурсов Azure " для отслеживания работоспособности учетной записи хранения. Вы также можете использовать службу работоспособности служб Azure для понимания общего состояния службы хранилища Azure, включая сбои любого региона.

      Настройте оповещения в этих службах для получения уведомлений о проблемах на уровне региона. Дополнительные сведения см. в статье "Создание оповещений о работоспособности службы" на портале Azureи создание и настройка оповещений о работоспособности ресурсов.

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

    • Ожидаемая потеря данных: Потеря данных не ожидается, так как процесс отработки отказа завершается только после синхронизации всех данных, что обеспечивает целевое время восстановления (RPO) равное нулю.

    • Ожидаемое время простоя: Отработка отказа обычно завершается в течение 60 минут, что означает, что ожидаемое время восстановления (RTO) составляет 60 минут в зависимости от размера учетной записи и сложности. Во время отработки отказа конечные точки основной и вторичной учетной записи хранения становятся временно недоступными для операций чтения и записи.

    • Перенаправка трафика: По завершении отработки отказа Azure автоматически обновляет конечные точки учетной записи хранения, чтобы приложения не должны быть перенастроены. Если приложение хранит записи DNS в кэше, может потребоваться очистить кэш, чтобы убедиться, что приложение отправляет трафик в новый основной регион.

    • Конфигурация после отработки отказа: После завершения плановой отработки отказа учетная запись хранилища в целевом регионе продолжает геореплицироваться и остается на уровне GRS (Geo-Redundant Storage).

    Дополнительные сведения о том, как инициировать отработку отказа, управляемой клиентом, см. в статье о том, как работает отработка отказа управляемой клиентом (запланированной) отработки отказа и инициирование отработки отказа учетной записи хранения.

  • Отработка отказа, управляемая корпорацией Майкрософт: В редких случаях крупной аварии, когда корпорация Майкрософт определяет, что основной регион не может быть восстановлен, может быть инициирована автоматическая отработка отказа в резервный регион. Корпорация Майкрософт обрабатывает весь процесс и не требуется никаких действий клиента. Время, которое проходит до резервного переключения, зависит от серьезности аварии и времени, необходимого для оценки ситуации.

    Это важно

    Используйте варианты переключения на резервный ресурс с управлением клиентом для разработки, тестирования и реализации ваших планов аварийного восстановления. Не полагаться на отработку отказа, управляемой корпорацией Майкрософт, которая может использоваться только в чрезвычайных обстоятельствах. Отработка отказа, управляемого корпорацией Майкрософт, скорее всего, инициируется для всего региона. Его нельзя инициировать для отдельных учетных записей хранения, подписок или клиентов. Отработка отказа может происходить в различное время для разных служб Azure. Рекомендуется использовать отработку отказа, управляемую клиентом.

Восстановление региона

Процесс восстановления размещения значительно отличается от сценариев отработки отказа, управляемых корпорацией Майкрософт и управляемыми клиентом.

  • Отработка отказа, управляемого клиентом (незапланированная): После незапланированной отработки отказа учетная запись хранения настраивается с локальным избыточным хранилищем (LRS). Чтобы восстановить отработку отказа, необходимо повторно установить связь геоизбыточного хранилища (GRS) и дождаться репликации данных.

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

  • Отработка отказа, управляемая корпорацией Майкрософт: Если корпорация Майкрософт инициирует отработку отказа, скорее всего, произошла серьезная авария в основном регионе, а основной регион может не восстановиться. Любые временные шкалы или планы восстановления зависят от степени усилий регионального аварийного и восстановления. Следует отслеживать коммуникации Azure Service Health для получения подробной информации.

Тестирование сбоев в регионе

Вы можете имитировать региональные сбои для тестирования процедур аварийного восстановления.

  • Запланированное тестирование отработки отказа: Для учетных записей геоизбыточного хранилища (GRS) можно выполнять запланированные операции отработки отказа во время периода обслуживания, чтобы проверить полный процесс отработки отказа и восстановления размещения. Плановая отработка отказа не требует потери данных, но включает простой во время отработки отказа и восстановления размещения.

  • Тестирование вторичной конечной точки: Для геоизбыточного хранилища (RA-GRS) и геоизбыточного хранилища (RA-GZRS) для чтения регулярно тестируют операции чтения с вторичной конечной точкой, чтобы приложение успешно считывала данные из дополнительного региона.

Альтернативные подходы с несколькими регионами

Возможности отработки отказа между регионами службы хранилища Azure могут быть неподходящими из-за следующих причин:

  • Ваша учетная запись хранения находится в непарализованном регионе.

  • Цели вашей компании по обеспечению бесперебойной работы не достигаются с помощью времени восстановления или потери данных, которые предполагают встроенные варианты автоматического переключения.

  • Необходимо переключиться на регион, который не является парой вашего основного региона.

  • Для разных регионов требуется активная и активная конфигурация.

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

Замечание

Для приложений, созданных для использования хранилища таблиц, рекомендуется использовать Azure Cosmos DB для таблицы. Azure Cosmos DB для таблицы поддерживает расширенные требования к нескольким регионам, включая поддержку непередернутых регионов. Он также предназначен для обеспечения совместимости с приложениями, созданными для хранилища таблиц.

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

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

Backups

Хранилище таблиц не предоставляет традиционных возможностей резервного копирования, таких как восстановление на определенный момент времени (PITR). Однако можно реализовать пользовательские стратегии резервного копирования для табличных данных. Для большинства решений не следует полагаться исключительно на резервные копии. Вместо этого используйте другие возможности, описанные в этом руководстве, для поддержки требований к устойчивости. Однако резервные копии защищают от некоторых рисков, которые другие методы не обеспечивают. Дополнительные сведения см. в разделе "Избыточность", "Репликация" и "Резервное копирование".

Если требуется встроенная возможность резервного копирования, рассмотрите возможность перехода в Azure Cosmos DB для таблицы, которая обеспечивает поддержку периодических и непрерывных резервных копий. Дополнительные сведения см. в статье " Резервное копирование по сети" и восстановление данных по запросу в Azure Cosmos DB.

В сценариях, требующих резервного копирования данных из хранилища таблиц, рассмотрим следующие подходы:

  • Экспорт с помощью фабрики данных Azure. Используйте соединитель Фабрики данных Azure для хранилища таблиц, чтобы экспортировать сущности в другое расположение. Например, можно создать резервную копию каждой сущности в JSON-файл, хранящийся в хранилище BLOB-объектов Azure.

  • Выполните резервное копирование на уровне приложения. Реализуйте настраиваемую логику резервного копирования в приложениях для экспорта критически важных сущностей таблиц в другие службы хранилища, такие как База данных SQL Azure или Azure Cosmos DB для более надежного резервного копирования и восстановления.

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

Соглашение об уровне обслуживания

Соглашение об уровне обслуживания (SLA) для службы хранилища Azure описывает ожидаемую доступность службы и условия, которые необходимо выполнить для достижения этого ожидания доступности. Соглашение об уровне обслуживания доступности зависит от уровня хранилища и используемого типа репликации. Дополнительные сведения см. в разделе об уровне обслуживания для веб-служб.