Гибкий сервер Базы данных Azure для MySQL (предварительная версия)Azure Database for MySQL - Flexible Server (Preview)

База данных Azure для MySQL на базе MySQL Community Edition доступна в двух режимах развертывания:Azure Database for MySQL powered by the MySQL community edition is available in two deployment modes:

  • Одиночный серверSingle Server
  • Гибкий сервер (предварительная версия)Flexible Server (Preview)

В этой статье приводится обзор и основные понятия модели развертывания гибкого сервера.In this article, we will provide an overview and introduction to core concepts of flexible server deployment model. Сведения о том, как решить, какой вариант развертывания подходит для вашей рабочей нагрузки, см. в статье Выбор подходящего варианта для сервера MySQL в Azure.For information on how to decide what deployment option is appropriate for your workload, see choosing the right MySQL server option in Azure.

ОбзорOverview

Гибкий сервер Базы данных Azure для MySQL — это полностью управляемая служба базы данных, призванная обеспечить более детализированный контроль и гибкость функций управления базами данных и параметров конфигурации.Azure Database for MySQL Flexible Server is a fully managed database service designed to provide more granular control and flexibility over database management functions and configuration settings. Как правило, эта служба обеспечивает лучшую гибкость и настройку конфигурации сервера на основе требований пользователей.In general, the service provides more flexibility and server configuration customizations based on the user requirements. Архитектура гибкого сервера позволяет обеспечивать высокий уровень доступности в пределах одной или нескольких зон доступности.The flexible server architecture allows users to opt for high availability within single availability zone and across multiple availability zones. Гибкие серверы также предоставляют больше возможностей для оптимизации затрат, позволяя останавливать и запускать сервер и номера SKU с накапливаемыми ресурсами. Это идеально подходит для рабочих нагрузок, не требующих постоянной работы с полной нагрузкой на вычислительные ресурсы.Flexible servers also provide better cost optimization controls with ability to stop/start your server and burstable skus, ideal for workloads that do not need full compute capacity continuously. В настоящее время служба поддерживает версии сообщества MySQL 5.7 и 8.0.The service currently supports community version of MySQL 5.7 and 8.0. Сейчас служба доступна в режиме предварительной версии во многих регионах Azure.The service is currently in preview, available today in wide variety of Azure regions.

Гибкие серверы обеспечивают:Flexible servers are best suited for

  • разработку приложений, которым требуются лучшие возможности управления и настройки;Application developments requiring better control and customizations.
  • высокий уровень доступности с избыточностью в пределах зоны;Zone redundant high availability
  • управляемые периоды обслуживания.Managed maintenance windows

Концептуальная схема гибкого сервера

Высокий уровень доступности в пределах зон доступности и между нимиHigh availability within and across availability zones

Модель развертывания гибкого сервера позволяет обеспечивать высокий уровень доступности в пределах одной или нескольких зон доступности.The flexible server deployment model is designed to support high availability within single availability zone and across multiple availability zones. В этой архитектуре ресурсы вычислений и хранилища разделены.The architecture separates compute and storage. Ядро СУБД работает на виртуальной машине, а файлы данных находятся в службе хранилища Azure.The database engine runs on a virtual machine, while data files reside on Azure storage. Хранилище поддерживает три локально избыточные синхронные копии файлов базы данных, гарантирующие устойчивость данных в любое время.The storage maintains three locally redundant synchronous copies of the database files ensuring data durability at all times.

В рамках одной зоны доступности, если сервер выходит из строя из-за запланированных или незапланированных событий, служба поддерживает высокий уровень доступности серверов, используя следующую автоматическую процедуру:Within a single availability zone, if the server goes down due to planned or unplanned events, the service maintains high availability of the servers using following automated procedure:

  1. Будет подготовлена новая виртуальная машина для вычислений.A new compute VM is provisioned.
  2. Хранилище с файлами данных сопоставляется с новой виртуальной машиной.The storage with data files is mapped to the new Virtual Machine
  3. Ядро СУБД MySQL переходит в режим "в сети" на новой виртуальной машине.MySQL database engine is brought online on the new Virtual Machine.
  4. Клиентские приложения могут повторно подключаться после того, как сервер будет готов к приему подключений.Client applications can reconnect once the server is ready to accept connections.

Концептуальная схема высокого уровня доступности в рамках одной зоны

Если настроен высокий уровень доступности с избыточностью в пределах зоны, служба подготавливает и обслуживает сервер горячей замены в зоне доступности в одном и том же регионе Azure.If zone redundant high availability is configured, the service provisions and maintains a hot standby server across availability zone within the same Azure region. Изменения данных на исходном сервере синхронно реплицируются на резервный сервер во избежание потери данных.The data changes on the source server is synchronously replicated to the standby server to ensure zero data loss. При повышении уровня доступности с избыточностью в пределах зоны после запуска планового или внепланового события отработки отказа резервный сервер немедленно переходит в оперативный режим и становится доступным для обработки входящих транзакций.With zone redundant high availability, once the planned or unplanned failover event is triggered, the standby server comes online immediately and is available to process incoming transactions. Типичное время отработки отказа составляет от 60 до 120 секунд.The typical failover time ranges from 60-120 seconds. Это позволяет службе поддерживать высокий уровень доступности и обеспечивает повышенную отказоустойчивость к отдельным сбоям в зоне доступности в заданном регионе Azure.This allows the service to support high availability and provide improved resiliency with tolerance for single availability zone failures in a given Azure region.

Дополнительные сведения см. в документации с основными понятиями высокого уровня доступности.See high availability concepts for more details.

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

Автоматизированное исправление с управляемым периодом обслуживанияAutomated patching with managed maintenance window

Служба выполняет автоматическую установку исправлений,The service performs automated patching of the underlying hardware, OS, and database engine. Установка исправлений включает обновления для системы безопасности и программного обеспечения.The patching includes security and software updates. Для ядра MySQL в рамках планового обслуживания также включены обновления дополнительных версий.For MySQL engine, minor version upgrades are also included as part of the planned maintenance release. Пользователи могут настроить расписание исправлений, управляемое системой, или задать собственное расписание.Users can configure the patching schedule to be system managed or define their custom schedule. В течение запланированного обслуживания устанавливается исправление, и для завершения обновления может потребоваться перезапустить сервер в рамках процесса исправления.During the maintenance schedule, the patch is applied and server may require a restart as part of the patching process to complete the update. С помощью настраиваемого расписания пользователи могут сделать цикл исправлений прогнозируемым и выбрать период обслуживания с минимальным влиянием на бизнес-процессы.With the custom schedule, users can make their patching cycle predictable and choose a maintenance window with minimum impact to the business. Как правило, служба придерживается графика ежемесячных выпусков в рамках непрерывной интеграции и выпуска.In general, the service follows monthly release schedule as part of the continuous integration and release.

Дополнительные сведения см. в статье Запланированное обслуживание на гибком сервере Базы данных Azure для MySQL.See Scheduled Maintenance for more details.

Автоматическое резервное копированиеAutomatic backups

Служба гибкого сервера автоматически создает резервные копии и сохраняет их в локально избыточном или геоизбыточном хранилище, настроенном пользователем.The flexible server service automatically creates server backups and stores them in user configured locally redundant or geo-redundant storage. Резервные копии можно использовать для восстановления сервера на любой момент в течение периода хранения резервной копии.Backups can be used to restore your server to any point-in-time within the backup retention period. По умолчанию срок хранения резервных копий составляет 7 дней.The default backup retention period is seven days. Хранение можно дополнительно продлить на срок до 35 дней.The retention can be optionally configured up to 35 days. Все резервные копии шифруются с помощью 256-битового шифрования AES.All backups are encrypted using AES 256-bit encryption.

Дополнительные сведения см. в документации с основными понятиями о резервном копировании.See Backup concepts to learn more.

Сетевая изоляцияNetwork Isolation

У вас есть два сетевых параметра для подключения к Гибкому серверу Базы данных Azure для MySQL.You have two networking options to connect to your Azure Database for MySQL Flexible Server. Вы можете выбрать частный доступ (интеграция с виртуальной сетью) или общий доступ (разрешенные IP-адреса) .The options are private access (VNet integration) and public access (allowed IP addresses).

  • Частный доступ (интеграция с виртуальной сетью) . Вы можете развернуть гибкий сервер в виртуальной сети Azure.Private access (VNet Integration) – You can deploy your flexible server into your Azure Virtual Network. Виртуальные сети Azure используют частное и безопасное сетевое подключение.Azure virtual networks provide private and secure network communication. Это позволит ресурсам в виртуальной сети взаимодействовать через частные IP-адреса.Resources in a virtual network can communicate through private IP addresses.

    Выберите вариант интеграции с виртуальной сетью, если вам нужны следующие возможности.Choose the VNet Integration option if you want the following capabilities:

    • Подключение из ресурсов Azure в той же виртуальной сети к гибкому серверу с помощью частных IP-адресов.Connect from Azure resources in the same virtual network to your flexible server using private IP addresses
    • Использование VPN или ExpressRoute для подключения к гибкому серверу со стороны ресурсов, не относящихся к Azure.Use VPN or ExpressRoute to connect from non-Azure resources to your flexible server
    • Отсутствие общедоступной конечной точкиNo public endpoint
  • Общий доступ (разрешенные IP-адреса) . Вы можете развернуть гибкий сервер с помощью общедоступной конечной точки.Public access (allowed IP addresses) – You can deploy your flexible server with a public endpoint. Общедоступная конечная точка — это общедоступный DNS-адрес.The public endpoint is a publicly resolvable DNS address. Фраза "разрешенные IP-адреса" относится к диапазону IP-адресов, который вы выбрали для предоставления разрешения на доступ к серверу.The phrase "allowed IP addresses" refers to a range of IPs you choose to give permission to access your server. Эти разрешения называются правилами брандмауэра.These permissions are called firewall rules.

Дополнительные сведения см. в документации с общими понятиями о сети.See Networking concepts to learn more.

Быстрая настройка производительности и масштабированияAdjust performance and scale within seconds

Служба гибкого сервера предоставляется с тремя уровнями номеров SKU: "С накапливаемыми ресурсами", "Общего назначения" и "Оптимизированная для операций в памяти".The flexible server service is available in three SKU tiers: Burstable, General Purpose, and Memory Optimized. Вариант "С накапливаемыми ресурсами" лучше всего подходит для экономичной разработки и небольших рабочих нагрузок, для которых не требуется непрерывная полная вычислительная мощность.The Burstable tier is best suited for low-cost development and low concurrency workloads that do not need full compute capacity continuously. Варианты "Общего назначения" и "Оптимизированная для операций в памяти" лучше подходят для рабочих нагрузок, в которых требуются высокая степень параллелизма, масштабирование и прогнозируемая производительность.The General Purpose and Memory Optimized are better suited for production workloads requiring high concurrency, scale, and predictable performance. Вы можете создать свое первое приложение в небольшой базе данных за несколько долларов в месяц, а затем изменить масштаб в соответствии с потребностями решения.You can build your first app on a small database for a few dollars a month, and then seamlessly adjust the scale to meet the needs of your solution. Масштабирование хранилища выполняется без прерывания работы, в том числе с поддержкой автоматического расширения.The storage scaling is online and supports storage autogrowth. Благодаря динамической масштабируемости база данных может прозрачно реагировать на быстро меняющиеся требования к ресурсам.Dynamic scalability enables your database to transparently respond to rapidly changing resource requirements. Вы платите только за те ресурсы, которые используете.You only pay for the resources you consume.

Дополнительные сведения см. в документации с общими понятиями о вычислениях и хранилище.See Compute and Storage concepts to learn more.

Масштабирование рабочей нагрузки чтения, используя до 10 реплик чтенияScale-out your read workload with up to 10 read replicas

MySQL является популярным ядром базы данных для поддержки мобильных и веб-приложений в Интернете.MySQL is one of the popular database engines for running internet-scale web and mobile applications. Многие наши клиенты используют его для образовательных веб-служб, служб потоковой передачи видео, решений для цифровых платежей, платформ торговли по Интернету, игр, порталов новостей, а также веб-сайтов государственных учреждений и здравоохранения.Many of our customers use it for their online education services, video streaming services, digital payment solutions, e-commerce platforms, gaming services, news portals, government, and healthcare websites. Эти службы нужны для обслуживания и масштабирования по мере роста трафика в мобильных и веб-приложениях.These services are required to serve and scale as the traffic on the web or mobile application increases.

На стороне приложений приложение обычно разрабатывается на Java или php и переносится для запуска в  масштабируемые наборы виртуальных машин Azure , Службы приложений Azure или контейнеризуется для выполнения в  Службе Azure Kubernetes (AKS).On the applications side, the application is typically developed in Java or php and migrated to run on Azure virtual machine scale sets or Azure App Services or are containerized to run on Azure Kubernetes Service (AKS). Использование масштабируемого набора виртуальных машин, Службы приложений или AKS в качестве базовой инфраструктуры упрощает масштабирование приложений за счет мгновенной подготовки новых виртуальных машин и репликации компонентов приложений без отслеживания состояния обеспечения работы запросов. Однако в таком случае база данных становится централизованным компонентом отслеживания состояния, что часто делает ее узким местом.With virtual machine scale set, App Service or AKS as underlying infrastructure, application scaling is simplified by instantaneously provisioning new VMs and replicating the stateless components of applications to cater to the requests but often, database ends up being a bottleneck as centralized stateful component.

Функция реплики чтения позволяет реплицировать данные с гибкого сервера Базы данных Azure для MySQL на сервер, предназначенный только для чтения.The read replica feature allows you to replicate data from an Azure Database for MySQL flexible server to a read-only server. Вы можете реплицировать данные с исходного сервера на максимум 10 реплик.You can replicate from the source server to up to 10 replicas. Реплики чтения асинхронно обновляются с помощью технологии репликации на основе позиции файла собственного двоичного журнала (binlog) ядра MySQL.Replicas are updated asynchronously using the MySQL engine's native binary log (binlog) file position-based replication technology. Вы можете использовать решение для прокси-сервера подсистемы балансировки нагрузки, например ProxySQL, чтобы эффективно масштабировать рабочую нагрузку приложения для считывания реплик без затрат на рефакторинг.You can use a load balancer proxy solution like ProxySQL to seamlessly scale-out your application workload to read replicas without any application refactoring cost.

Подробные сведения см. в статье Основные понятия реплик чтения.See Read Replica concepts to learn more.

Запуск и остановка сервера для оптимизации затратStop/Start server to optimize cost

Служба гибкого сервера позволяет останавливать и запускать сервер по запросу для снижения затрат.The flexible server service allows you to stop and start server on-demand to optimize cost. Выставление счетов за уровень вычислений немедленно прекращается при остановке сервера.The compute tier billing is stopped immediately when the server is stopped. Это позволяет значительно сократить затраты при разработке, тестировании и для прогнозируемых рабочих нагрузок с ограничением по времени.This can allow you to have significant cost savings during development, testing and for time-bound predictable production workloads. Сервер находится в остановленном состоянии в течение семи дней, если не будет перезапущен раньше.The server remains in stopped state for seven days unless re-started sooner.

Дополнительные сведения см. в статье Основные понятия работы с сервером в Базе данных Azure для MySQL (Гибкий сервер).See Server concepts to learn more.

Безопасность и конфиденциальность корпоративного уровняEnterprise grade security and privacy

В службе гибкого сервера используется проверенный криптографический модуль с сертификацией FIPS 140-2 для шифрования неактивных данных.The flexible server service uses the FIPS 140-2 validated cryptographic module for storage encryption of data at-rest. Шифруются все данные, включая резервные копии и временные файлы, создаваемые при выполнении запросов.Data, including backups, and temporary files created while running queries are encrypted. Служба использует 256-разрядный шифр AES, включенный в шифрование службы хранилища Azure. Ключами управляет система (по умолчанию).The service uses the AES 256-bit cipher included in Azure storage encryption, and the keys can be system managed (default).

Служба по умолчанию шифрует все перемещаемые данные с использованием протокола.The service encrypts data in-motion with transport layer security enforced by default. Гибкие серверы поддерживают только зашифрованные подключения по протоколу TLS 1.2, а все входящие подключения с использованием TLS 1.0 и TLS 1.1 будут отклонены.Flexible Servers only supports encrypted connections using Transport Layer Security (TLS 1.2) and all incoming connections with TLS 1.0 and TLS 1.1 will be denied.

Дополнительные сведения см. в документации по использованию зашифрованного подключения к гибким серверам.See how to use encrypted connections to flexible servers to learn more.

Гибкие серверы предоставляют полностью частный доступ к серверам с помощью интеграции с виртуальной сетью Azure.Flexible servers allows full private access to the servers using Azure virtual network (VNet) integration. К серверам в виртуальной сети Azure можно подключиться только через частные IP-адреса.Servers in Azure virtual network can only be reached and connected through private IP addresses. При интеграции с виртуальной сетью отклоняется общий доступ и к серверам нельзя подключиться с помощью общедоступных конечных точек.With VNet integration, public access is denied and servers cannot be reached using public endpoints.

Дополнительные сведения см. в документации с общими понятиями о сети.See Networking concepts to learn more.

Мониторинг и оповещенияMonitoring and alerting

Служба гибкого сервера оснащена встроенными функциями мониторинга производительности и оповещений.The flexible server service is equipped with built-in performance monitoring and alerting features. Все метрики Azure записываются ежеминутно, и каждая из них предоставляет данные за последние 30 дней.All Azure metrics have a one-minute frequency, and each metric provides 30 days of history. Вы можете настроить оповещения на основе метрик.You can configure alerts on the metrics. Служба предоставляет метрики сервера узла для мониторинга использования ресурсов и позволяет настраивать журналы медленных запросов.The service exposes host server metrics to monitor resources utilization and allows configuring slow query logs. С помощью этих средств можно быстро оптимизировать рабочие нагрузки и настроить оптимальную производительность сервера.Using these tools, you can quickly optimize your workloads, and configure your server for best performance.

Дополнительные сведения см. в документации с общими понятиями о мониторинге.See Monitoring concepts to learn more.

МиграцияMigration

В этой службе работает версия MySQL виртуального сообщества.The service runs the community version of MySQL. Это обеспечивает полную совместимость приложений и минимальные затраты на рефакторинг при переносе в службу отдельного сервера существующих приложений, разработанных для ядра СУБД MySQL.This allows full application compatibility and requires minimal refactoring cost to migrate existing application developed on MySQL engine to single server service. Миграцию на отдельный сервер можно выполнить любым из следующих способов.The migration to the single server can be performed using one of the following options:

  • Создание резервной копии и восстановление. Для миграций в автономной среде, где допустим некоторый простой для пользователей, самым быстрым способом миграции будет создание резервной копии с последующим восстановлением, для которой применяются такие средства сообщества, как mysqldump/mydumper.Dump and Restore – For offline migrations, where users can afford some downtime, dump and restore using community tools like mysqldump/mydumper can provide fastest way to migrate. Дополнительные сведения см. в статье "Миграция с использованием дампа и восстановления".See Migrate using dump and restore for details.
  • Azure Database Migration Service. Чтобы без проблем выполнить простую миграцию на отдельный сервер с минимальным временем простоя, можно применить Azure Database Migration Service.Azure Database Migration Service – For seamless and simplified migrations to single server with minimal downtime, Azure Database Migration Service can be leveraged.

Регионы AzureAzure regions

Одним из преимуществ выполнения рабочей нагрузки в Azure является глобальный доступ.One of the advantage of running your workload in Azure is it's global reach. На сегодня гибкий сервер для Базы данных Azure для MySQL доступен в следующих регионах Azure:The flexible server for Azure Database for MySQL is available today in following Azure regions:

RegionRegion ДоступностьAvailability Высокий уровень доступности, избыточный между зонамиZone redundant HA
Западная ЕвропаWest Europe ✔️ ✔️
Северная ЕвропаNorth Europe ✔️ ✔️
южная часть Соединенного КоролевстваUK South ✔️
восточная часть США 2East US 2 ✔️ ✔️
Западная часть США 2West US 2 ✔️ ✔️
Центральная часть СШАCentral US ✔️
Восточная часть СШАEast US ✔️ ✔️
Центральная КанадаCanada Central ✔️
Southeast AsiaSoutheast Asia ✔️ ✔️
Республика Корея, центральный регионKorea Central ✔️
Japan EastJapan East ✔️
Восточная АвстралияAustralia East ✔️ ✔️

Скоро будут добавлены и другие регионы.We are working on adding new regions soon.

КонтактыContacts

Если у вас возникли вопросы или предложения, связанные с использованием гибкого сервера Базы данных Azure для MySQL, вы можете отправить сообщение электронной почты команде разработчиков Базы данных Azure для MySQL (@Ask Базы данных Azure для MySQL).For any questions or suggestions you might have on Azure Database for MySQL flexible server, send an email to the Azure Database for MySQL Team (@Ask Azure DB for MySQL). Учтите, что это не электронный адрес службы технической поддержки.This email address is not a technical support alias.

Кроме того, попробуйте обратиться сюда:In addition, consider the following points of contact as appropriate:

Дальнейшие действияNext steps

Итак, вы завершили знакомство с режимом развертывания Базы данных Azure для MySQL с отдельным сервером и теперь готовыNow that you've read an introduction to Azure Database for MySQL single server deployment mode, you're ready to: