V tomto článku budu diskutovat o tom, jak nastavit instanci MySQL na AWS RDS pomocí šablon Cloud Formation. V mém předchozím článku Jak nakonfigurovat prostředí Amazon RDS pro MySQL jsem poskytl podrobný návod, jak nastavit instanci MySQL na Amazonu. Pomocí konzoly AWS můžete poskytnout všechny informace potřebné pro nastavení instance a poté ji používat. V tomto článku však probereme automatizovaný způsob dosažení stejných funkcí pomocí šablon Cloud Formation.
Co je šablona CloudFormation?
Abychom mohli začít psát šablony, musíme nejprve pochopit, o čem je tvorba cloudu. AWS nabízí Cloud Formation jako cloudovou službu, která umožňuje zákazníkům AWS zapsat požadovaný stav jakékoli infrastruktury jako kód a poté jej použít k nasazení prostředků do AWS. Umožňuje nám vytvořit zdroj nebo skupinu zdrojů podle jednoduchých konfiguračních šablon. Pokud například chcete nasadit webovou aplikaci na instanci EC2, která bude také používat databázi RDS, můžete jednoduše zkombinovat oba prostředky do jednoho zásobníku a napsat kód pro nastavení instancí. Po spuštění vytvoří instanci EC2 i RDS a také nasadí vaši webovou aplikaci.
Obrázek 1 – Šablona CloudFormation na konzoli AWS
Komponenty šablony tvorby mraků jsou následující:
- JSON nebo YAML soubor, ve kterém budou zdroje definovány jako šablona
- Zásobník může být kombinací více zdrojů, které je třeba nastavit jako součást aplikace. Pro např. EC2 a RDS
- Set změn lze použít k zobrazení seznamu operací, které má zásobník provést
- Sada zásobníků lze také považovat za spravovanou skupinu zásobníků, které lze reprodukovat nebo replikovat
Z výše uvedeného se v tomto článku zaměříme především na šablonu JSON/YAML a zásobník. Šablony podporují širokou škálu zdrojů na AWS. Chcete-li získat úplný seznam, klikněte na tento odkaz.
Zápis souboru šablony JSON nebo YAML
Jednou z hlavních výzev, kterým čelíme při psaní šablony poprvé, je to, jaký obsah by měla obsahovat. Pro usnadnění poskytuje AWS mnoho ukázek šablon, které lze snadno najít v oficiální dokumentaci. Jakmile najdete šablonu potřebnou k vytvoření potřebného zdroje, můžete ji použít k vytvoření vlastní šablony. Šablona může být vytvořena pomocí JSON nebo YAML a také převedena z jedné do druhé. Osobně dávám přednost psaní šablon pomocí YAML, protože mi to pomáhá vyhýbat se složeným závorkám a čárkám a udržuje dokument čistší. Můžete si však vybrat jakoukoli možnost mezi JSON a YAML.
Pro toto cvičení zkusme roztočit instanci MySQL na RDS a napíšeme kód v YAML. Abychom mohli nastavit databázi MySQL pomocí vytváření cloudu, potřebovali bychom následující položky.
- Název zdroje – Název zdroje, který se chystáte nastavit.
- Typ zdroje – Typ zdroje.
- Vlastnosti prostředků – Název databáze, uživatelské jméno a heslo pro připojení.
- Databázový stroj – MySQL, SQL Server, PostgreSQL atd.
- Typ úložiště – Typ úložiště, který se má použít.
- Veřejná dostupnost – Ať už by databáze měla mít veřejný přístup, nebo ne.
- Přidělená paměť – Paměť, která by měla být přidělena instanci databáze.
- Oblast AWS – Oblast, ve které má být instance vytvořena.
Nyní, když máme několik bodů, pojďme do toho a začněme psaním souboru šablony.
https://gist.github.com/aveek22/a188b02abde65479bbba2deba5ec90d6
Obrázek 2 – Soubor šablony pro vytvoření instance MySQL na RDS
Jak můžete vidět na obrázku výše, struktura souboru je rozdělena na dvě části. V první části jsme definovali několik parametrů, které budou použity v definicích zdrojů v druhé části při vytváření zdrojů na AWS. Stejný skript můžete použít na svém počítači k vytvoření instance na vašem účtu AWS.
Nastavení zásobníku na konzoli
Nyní, když jsme vytvořili naši šablonu pro MySQL, je čas ji nastavit, abychom zjistili, zda vše běží dobře. Přejděte do konzole AWS a na vyhledávacím panelu vyhledejte Cloud Formation. Klikněte na Vytvořit zásobník a nahrajte soubor šablony z místního místa. Klikněte na Další jednou hotovo.
Obrázek 3 – Vytvoření zásobníku ze šablony
Na další stránce budete požádáni o zadání parametrů, které byly definovány v šabloně vytváření cloudu. Pokračujte, zadejte potřebné podrobnosti a klikněte na Další .
Obrázek 4 – Poskytnuté parametry zásobníku
Zkontrolujte změny a parametry zásobníku a klikněte na Vytvořit zásobník na poslední stránce. Spustí se vytváření zásobníku. Vytvoření všech zdrojů, než budou dostupné k použití, může nějakou dobu trvat. Mezitím můžete kliknout na tlačítko Znovu načíst a zkontrolovat, zda byly všechny události úspěšně vytvořeny.
Obrázek 5 – Probíhá vytváření zásobníku
Jak můžete vidět na časových razítkách, trvalo mi to asi 6 minut, po kterých byly prostředky k dispozici a byly také viditelné na konzole. Přejděte do části Zdroje a klikněte na Fyzické ID zdroje. Tím se dostanete do konzole RDS.
Obrázek 6 – Zásobník byl úspěšně vytvořen
Připojení databáze MySQL
Jakmile jste v konzole RDS, můžete získat název hostitele pro instanci databáze a použít jej k připojení k databázi. Uchopte koncový bod z konzoly a použijte ji k připojení.
Obrázek 7 – Podrobnosti instance MySQL na RDS
Pojďme nyní k MySQL Workbench a pokusme se připojit k názvu hostitele pomocí pověření, které jsme poskytli dříve. Pro připojení k instanci použijte název hostitele, uživatelské jméno a heslo.
Obrázek 8 – Připojení k instanci MySQL pomocí MySQL Workbench
Jak můžete vidět na obrázku výše, úspěšně jsme se připojili k instanci databáze na RDS. Spusťte nyní několik dotazů a uvidíme, zda to funguje.
Obrázek 9 – Spouštění skriptů v MySQL Workbench
Jak můžete vidět na obrázku výše, dokázali jsme se připojit k instanci databáze a provádět dotazy. Díky tomu můžete napsat svou vlastní šablonu pro vytvoření cloudu a rozvinout jakékoli další zdroje, jako je SQL Server nebo databáze PostgreSQL.
Odebrání zdrojů
Pokud to provádíte jako cvičení, doporučil bych odstranit zdroje, které jsme vytvořili, protože to bude vyžadovat určité poplatky. Můžete přejít na konzolu RDS, vybrat instanci a kliknout na Smazat pro trvalé odstranění zdrojů.
Obrázek 10 – Odstranění vytvořených zdrojů
Jakmile budou zdroje úspěšně odstraněny, můžete v konzole znovu zkontrolovat, zda jsou spuštěny nějaké instance, abyste se vyhnuli zbytečným nákladům na fakturaci.
Závěr
V tomto článku jsme podrobně probrali, jak nastavit instanci databáze MySQL v prostředí AWS RDS a automatizovat ji pomocí šablony Cloud Formation. Tímto způsobem, pokud je nastavení prostředků v cloudu také známé jako služba infrastruktura jako kód, kde můžete nastavit celou infrastrukturu jako kód a poté ji používat v různých prostředích. Tyto šablony lze použít nejen k nasazení databázových instancí, ale také dalších infrastruktur v rámci AWS, jako je EC2, Lambda, RedShift atd. Chcete-li se dozvědět více o šablonách vytváření cloudu, můžete si prohlédnout ukázkové šablony dostupné na oficiálním webu.