През последните години използването на платформена инфраструктура се измести от локални към изчисления в облак. Това се основава на липсата на капиталови разходи, които трябва да бъдат направени от компанията, ако се използват при внедряване на ИТ инфраструктура. Облачните изчисления осигуряват гъвкавост във всяка линия от ресурси, т.е. за човешки ресурси, енергия, спестяване на време.
Облачните изчисления улесняват организациите да извършват ИТ планиране, изпълнение и поддържане на платформи в подкрепа на бизнес интересите.
Но и двете имат прилики, трябваше да помислим за BCP (план за непрекъснатост на бизнеса) и план за възстановяване при бедствия (DRP), когато използваме облака. Съхранението на данни става критично, когато говорим за DRP, колко бързо правим възстановяване (Цел на точка за възстановяване), когато настъпи бедствие. Многооблачната архитектура играе голяма роля, когато искаме да проектираме и внедрим инфраструктура в облачната среда. В този блог разглеждаме свързаното многооблачно внедряване за съхранение на данни в MySQL.
Настройка на средата в облака
Този път използваме уеб услугата на Amazon (AWS), която се използва широко от компаниите, и Google Cloud Platform (GCP) като втори доставчик на облак в настройка на многооблачна база данни. Създаването на екземпляри (терминът, използван в облачните изчисления за нови виртуални машини) на AWS е много лесно.
AWS използва термина Amazon EC2 (Elastic Compute Cloud) за своята услуга за изчислителен модел. Можете да влезете в AWS, след което да изберете услугата EC2.
Ето показване на екземпляр, който е предоставен с EC2.
От съображения за сигурност, което е най-голямата грижа за облачните услуги, уверете се, че активираме само портове, които са необходими при внедряването на ClusterControl, като SSH порт (22), xtrabackup (9999) и база данни ( 3306) са защитени, но достъпни от доставчиците на облак. Един от начините за реализиране на такава свързаност би било да се създаде VPN, който да свързва екземпляри в AWS с екземпляри в GCP. Благодарение на такъв дизайн можем да третираме всички екземпляри като локални, въпреки че се намират в различни облачни доставчици. Няма да описваме точно процеса на настройка на VPN, затова, моля, имайте предвид, че внедряването, което представяме, не е подходящо за производство в реалния свят. Това е само за илюстриране на възможностите, които идват с ClusterControl и настройките за няколко облака.
След завършване на настройката на AWS EC2, продължете с настройката на изчислителния екземпляр в GCP, в GCP изчислителната услуга се нарича Compute Engine.
В този пример ще създадем 1 екземпляр в GCP облака, който ще да бъде използван като един от Робите.
Когато приключи, ще се покаже в конзолата за управление, както следва:
Уверете се, че сте подсигурили и активирали порт SSH порт (22), xtrabackup ( 9999) и база данни (3306).
След внедряването на екземпляри както в AWS, така и в GCP, трябва да продължим с инсталирането на ClusterControl на един от екземплярите в доставчика на облак, където ще се намира главният. В тази примерна настройка ще използваме един от екземплярите на AWS като главен.
Внедряване на MySQL репликация в Amazon Web Service
За да инсталирате ClusterControl, трябва да следвате прости инструкции, които можете да намерите на уебсайта на Severalnines. След като ClusterControl стартира и работи в облачния доставчик, където ще бъде разположен нашият главен обект (в този пример ще използваме AWS за нашия главен възел), можем да започнем внедряването на MySQL Replication с помощта на ClusterControl. Има следните стъпки, които трябва да предприемете, за да инсталирате клъстер за репликация на MySQL:
Отворете ClusterControl, след това изберете MySQL Replication, ще видите три формуляра, които трябва да бъдат попълнени за целта на инсталацията
Общи и SSH настройки
Въведете SSH потребител, ключ и парола, SSH порт и името на клъстера
След това изберете „Продължи“
Дефиниране на MySQL сървъри
Изберете доставчик, номер на версията и root парола на MySQL, след което щракнете върху „Продължи“
Дефиниране на топология
Както си спомняте, имаме два възела, създадени в AWS. Тук можем да използваме и двете. Единият ще ни бъде господар, другият трябва да бъде добавен като роб. След това можем да продължим с „Разгръщане“
Ако искате и ако връзката между облака вече е налице, можете също да зададете IP адреса на GCP инстанция под „Добавяне на подчинени към главен A“, след което да продължите с „ Разгръщане“. По този начин ClusterControl ще разположи главния и двата подчинени едновременно.
След като стартирате внедряването, можете да наблюдавате напредъка в раздела Активност. Можете да видите примера на съобщенията за напредъка по-долу. Сега е време да изчакате, докато задачата приключи.
След като приключи, можете да видите новосъздадения клъстер с име „Облак MySQL репликация”.
Ако вече сте добавили GCP възел като втори подчинен в съветника за внедряване, вече сте завършили настройката Master-Slaves между AWS и GCP екземпляри.
Ако не, можете да добавите GCP slave към работещия клъстер. Моля, уверете се, че връзката е налице, преди да продължите.
Добавяне на нов подчинен от Google Cloud Platform
След като MySQL репликацията на AWS бъде създадена, можете да продължите, като добавите своя възел в GCP като нов подчинен. Можете да постигнете това, като изпълните следните стъпки::
- В списъка с клъстери намерете новия си клъстер и след това щракнете върху и изберете „Add Replication Slave“
-
- Ще се появи съветникът за добавяне на подчинено устройство за репликация, както можете да видите по-долу.
- Продължете, като изберете IP на главния екземпляр (разположен в AWS) и въведете IP адреса и порта на GCP екземпляра, които искате да използвате като подчинен в полето „Име на подчинен хост/IP“. След като попълните всичко, можете да продължите с щракването върху „Добавяне на подчинен за репликация“.
Както преди, можете да наблюдавате напредъка в раздела за активност. Сега е време да изчакате, докато задачата приключи.
След като разполагането приключи, можем да проверим клъстера в раздела за топология.
Можете да видите топологията на нашия клъстер Master-Slave по-долу.
Както виждате, имаме главен и един подчинен в AWS и имаме и роб в GCP, което улеснява нашата база данни да оцелее при прекъсвания, които се случват в един от нашите облачни доставчици.
Заключение
За високата наличност на услугите за бази данни, внедряването в няколко облака заема много важна роля, за да се случи. ClusterControl е създаден, за да навигира в този процес и да улесни потребителя да управлява внедряванията в няколко облака.
Едно от критичните неща, които трябва да имате предвид, когато правите внедряване в множество облаци, са аспектите на сигурността. Както споменахме по-рано, можете да настроите VPN сайт към сайт между двата облачни доставчици като най-добрата практика, която може да се приложи. Има и други опции като SSH тунели.