В тази статия ще обсъдя как да настроя MySQL екземпляр на AWS RDS с помощта на шаблони за облачно формиране. В предишната си статия Как да конфигурирам Amazon RDS среда за MySQL, предоставих подробна инструкция за това как да настроите екземпляр на MySQL в Amazon. Можете да използвате конзолата на AWS, за да предоставите цялата информация, необходима за настройка на потребителския модел, и след това да го използвате. В тази статия обаче ще обсъдим автоматизиран начин за постигане на същите функционалности с помощта на шаблони за Cloud Formation.
Какво е шаблон за CloudFormation?
За да започнем да пишем шаблоните, първо трябва да разберем какво представлява образуването на облак. AWS предлага Cloud Formation като облачна услуга, която позволява на клиентите на AWS да напишат желаното състояние на всяка инфраструктура като код и след това да го използват за разгръщане на ресурси в AWS. Позволява ни да създадем ресурс или група ресурси, като следваме прости шаблони за конфигурация. Например, ако искате да разположите уеб приложение на EC2 екземпляр, който също ще използва RDS база данни, можете просто да комбинирате и двата ресурса в един стек и да напишете кода за настройка на инстанциите. След като стартирате, той ще създаде както EC2, така и RDS екземпляр и също така ще разгърне вашето уеб приложение.
Фигура 1 – Шаблон за CloudFormation на AWS Console
Компонентите на шаблон за образуване на облак са както следва:
- JSON или YAML файл, в който ресурсите ще бъдат дефинирани като шаблон
- Стекът може да бъде комбинация от множество ресурси, които трябва да бъдат настроени като част от приложението. Например, EC2 и RDS
- Набор от промени може да се използва за преглед на списък с операции, които трябва да бъдат извършени от стека
- Наборът от стекове също може да се разглежда като управлявана група от стекове, които се възпроизвеждат или репликират
От горното ще се съсредоточим основно върху шаблона JSON/YAML и стека в тази статия. Шаблоните поддържат широк спектър от ресурси на AWS. За да получите изчерпателен списък, моля, следвайте тази връзка.
Писане на JSON или YAML файл с шаблон
Едно от основните предизвикателства, пред които се сблъскваме, докато пишем шаблон за първи път, е какво съдържание трябва да бъде включено в него. За да улесни това, AWS предоставя много образци на шаблони които лесно могат да бъдат намерени в официалната документация. След като намерите шаблона, необходим за създаване на необходим ресурс, можете да го използвате, за да създадете свой собствен шаблон. Шаблонът може да бъде създаден с помощта на JSON или YAML и да се преобразува от един в друг. От лична бележка предпочитам да пиша шаблоните с YAML, тъй като това ми помага да се пазя от фигурните скоби и запетаи и поддържа документа по-чист. Въпреки това, вие сте свободни да изберете всяка опция между JSON и YAML.
За това упражнение нека се опитаме да завъртим MySQL екземпляр на RDS и ще напишем кода в YAML. За да настроим MySQL база данни, използвайки формирането на облак, ще ни трябват следните елементи.
- Име на ресурс – Името на ресурса, който ще настроите.
- Тип ресурс – Типът на ресурса.
- Свойства на ресурса – Името на базата данни, потребителското име и паролата за свързване.
- Механизмът на базата данни – MySQL, SQL Server, PostgreSQL и др.
- Тип съхранение – Типът съхранение, който ще се използва.
- Обществен достъп – Времето базата данни трябва да има публичен достъп или не.
- Разпределена памет – Паметта, която трябва да бъде разпределена на екземпляра на базата данни.
- AWS регион – Регионът, в който трябва да се създаде екземплярът.
Сега, след като имаме някои точки, нека да продължим и да започнем с писането на шаблонния файл.
https://gist.github.com/aveek22/a188b02abde65479bbba2deba5ec90d6
Фигура 2 – Шаблонният файл за създаване на MySQL екземпляр на RDS
Както можете да видите на фигурата по-горе, структурата на файла е разделена на две части. В първата част сме дефинирали няколко параметъра, които ще бъдат използвани от дефинициите на ресурсите във втората част, докато създаваме ресурсите в AWS. Можете да използвате същия скрипт на вашата машина, за да създадете екземпляр на вашия AWS акаунт.
Настройване на стека на конзолата
След като създадохме нашия шаблон за MySQL, време е да го настроим, за да видим дали всичко работи добре. Отидете до конзолата на AWS и потърсете Cloud Formation в лентата за търсене. Щракнете върху Създаване на стек и качете шаблонния файл от вашия локален. Кликнете върху Напред веднъж направено.
Фигура 3 – Създаване на стека от шаблона
На следващата страница ще бъдете помолени да предоставите параметрите, които са определени в шаблона за формиране на облак. Продължете и предоставете необходимите подробности и кликнете Напред .
Фигура 4 – Предоставени параметри на стека
Прегледайте промените и параметрите на стека и кликнете върху Създаване на стек на последната страница. Създаването на стека ще започне. Може да отнеме известно време, за да създадете всички ресурси, преди да бъдат достъпни за използване. Междувременно можете да кликнете върху бутона Презареждане, за да проверите дали всички събития са създадени успешно.
Фигура 5 – Създаването на стека е в ход
Както можете да видите на времевите марки, отне ми около 6 минути, след което ресурсите бяха налични и също се виждаха на конзолата. Придвижете се до Ресурси раздела и кликнете върху Физически идентификатор на ресурса. Това ще ви отведе до RDS конзолата.
Фигура 6 – Стекът е създаден успешно
Свързване на MySQL базата данни
След като сте в RDS конзолата, можете да получите името на хоста за екземпляра на базата данни и да го използвате, за да се свържете с базата данни. Вземете крайната точка от конзолата и го използвайте за свързване.
Фигура 7 – Подробности за MySQL екземпляр на RDS
Нека сега да преминем към MySQL Workbench и да опитаме да се свържем с името на хоста с идентификационните данни, които сме предоставили по-рано. Използвайте името на хоста, потребителското име и паролата, за да се свържете с инстанцията.
Фигура 8 – Свързване с MySQL екземпляр с помощта на MySQL Workbench
Както можете да видите на фигурата по-горе, успешно се свързахме с екземпляра на базата данни на RDS. Нека сега изпълним някои заявки и да видим дали работи.
Фигура 9 – Изпълнение на скриптове в MySQL Workbench
Както можете да видите на фигурата по-горе, успяхме да се свържем с екземпляра на базата данни и да изпълним заявки. С това можете да напишете свой собствен шаблон за формиране на облак и да завъртите всякакви други ресурси като SQL Server или PostgreSQL база данни.
Премахване на ресурсите
Ако изпълнявате това като упражнение, бих препоръчал да премахнете ресурсите, които сме създали, тъй като това ще доведе до някои такси. Можете да отидете до RDS конзолата и след това да изберете екземпляра и да кликнете върху Изтриване за да премахнете ресурсите за постоянно.
Фигура 10 – Изтриване на създадените ресурси
След като ресурсите бъдат изтрити успешно, можете отново да проверите в конзолата дали има работещи екземпляри, само за да избегнете добавянето на ненужни разходи за таксуване.
Заключение
В тази статия обсъдихме подробно как да настроим екземпляр на база данни MySQL в среда на AWS RDS и да го автоматизираме с помощта на шаблона Cloud Formation. По този начин, ако настройката на ресурси в облака е известна още като услуга инфраструктура като код, където можете да настроите цялата инфраструктура като код и след това да я използвате в различни среди. Тези шаблони могат да се използват не само за внедряване на екземпляри на база данни, но и на други инфраструктури в рамките на AWS, като EC2, Lambda, RedShift и т.н. За да научите повече за шаблоните за формиране на облак, можете да разгледате примерните шаблони, налични на официалния уебсайт.