Прокси-сервер Amazon RDS
Повышение масштабируемости, устойчивости и безопасности приложений
Что такое прокси-сервер RDS?
Прокси-сервер RDS – это полностью управляемый и удобный в использовании прокси-сервер с высоким уровнем доступности для Amazon RDS, который позволяет повысить: 1) масштабируемость приложений за счет организации пула и совместного использования подключений к базам данных; 2) уровень отказоустойчивости, сокращая время обработки резервного переключения баз данных почти на 66 %, сохраняя при этом подключения приложений; 3) уровень безопасности путем принудительного применения аутентификации AWS IAM для баз данных и безопасного хранения учетных данных в Менеджере секретов AWS, когда это необходимо.
Чтобы использовать прокси-сервер RDS, вам не нужно выделять дополнительную инфраструктуру или управлять ею, и эту функцию можно включить для большинства приложений без изменения кода.
Преимущества прокси-сервера Amazon RDS
Прокси-сервер RDS поддерживает пул установленных подключений к инстансам базы данных RDS, что снижает нагрузку на вычислительные ресурсы и память базы данных, которая обычно возникает при установлении новых подключений. Прокси-cервер RDS также позволяет распределять редко используемые подключения к базе данных, поэтому к базе данных RDS обращается меньше подключений. Благодаря этому пулу база данных может эффективно обрабатывать большое количество подключений приложений с высокой частотой, что позволяет масштабировать приложение без ущерба для производительности.
Прокси-сервер RDS сводит к минимуму прерывание работы приложений в результате сбоев, влияющих на доступность базы данных, за счет автоматического подключения к новому инстансу базы данных при сохранении подключений к приложениям. При резервном переключении прокси-сервер RDS направляет запросы непосредственно в новый инстанс базы данных. Это сокращает время переключения баз данных Aurora и RDS 66 %. Прокси-сервер RDS также поддерживает работу в нескольких зонах доступности за счет предоставления двух резервных инстансов с резервным переключением, что обычно занимает менее 35 секунд, и возможностью чтения, двукратного снижения времени задержек записи, дополнительного объема ресурсов чтения и сокращения времени простоя при промежуточном обновлении версии, как правило, до одной секунды.
Прокси-сервер RDS предоставляет дополнительный контроль над безопасностью данных, позволяя использовать аутентификацию IAM для доступа к базе данных и избегать жесткого кодирования мандатов базы данных в коде приложения. Кроме того, это позволяет централизованно управлять данными для доступа с использованием Менеджера секретов.
Прокси-сервер базы данных помогает справиться с дополнительной нагрузкой на базу данных. Хотя классические прокси-серверы позволяют более эффективно масштабировать приложения, их сложно развертывать, исправлять и управлять ими. Это отнимает ресурсы, которые можно было бы потратить на разработку отличных продуктов. Прокси-сервер RDS – это полностью бессерверный и полностью управляемый прокси-сервер баз данных, который автоматически масштабируется в соответствии с рабочей нагрузкой и избавляет от необходимости устанавливать исправления и управлять собственным прокси-сервером.
Прокси-сервер RDS полностью совместим с протоколами поддерживаемых движков баз данных, поэтому вы можете развернуть его для своего приложения без необходимости внесения изменений в код приложения. Вы просто направляете свои приложения на прокси-сервер, а не на базу данных RDS, и вся остальная работа осуществляется легко и просто.
Начало работы с прокси-сервером Amazon RDS
Ищете информацию о том, как быстро начать работу с прокси-сервером RDS? Ниже приведены наиболее важные руководства по технической документации, руководства пользователя и учебные пособия, в которых показано, как начать работу с прокси-сервером RDS за несколько шагов.
Вопросы и ответы
Общие вопросы
Открыть всеПриложения с непредсказуемыми рабочими нагрузками. Приложения, которые поддерживают разносторонние рабочие нагрузки, могут пытаться открыть множество новых подключений к базе данных. Средства управления подключениями прокси-сервера RDS дают возможность масштабировать приложения, которые работают с непредсказуемыми рабочими нагрузками, путем эффективного повторного использования подключений к базе данных. Сначала прокси-сервер RDS разрешает нескольким подключенным приложениям совместно использовать соединение с базой данных, чтобы эффективно применять ее ресурсы. Затем прокси-сервер RDS обеспечивает предсказуемую работу базы данных, управляя количеством открытых подключений к ней. В конце концов, прокси-сервер RDS удаляет запросы приложений, которые невозможно обслужить, чтобы общая производительность и доступность приложения оставались неизменными.
Приложения, которые часто открывают и закрывают подключения к базе данных. Приложения, в основу которых положены такие технологии, как Serverless, PHP или Ruby on Rails, могут часто открывать и закрывать подключения к базе данных для обслуживания запросов. Прокси-сервер RDS создает пул подключений к базе данных во избежание излишней нагрузки на вычислительные мощности и память базы данных из-за установки новых подключений.
Приложения, которые сохраняют подключение, но не пользуются им. Приложения в таких отраслях, как SaaS или интернет-коммерция, могут сохранять подключение к базе данных в режиме простоя, чтобы сократить время отклика при возобновлении активности клиента. Вместо того чтобы выделять избыточные ресурсы баз данных для поддержания подключений, которые, в основном, простаивают, можно воспользоваться прокси-сервером RDS, чтобы сохранять только необходимое количество простаивающих подключений для оптимального обслуживания активных запросов.
Приложения, которые требуют доступности при временных сбоях. Используя прокси-сервер RDS, можно создавать приложения с повышенной устойчивостью к отказам баз данных без необходимости в написании сложного кода для обработки сбоев. Прокси-сервер RDS автоматически направляет трафик к новому инстансу базы данных, сохраняя подключения со стороны приложений. Кроме того, прокси-сервер RDS работает в обход кэша системы доменных имен (DNS), сокращая время обработки резервного переключения почти на 66 % при использовании баз данных Amazon RDS и Aurora в нескольких зонах доступности. При резервном переключении базы данных время отклика приложения может увеличиться, что приведет к повтору транзакций.
Повышенный уровень безопасности и централизованное управление учетными данными. С помощью прокси-сервера RDS можно создавать приложения с высоким уровнем безопасности путем принудительного применения аутентификации на основе IAM для подключения к реляционным базам данных. Кроме того, прокси-сервер RDS предоставляет возможность централизованного управления учетными данными с использованием Менеджера секретов AWS.
Благодаря прокси-серверу RDS можно изменить подход к созданию современных бессерверных приложений, которые используют преимущества эффективности и простоты реляционных баз данных. Во-первых, с помощью прокси-сервера RDS можно масштабировать бессерверные приложения, создавая пулы подключений к базам данных и повторно используя эти подключения. Во-вторых, с RDS Proxy больше не потребуется обрабатывать данные для доступа к базе данных в коде Lambda. Для аутентификации в RDS Proxy и базе данных можно воспользоваться ролью выполнения IAM, связанной с функцией Lambda. В-третьих, для раскрытия всего потенциала бессерверных приложений на основе реляционных баз данных не придется управлять новой инфраструктурой или кодом. Прокси-сервер RDS является полностью управляемым и масштабирует свои ресурсы в зависимости от требований приложения.
Прокси-сервер RDS доступен для версии Amazon Aurora, совместимой с MySQL, версии Amazon Aurora, совместимой с PostgreSQL, Amazon RDS для MariaDB, Amazon RDS для MySQL, Amazon RDS для PostgreSQL и Amazon RDS для SQL Server. Список поддерживаемых версий ядер приведен в руководствах пользователя Amazon Aurora или Amazon RDS.
Чтобы включить прокси-сервер Amazon RDS для базы данных Amazon RDS, потребуется всего лишь несколько щелчков мыши в консоли Amazon RDS. При включении прокси-сервера RDS необходимо указать VPC и подсети, из которых будет осуществляться доступ. Пользователь Lambda может включить прокси-сервер RDS для своей базы данных Amazon RDS и настроить функцию Lambda для доступа к нему всего в несколько щелчков мыши и прямо в консоли Lambda.
- Использовать IAM-аутентификацию для подключений между клиентом и прокси-сервером, и Менеджер секретов – для соединений между прокси-сервером и базой данных.
- Использовать IAM-аутентификацию как для подключений между клиентом и прокси-сервером, так и для соединений прокси-сервера с базой данных (это избавит от необходимости хранить пароли в Менеджере секретов).
Для аутентификации между приложениями и базой данных через прокси-сервер RDS доступно несколько вариантов.
Вы можете использовать традиционную аутентификацию по имени пользователя и паролю, сохраняя учетные данные в Менеджере секретов AWS. Это позволяет централизовать, защитить и упростить управление учетными данными для вашего приложения. При использовании Менеджера секретов можно подключиться к прокси-серверу RDS так же, как и к базе данных. Указанные имя пользователя и пароль сопоставляются с учетными данными, хранящимися в Менеджере секретов, а затем используются для подключений к базе данных.
Для повышения безопасности можно применять аутентификацию на основе IAM. Вместо указания имени пользователя и пароля ваши приложения могут использовать роль исполнения IAM, связанную с такими сервисами, как AWS Lambda или EC2, для аутентификации с помощью прокси-сервера RDS. Доступно два варианта аутентификации IAM.
Дополнительные сведения об аутентификации с помощью прокси-сервера RDS см. в разделе Подключение к базе данных через прокси-сервер RDS.
Да. Подробную информацию об SLA прокси-сервера Amazon RDS см. на этой странице.
Клиенты
Acquia
«Мы постоянно стремимся оптимизировать и улучшить производительность и масштабируемость для своих клиентов. Поскольку Drupal изначально не поддерживает пулы подключений, нам нужно было решение, которое позволило бы нам лучше масштабировать подключения нашего приложения в реляционных базах данных. Прокси-сервер RDS идеально отвечает всем требованиям! Благодаря прокси-серверу RDS приложения Drupal наших клиентов могут легко использовать готовый пул установленных подключений. Это позволило нам лучше справляться с внезапными всплесками посещаемости веб-сайтов и повышать эффективность своих баз данных».
Эд Бреннан, главный архитектор, Acquia
CAINZ
«У нас есть бессерверная инфраструктура API на основе AWS Lambda, которая, как ожидается, будет поддерживать десятки тысяч пользователей и требует масштабируемого внутреннего хранилища данных. Хотя для таких сценариев мы традиционно использовали базы данных NoSQL, проблема в этой ситуации заключалась в том, что нам требовались мощные возможности SQL-запросов для управления данными, предоставляемыми базами данных Amazon RDS и Amazon Aurora, и доступа к ним. Теперь эту проблему можно решить с помощью прокси-сервера RDS, используемого перед нашими базами данных RDS и Aurora. В ходе тестирования мы наблюдали 4-кратное увеличение времени отклика прокси-сервера RDS при пиковых нагрузках. Прокси-сервер RDS является для нас выгодным, поскольку мы можем использовать знакомые SQL-инструкции в своих реляционных базах данных, и все, что нам нужно было сделать, это просто сменить адрес».
Масахиро Араи, отдел цифровой стратегии, CAINZ
CloudHealth by VMware
«Недавно мы перенесли базы данных MySQL в Amazon Aurora. Наши приложения поддерживают большое количество подключений, что создает нагрузку на наши базы данных во время всплесков количества подключений и приводит к перебоям в работе наших клиентов. После перехода на Aurora прокси-сервер RDS стал важнейшим элементом нашей архитектуры для масштабирования приложения и оптимизации затрат. Благодаря прокси-серверу RDS наши приложения могут открывать гораздо больше подключений к нему, что, в свою очередь, сокращает количество подключений к базам данных в часы пик до 90 % и защищает базу данных от большого количества подключений. Благодаря прокси-серверу RDS мы смогли повысить стабильность своей системы и сократить расходы. Уменьшив количество системных ресурсов, расходуемых на подключения, мы смогли консолидировать базы данных в меньшее количество кластеров Aurora и снизить общие эксплуатационные расходы».
Питер Фейн, старший архитектор программного обеспечения CloudHealth by VMware
Dream 11
«Прокси-сервер RDS стал решающим фактором для нас во время Индийской премьер-лиги 2023 года. Он помог нам справиться с резкими скачками трафика во время циклической блокировки без ущерба для производительности и доступности базы данных. Благодаря ему мы также смогли динамично масштабировать ресурсы и оптимизировать затраты, а также обеспечить стабильную работу для своих пользователей. Прокси-сервер RDS необходим для любой игровой онлайн-платформы, которая должна обрабатывать непредсказуемый и большой объем трафика».
Бипул Карнани, главный инженер в Dream 11