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


Рекомендации по архитектуре для Базы данных Azure для PostgreSQL

База данных Azure для PostgreSQL — это реляционная служба баз данных в Azure, основанная на реляционной базе данных с открытым исходным кодом PostgreSQL. Это полностью управляемое облачное решение базы данных, которое поддерживает критически важные рабочие нагрузки с прогнозируемой производительностью, безопасностью, высокой доступностью и динамической масштабируемостью. База данных Azure для PostgreSQL построена на редакции сообщества базы данных PostgreSQL. Она совместима с выпуском сообщества серверов PostgreSQL и поддерживает функции расширения PostgreSQL, такие как PostGIS и TimescaleDB.

В этой статье предполагается, что в качестве архитектора вы изучили параметры данных Azure и выбрали Базу данных Azure для PostgreSQL в качестве хранилища данных для рабочей нагрузки. В этой статье приведены рекомендации по архитектуре, сопоставленные с принципами Well-Architected платформы.

Область технологий

В этом обзоре рассматриваются взаимосвязанные решения для следующих ресурсов Azure:

  • База данных Azure для PostgreSQL

Reliability

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

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

Контрольный список разработки рабочей нагрузки

  • Ознакомьтесь с руководством по надежности продукта Базы данных Azure для PostgreSQL.
    Дополнительные сведения см. в следующих ресурсах:

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

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

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

  • Включите экземпляры Базы данных Azure для PostgreSQL в платформу наблюдаемости. Включите расширенные метрики для мониторинга работоспособности вашего экземпляра. Включите мониторинг работоспособности с высокой доступностью в ваше решение для мониторинга.

Рекомендации по настройке

Recommendation Benefit
Выберите соответствующую конфигурацию высокого уровня доступности. При настройке высокой доступности сервер Базы данных Azure для PostgreSQL автоматически подготавливает резервную реплику и управляет ими. Эта настройка гарантирует, что служба остается доступной и не теряет данные во время сбоя зоны.
Настройте геоизбыточные резервные копии. Межрегиональные реплики для чтения можно развернуть для защиты ваших баз данных от сбоев на уровне региона. Геоизбыточные резервные копии включены в выбранных регионах и помогают в аварийном восстановлении, если регион сервера-источника недоступен.

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

Azure Backup также обеспечивает геоизбыточное обеспечение для Базы данных Azure для PostgreSQL. Эта функция повышает эффективность и сокращает время простоя во время аварий или региональных сбоев.
Регулярно тестируйте стратегию резервного копирования и восстановления. Регулярное тестирование стратегии резервного копирования и восстановления обеспечивает восстановление баз данных и обслуживание операций при возникновении сбоя.

Security

Цель компонента "Безопасность" — обеспечить конфиденциальности, целостности и доступности гарантии рабочей нагрузки.

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

Контрольный список разработки рабочей нагрузки

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

  • Реализация строгого, условного и аудита управления удостоверениями и доступом. Используйте идентификатор Microsoft Entra для проверки подлинности и авторизации для улучшения управления удостоверениями.

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

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

Рекомендации по настройке

Recommendation Benefit
Реализуйте группы безопасности сети и брандмауэры для управления доступом к базе данных. В рамках модели "Нулевое доверие" для обеспечения безопасности используйте сегментацию сети, чтобы ограничить пути связи между компонентами, такими как серверы приложений и баз данных, только тем, что необходимо. Эту функцию можно реализовать с помощью групп безопасности сети и групп безопасности приложений.
Подключитесь к базам данных через Приватный канал Azure. Private Link позволяет создавать частные конечные точки для Azure Database for PostgreSQL, чтобы расширить службу внутри вашей виртуальной сети.
Используйте идентификатор Microsoft Entra для проверки подлинности и авторизации для улучшения управления удостоверениями. Проверку подлинности Microsoft Entra можно использовать для подключения к Базе данных Azure для PostgreSQL с помощью управляемых удостоверений в Microsoft Entra.
Настройте безопасность на уровне строк. Безопасность на уровне строк — это функция безопасности PostgreSQL, которая позволяет администраторам баз данных определять политики для контроля того, как определенные строки данных отображаются и работают для одной или нескольких ролей. Безопасность на уровне строк — это дополнительный фильтр, который можно применить к таблице базы данных PostgreSQL.
Если требуется для соответствия требованиям, используйте управляемые клиентом ключи (CMKs) для шифрования данных и сохраните ключи в Azure Key Vault. Пакеты УПРАВЛЕНИЯ обеспечивают полный контроль жизненного цикла ключа шифрования, включая смену ключей, для соответствия корпоративным политикам. Key Vault обеспечивает централизованное управление и организацию ключей шифрования в собственных выделенных экземплярах Key Vault.
Для самых высоких требований к безопасности включите конфиденциальные вычисления для защиты данных, используемых с аппаратным шифрованием. Конфиденциальные вычисления предоставляют аппаратное шифрование для операций обработки данных. Организации, обрабатывающие конфиденциальные данные в строго регулируемых отраслях, могут соответствовать строгим нормативным требованиям при сохранении производительности базы данных.
Включите регулирование подключения для IP-адресов, у которых слишком много неудачных попыток входа. Настройка параметра сервера connection_throttling на enabled помогает защитить базы данных от вредоносных попыток входа и атак типа "отказ в обслуживании" (DDoS), ограничивая повторные попытки подключения с одного IP-адреса.
Регулярно проводите аудиты безопасности. Регулярное проведение аудита безопасности помогает выявлять и устранять потенциальные уязвимости.

Оптимизация затрат

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

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

Контрольный список разработки рабочей нагрузки

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

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

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

  • Воспользуйтесь преимуществами доступных скидок. Рассмотрим одно или три года резервирования вычислительных ресурсов. Зарезервированные экземпляры позволяют сэкономить значительные затраты на вычислительные ресурсы.

  • Используйте подготовленное хранилище. Дополнительная плата за хранилище резервных копий объемом до 100% не взимается от вашего общего выделенного серверного хранилища.

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

  • Понимание затрат на защищённый экземпляр и резервное хранилище. При резервном копировании базы данных Azure для PostgreSQL с помощью Azure Backup, взимается плата за защищенные экземпляры за каждые 250 ГБ, а также сборы за хранение резервных копий на основе общего объема хранимых данных и типа избыточности.

  • Развертывание в том же регионе, что и приложение. Разверните в том же регионе, что и приложения, чтобы свести к минимуму затраты на передачу.

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

Рекомендации по настройке

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

Операционное превосходство

Операционное совершенство в основном сосредоточено на процедурах, касающихся практик разработки , наблюдаемости и управления релизами.

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

Контрольный список разработки рабочей нагрузки

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

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

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

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

Рекомендации по настройке

Recommendation Benefits
Используйте политику Azure Backup отдельно или вместе с собственными автоматическими резервными копиями для резервного копирования баз данных. База данных Azure для PostgreSQL предоставляет автоматические резервные копии и восстановление на определенный момент времени для вашей базы данных. Срок хранения резервных копий можно настроить до 35 дней.

Используйте Azure Backup для определения способа создания резервных копий, периода хранения точек восстановления и правил защиты и восстановления данных. Точки восстановления можно хранить в хранилище Azure Backup до 10 лет. Вы также можете управлять операциями резервного копирования и восстановления с помощью Центра непрерывности бизнес-процессов Azure.
Запланируйте пользовательские окна обслуживания для применения обновлений служб. Вы можете определить пользовательское расписание для каждой базы данных Azure для PostgreSQL в подписке Azure. С помощью настраиваемого расписания можно указать период обслуживания сервера, выбрав день недели и время начала периода обслуживания за один час.
Отслеживайте сервер, чтобы убедиться, что он работоспособен и функционирует как ожидается. База данных Azure для PostgreSQL содержит различные метрики, которые предоставляют представление о поведении ресурсов, поддерживающих экземпляр Базы данных Azure для PostgreSQL. Кроме того, можно включить расширенные метрики для получения точного мониторинга и оповещений в базах данных.

Эффективность производительности

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

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

Контрольный список разработки рабочей нагрузки

  • Оптимизируйте запросы. Используйте собственные функции для поиска возможностей для оптимизации запросов.

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

  • Разгрузить операции в режиме только для чтения. Если ваше приложение поддерживает строки подключения только для чтения, можно передать операции только для чтения на реплики для чтения.

Рекомендации по настройке

Recommendation Benefits
Используйте хранилище запросов для отслеживания производительности запросов с течением времени. Хранилище запросов упрощает устранение проблем с производительностью, помогая быстро находить самые длительные и наиболее ресурсоемкие запросы.
Используйте аналитику производительности запросов , чтобы определить наиболее потребляемые ресурсы и длительные запросы в рабочей нагрузке. Аналитика производительности запросов помогает выявлять длительные запросы и их изменения с течением времени, определять типы ожидания, влияющие на них, анализировать основные запросы базы данных по частоте и другим преимуществам.
Используйте настройку индекса с хранилищем запросов для анализа отслеживаемых запросов и предоставления рекомендаций. Настройка индекса анализирует рабочую нагрузку, которую отслеживает хранилище запросов. Он создает рекомендации по индексу для повышения производительности проанализированной рабочей нагрузки или удаления повторяющихся или неиспользуемых индексов. Настройка индекса помогает определить полезные индексы, повторяющиеся индексы и неиспользуемые индексы.
Используйте интеллектуальную настройку для автоматического повышения производительности и предотвращения проблем. Интеллектуальная настройка постоянно отслеживает состояние гибкой базы данных сервера База данных Azure для PostgreSQL и динамически адаптирует базу данных к рабочей нагрузке.
Включите поддержку PgBouncer для оптимизации пула подключений. Улучшает использование ресурсов базы данных и управление подключениями.

Политики Azure

Azure предоставляет широкий набор встроенных политик, связанных с Базой данных Azure для PostgreSQL и ее зависимостями. Некоторые из предыдущих рекомендаций можно проверять с помощью политики Azure. Например, можно проверить, можно ли:

Для комплексного управления ознакомьтесь со встроенными определениями политики Azure для Базы данных Azure для PostgreSQL и другими политиками, которые могут повлиять на безопасность хранилищ данных.

Рекомендации Помощника по Azure

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

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

Пример архитектуры

Базовая архитектура, демонстрирующая основные рекомендации: шаблон Надежных веб-приложений для Java.