Cloud computing je nyní samozřejmostí ve většině společností. Umožňuje na požádání dostupnost výpočetního výkonu, databáze, úložiště, aplikací a dalších zdrojů prostřednictvím internetu.
Hlavními výhodami cloudu je, že nemusíte utrácet spoustu peněz za nákup výkonných serverů nebo budování vlastních datových center. Ale to není jediná výhoda, když potřebujete škálovat, nemusíte kupovat nový server, stačí přidat zdroje pomocí několika kliknutí. Podobným způsobem můžeme také snížit počet zdrojů, když nejsou potřeba ke snížení nákladů.
Cloudová databáze je databáze běžící u poskytovatele cloudu. Umožňuje nám ukládat, spravovat, získávat a manipulovat s našimi daty prostřednictvím cloudové platformy; přístupné přes internet.
V tomto blogu se podíváme na různé typy cloudových nabídek a poté se zaměříme na provozování PostgreSQL databáze pomocí Amazon RDS
Nabídky a možnosti cloudových služeb
Jak můžeme vidět na obrázku výše, existuje několik různých druhů cloudové služby v závislosti na požadované úrovni přístupu.
- On-prem: Je nainstalován a běží na počítačích v prostorách osoby nebo organizace, která systém používá. Ve skutečnosti se nejedná o cloudovou službu, ale je užitečné vidět rozdíl.
- IaaS: Je to online služba, která poskytuje vysokoúrovňová rozhraní API používaná pro přístup k různým nízkoúrovňovým detailům základní síťové infrastruktury, jako jsou fyzické výpočetní zdroje, umístění, dělení dat, škálování, zabezpečení, zálohování atd.
- PaaS: Poskytuje platformu, která zákazníkům umožňuje vyvíjet, provozovat a spravovat aplikace bez složitého budování a údržby infrastruktury spojené s vývojem a spouštěním aplikace.
- SaaS: Uživatelé k němu přistupují přes internet pomocí klienta (prohlížeče). Nevyžaduje žádnou instalaci na straně klienta.
Pokud mluvíme o PostgreSQL, existují poskytovatelé cloudu, kteří nabízejí PostgreSQL v cloudu; v různých příchutích a za použití různých metod. Jak jsme zmínili výše, zaměříme se na Amazon RDS.
Co je služba Amazon RDS (Relational Database Service)?
Podle webu Amazon nabízí více než 165 plně vybavených služeb, včetně více než 40 služeb, které nejsou dostupné nikde jinde. AWS je tedy pravděpodobně nejpokročilejším poskytovatelem cloudu na světě, pokud jde o funkce a služby s miliony zákazníků.
Amazon RDS nám umožňuje snadno a rychle vytvářet, spravovat a škálovat relační databázi v cloudu a je k dispozici na různých typech databází, jako je Amazon Aurora, PostgreSQL, MySQL a další. AWS poskytuje nástroj nazvaný AWS Database Migration Service pro migraci existující databáze na Amazon RDS.
Výhody Amazon RDS
- Snadné použití: Pro přístup k relační databázi můžeme použít konzolu pro správu Amazon RDS, rozhraní příkazového řádku AWS RDS nebo volání API. Nepotřebujeme zajišťování infrastruktury ani instalaci a údržbu databázového softwaru.
- Škálovatelné: Výpočetní a úložné zdroje naší databáze můžeme škálovat pouze několika kliknutími. Mnoho typů enginu Amazon RDS nám umožňuje spustit jednu nebo více replik pro čtení, aby se snížil provoz čtení z naší primární instance databáze.
- Dostupnost: Když poskytujeme instanci Multi-AZ DB, Amazon RDS synchronně replikuje data do pohotovostní instance v jiné zóně dostupnosti (AZ). Amazon RDS má mnoho dalších funkcí, které zvyšují spolehlivost kritických produkčních databází, včetně automatických záloh, snímků databáze a automatické výměny hostitele.
- Výkon: Můžeme si vybrat mezi dvěma možnostmi úložiště zálohovaného SSD:jedna optimalizovaná pro vysoce výkonné aplikace OLTP a druhá pro cenově výhodné univerzální použití.
- Zabezpečení: Amazon RDS nám umožňuje provozovat instance databáze v Amazon VPC (Virtual Private Cloud), což nám umožňuje izolovat instance naší databáze a připojit se k naší stávající IT infrastruktuře prostřednictvím VPN. Mnoho typů enginu Amazon RDS také nabízí šifrování v klidu a šifrování při přenosu.
Sice to není na webu AWS oficiálně zmíněno, ale pokud DBaaS (Database as a Service) považujeme za databázovou službu, která je spravována a nasazena v infrastruktuře externího poskytovatele (podle našeho seznamu v sekci výše) můžeme říci, že Amazon RDS je „druh“ DBaaS, někde mezi službou PaaS a SaaS.
Průvodce PostgreSQL na Amazon RDS
Nejprve se musíme přihlásit ke konzoli AWS. (Pokud nemáte účet AWS, můžete si jej zdarma vytvořit zde.)
Potom přejděte do sekce Služby -> Databáze -> RDS a Vytvořit databázi.
Nyní si musíme vybrat, zda chceme následovat normální nebo snadné vytváření , engine a verzi, kterou nasadíme.
Pokud zvolíme snadné vytvoření, stačí přidat instanci databáze jméno, uživatel a heslo.
V tomto případě zvolíme PostgreSQL 10 a normální tvorbu, abychom viděli podrobnosti o vytvoření, takže to bude vyžadovat trochu více práce než to snadné.V tomto případě zvolíme PostgreSQL 10 a normální tvorbu, abychom viděli podrobnosti o vytvoření, takže to bude vyžadovat trochu více práce než ta snadná.
Při běžném vytváření nejprve vybereme šablonu, může to být možnost Produkce, Vývoj/Test nebo Bezplatná úroveň.
V dalším kroku přidáme název instance databáze, uživatele a heslo.
Dalším krokem je velikost instance databáze, kde máme několik možností ve třech různých kategoriích:standardní třídy, třídy optimalizované pro paměť a třídy Burstable.
V sekci úložiště můžeme vybrat typ disku, velikost a chování úložiště.
Jednou z nejdůležitějších funkcí AWS je nasazení Multi-AZ, kde můžeme vytvořit pohotovostní instanci v jiné zóně dostupnosti, abychom zajistili redundanci.
Pokud jde o připojení, můžeme si vybrat virtuální privátní cloud (VPC) připojit novou databázi. Zde můžeme vybrat další možnosti, jako je veřejný přístup, zóna dostupnosti a port databáze.
Pak máme další konfiguraci, kde můžeme zadat název databáze, databázi ověřování, podrobnosti o zálohách, šifrování, monitorování, protokolování a údržba (automatické drobné upgrady).
Nakonec budeme mít možnost zkontrolovat odhadované měsíční náklady.
Zde můžeme vidět více podrobností o nákladech nebo dokonce použít AWS Měsíční kalkulačka.
Po přidání všech těchto informací musíme počkat na dokončení procesu vytváření.
Když se stav změní na „Available“, naše instance databáze je připravena použití.
Pokud stiskneme identifikátor DB (v našem příkladu „pg1“), vstoupíme do sekce databáze, kde můžeme vidět souhrn s informacemi, jako je využití procesoru, připojení, stav a typ . Zde také můžeme upravit konfiguraci naší instance nebo provádět různé akce, jako je restart, smazání, vytvoření repliky pro čtení, pořizování snímků a ještě více.
Na stejném místě také můžeme vidět podrobnější informace v různých sekcích .
Připojení a zabezpečení
Můžeme nakonfigurovat pravidla zabezpečení a zkontrolovat informace o síti.
Monitorování
Máme několik metrik ke kontrole stavu naší databáze.
Protokoly a události
Máme alarmy, události a protokoly z naší databáze.
Konfigurace
Můžeme vidět konfiguraci naší instance, ale také seznam doporučení, jak ji zlepšit, jako je povolení rozšířeného monitorování.
Údržba a zálohování
Můžeme vidět informace o úlohách údržby, zálohách a procesu snímkování.
Nyní bychom měli mít přístup k naší databázi pomocí názvu koncového bodu přiděleno AWS („pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com “ v našem příkladu). Za tímto účelem se ujistěte, že jste povolili přístup ze sekce skupiny zabezpečení a povolili veřejný přístup z konfigurace instance (Veřejná přístupnost:Ano). V našem příkladu povolujeme veškerý provoz ze všech zdrojů, ale z bezpečnostních důvodů pravděpodobně budete chtít omezit přístup z jednoho nebo několika zdrojů.
Nyní se zkusíme připojit k naší instanci Amazon RDS z příkazového řádku :
[[email protected] ~]# psql -U postgres -h pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com
Password for user postgres:
psql (11.5, server 10.6)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
rdsadmin | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | rdsadmin=CTc/rdsadmin
template0 | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/rdsadmin +
| | | | | rdsadmin=CTc/rdsadmin
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
postgres=> select version();
version
--------------------------------------------------------------------------------------------------------
PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit
(1 row)
Stejným způsobem se k němu můžeme připojit z našeho preferovaného GUI (pokud nějaké máme).
Poznámka k Amazon Aurora
Amazon Aurora je relační databáze kompatibilní s MySQL a PostgreSQL vytvořená pro cloud. Podle webové stránky AWS je Amazon Aurora třikrát rychlejší než standardní databáze PostgreSQL a poskytuje zabezpečení, dostupnost a spolehlivost komerčních databází za 1/10 nákladů. Bez ohledu na tvrzení se nejedná o skutečnou instanci PostgreSQL, pouze o kompatibilní engine. Ale pokud uvažujete o spuštění PostgreSQL na Amazonu, měli byste to určitě zvážit jako možnou alternativu. Více o Auroře a o tom, jak souvisí s PostgreSQL, se můžete dozvědět zde.
Závěr
Mrak je všude. Můžeme jej použít pro malé i velké projekty. V tomto blogu jsme se podívali na různé druhy cloudů a sdíleli jsme, jak spustit PostgreSQL na Amazon RDS. Dejte nám vědět v komentářích pod svými myšlenkami.