MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Лесният начин за внедряване на MySQL Galera Cluster в AWS

ClusterControl 1.7.3 идва със забележимо подобрение в облачната интеграция. Възможно е да разположите клъстер за репликация на MySQL и PostgreSQL в облака, както и автоматично да стартирате облачен екземпляр и да мащабирате клъстера на базата данни чрез добавяне на нов възел на базата данни.

Тази публикация в блога показва как лесно да разположите клъстер Galera с помощта на ClusterControl на AWS. Тази нова функция е част от ClusterControl Community Edition, която се предлага с безплатно внедряване и функции за наблюдение. Това означава, че можете да се възползвате от тази функция безплатно!

Клъстерна архитектура на базата данни ClusterControl

Следната диаграма обобщава нашата цялостна архитектура на клъстерите на базата данни.

Сървърът ClusterControl се намира извън инфраструктурата на AWS, което позволява справедлива видимост към нашия клъстер от база данни (намиращ се във Франкфурт:eu-central-1). Сървърът на ClusterControl ТРЯБВА да има специален публичен IP адрес. Това е така, защото IP адресът ще бъде предоставен от ClusterControl на сървъра на базата данни и групата за сигурност на AWS. Версията на базата данни Galera, която ще внедрим, е MariaDB Cluster 10.3, използвайки ClusterControl 1.7.3.

Подготовка на AWS средата

ClusterControl е в състояние да разгърне клъстер на база данни на поддържани облачни платформи, а именно AWS, Google Cloud Platform (GCP) и Microsoft Azure. Първото нещо, което трябва да конфигурираме, е да получим ключовете за достъп на AWS, за да позволим на ClusterControl да изпълнява програмни заявки към услугите на AWS. Можете да използвате ключа за достъп до root акаунта, но това не е препоръчителният начин. По-добре е да създадете специален потребител за управление на самоличността и достъпа (IAM) само за тази цел.

Влезте във вашата AWS конзола -> Моите идентификационни данни за сигурност -> Потребители -> Добавяне на потребител . Посочете потребителя и изберете „Програмен достъп“ като тип на достъп:

На следващата страница създайте нова потребителска група, като щракнете върху „Създаване group" и дайте името на групата "DatabaseAutomation". Задайте следния тип достъп:

  • AmazonEC2FullAccess
  • AmazonVPCFullAccess
  • AmazonS3FullAccess (само ако планирате да съхранявате резервното копие на базата данни в AWS S3)

Поставете отметка в квадратчето DatabaseAutomation и щракнете върху „Добавяне на потребител към групата“:

По желание можете да зададете тагове на следващата страница. В противен случай просто продължете със създаването на потребителя. Трябва да получите двете най-важни неща, ID на ключ за достъп и таен ключ за достъп.

Изтеглете CSV файла и го съхранете на безопасно място. Вече сме добре да автоматизираме внедряването в облак.

Инсталирайте ClusterControl на съответния сървър:

$ whoami

root

$ wget http://severalnines.com/downloads/cmon/install-cc

$ chmod 755 install-cc

$ ./install-cc

Следвайте инструкциите за инсталиране и отидете на http://192.168.0.11/clustercontrol и създайте супер администраторски потребител и парола.

За да позволите на ClusterControl да извършва автоматично внедряване в облак, трябва да създадете облачни идентификационни данни за избрания регион с валиден идентификатор на AWS ключ и тайна. Отидете на Странична лента -> Интеграции -> Доставчици на облак -> Добавете първия си облачен идентификационен номер -> Amazon Web Services и въведете необходимите данни и изберете Франкфурт като регион по подразбиране:

Този идентификационен номер ще се използва от ClusterControl за автоматизиране на разполагането и управлението на клъстера. В този момент сме готови да разгърнем първия си клъстер.

Разгръщане на клъстер от база данни

Отидете на Внедряване -> Внедряване в облака -> MySQL Galera -> MariaDB 10.3 -> Конфигуриране на клъстер за да продължите към следващата страница.

В секцията Конфигуриране на клъстер се уверете, че броят на възлите е 3 и дайте име на клъстера и парола за root на MySQL:

Под Изберете идентификационни данни изберете идентификационен номер, наречен „AWS Frankfurt“ и преминете към следващата страница, като щракнете върху „Избор на виртуална машина“. Изберете предпочитаната операционна система и размер на екземпляра. Препоръчително е да стартираме нашата инфраструктура в частен облак, за да можем да получим специален вътрешен IP адрес за нашите облачни инстанции и хостовете да не са директно изложени на публичната мрежа. Щракнете върху бутона „Добавяне на ново“ до полето за виртуален частен облак (VPC) и дайте подмрежа от 10.10.0.0/16 на тази мрежа:

VPC, който създадохме, е частен облак и няма интернет връзка. За да може ClusterControl да разгръща и управлява хостовете извън мрежата на AWS, трябва да разрешим интернет връзка към този VPC. За да направим това, трябва да направим следното:

  1. Създайте интернет шлюз
  2. Добавете външно маршрутизиране към таблицата с маршрути
  3. Свържете подмрежата с таблицата с маршрути

За да създадете интернет шлюз, влезте в Конзолата за управление на AWS -> VPC -> Интернет шлюзове -> Създаване на интернет шлюз -> задайте име на този шлюз . След това изберете създадения шлюз от списъка и отидете на Действия -> Прикачване към VPC -> изберете VPC за падащия списък -> Прикачване . Вече сме прикрепили интернет шлюз към частния облак. Трябва обаче да конфигурираме мрежата да препраща всички външни заявки през този интернет шлюз. Следователно трябва да добавим маршрут по подразбиране към таблицата с маршрути. Отидете на VPC -> Таблици с маршрути -> изберете таблицата с маршрути -> Редактиране на маршрути и посочете целевата мрежа, 0.0.0.0/0 и целта (създадения идентификационен номер на интернет шлюз), както е по-долу:

След това трябва да свържем DB подмрежата към тази мрежа, така че тя да присвои всички екземпляри, създадени в тази мрежа, към маршрута по подразбиране, който създадохме по-рано, изберете таблицата с маршрути -> Редактиране на асоциацията на подмрежата -> задайте DB подмрежата , както е показано по-долу:

VPC вече е готов за използване от ClusterControl за внедряването.

След като създадете, изберете създадения VPC от падащото меню. За SSH ключ ще помолим ClusterControl да го генерира автоматично:

Генерираният SSH ключ ще се намира в сървъра на ClusterControl в директорията /var/lib/cmon/autogenerated_ssh_keys/s9s/.

Щракнете върху „Резюме на внедряването“. На тази страница трябва да присвоим подмрежа от VPC към клъстера на базата данни. Тъй като това е нов VPC, той няма подмрежа и трябва да създадем нова. Кликнете върху бутона „Добавяне на нова подмрежа“ и задайте 10.10.1.0/24 като мрежа за нашия клъстер от база данни:

Накрая изберете подмрежата за създаване в текстовото поле и кликнете върху „Разгръщане на клъстер“:

Можете да наблюдавате напредъка на заданието под Дейност -> Работни места -> Създаване на клъстер . ClusterControl ще изпълни необходимите стъпки за предварително инсталиране, като създаване на облачни екземпляри, група за сигурност, генериране на SSH ключ и т.н., преди да започнат действителните стъпки за инсталиране.

След като клъстерът е готов, трябва да видите следния клъстер в таблото за управление на ClusterControl:

Внедряването на нашия клъстер вече е завършено.

Публикуване на AWS база данни

Можем да започнем да зареждаме нашите данни в клъстера или да създадем нова база данни за използването на вашето приложение. За да се свържете, просто инструктирайте вашите приложения или клиенти да се свържат с частния или публичен IP адрес на един от сървърите на базата данни. Можете да получите тази информация, като отидете на страницата Nodes, както е показано на следната екранна снимка:

Ако искате да имате директен достъп до възлите на базата данни, можете да използвате уеб-SSH модула ClusterControl в Действия на възли -> SSH конзола , което ви дава подобно изживяване като свързване чрез SSH клиент.

За да увеличите клъстера чрез добавяне на възел на база данни, можете просто да отидете Действия на клъстера (икона на стека на сървъра) -> Добавяне на възел -> Добавяне на DB възел в нов облачен екземпляр и ще ви бъде представен следния диалогов прозорец:

Просто следвайте съветника за внедряване и съответно конфигурирайте новата си инстанция. След като екземплярът бъде създаден, ClusterControl автоматично ще инсталира, конфигурира и присъедини възела към клъстера.

Това е засега, хора. Приятно групиране в облака!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проактивно наблюдение на MySQL (Студио за разработчици/Angles на съветниците)

  2. Как да инсталирате MariaDB на Rocky Linux и AlmaLinux

  3. Какво да търсите, ако вашата MySQL репликация изостава

  4. Как DATEDIFF() работи в MariaDB

  5. Как работи PERIOD_ADD() в MariaDB