Облачните изчисления вече са нещо обичайно в повечето компании. Той позволява наличност при поискване на изчислителна мощност, база данни, съхранение, приложения и други ресурси чрез интернет.
Основните предимства зад облака са, че не е нужно да харчите много пари, за да закупите мощни сървъри или да изградите свои собствени центрове за данни. Но това не е единственото предимство, когато трябва да мащабирате, не е нужно да купувате нов сървър, можете просто да добавите ресурси с няколко щраквания. По подобен начин можем също да намалим броя на ресурсите, когато те не са необходими за намаляване на разходите.
Облачната база данни е база данни, работеща от доставчик на облак. Позволява ни да съхраняваме, управляваме, извличаме и манипулираме нашите данни чрез облачна платформа; достъпни през интернет.
В този блог ще разгледаме различните типове облачни предложения и след това ще се съсредоточим върху стартирането на PostgreSQL база данни с помощта на Amazon RDS
Оферти и опции за облачни услуги
Както можем да видим на изображението по-горе, има няколко различни вида облачни услуги в зависимост от необходимото ниво на достъп.
- Постоянно: Той е инсталиран и работи на компютри в помещенията на лицето или организацията, използваща системата. Всъщност това не е облачна услуга, но е полезно да видите разликата.
- IaaS: Това е онлайн услуга, която предоставя приложни програмни интерфейси (API) на високо ниво, използвани за достъп до различни детайли от ниско ниво на основната мрежова инфраструктура, като физически изчислителни ресурси, местоположение, разделяне на данни, мащабиране, сигурност, архивиране и др.
- PaaS: Той предоставя платформа, позволяваща на клиентите да разработват, изпълняват и управляват приложения без сложността на изграждане и поддържане на инфраструктурата, свързана с разработването и стартирането на приложение.
- SaaS: Достъпът до него се осъществява от потребителите през Интернет, използвайки клиент (браузър). Не изисква никаква инсталация от страна на клиента.
Ако говорим за PostgreSQL, има доставчици на облачни услуги, които предлагат PostgreSQL в облака; в различни вкусове и с различни методи. Както споменахме по-горе, ще се съсредоточим върху Amazon RDS.
Какво е Amazon RDS (услуга за релационна база данни)?
Според уеб сайта на Amazon, те предлагат над 165 пълнофункционални услуги, включително над 40 услуги, които не са налични никъде другаде. Така че AWS е може би най-напредналият доставчик на облак в света по отношение на функции и услуги с милиони клиенти.
Amazon RDS ни позволява да създаваме, управляваме и мащабираме релационна база данни в облака по лесен и бърз начин и е налична в различни типове бази данни като Amazon Aurora, PostgreSQL, MySQL и др. AWS предоставя инструмент, наречен AWS Database Migration Service за мигриране на съществуваща база данни към Amazon RDS.
Предимства на Amazon RDS
- Лесен за използване: Можем да използваме конзолата за управление на Amazon RDS, интерфейса на командния ред на AWS RDS или извикванията на API за достъп до релационната база данни. Не се нуждаем от осигуряване на инфраструктура или от инсталиране и поддръжка на софтуер за база данни.
- Мащабируем: Можем да мащабираме ресурсите за изчисление и съхранение на нашата база данни само с няколко щраквания. Много типове двигатели на Amazon RDS ни позволяват да стартираме една или повече реплики за четене, за да разтоварим трафика за четене от основния ни екземпляр на базата данни.
- Наличност: Когато предоставяме DB екземпляр с няколко AZ, Amazon RDS синхронно репликира данните в режим на готовност в различна зона за достъпност (AZ). Amazon RDS има много други функции, които повишават надеждността за критични производствени бази данни, включително автоматизирано архивиране, моментни снимки на база данни и автоматична подмяна на хост.
- Ефективност: Можем да избираме между две опции за съхранение, поддържано от SSD:едната е оптимизирана за високопроизводителни OLTP приложения, а другата за рентабилна употреба с общо предназначение.
- Защитен: Amazon RDS ни позволява да стартираме екземплярите на базата данни в Amazon VPC (Virtual Private Cloud), което ни позволява да изолираме копията на базата данни и да се свържем с нашата съществуваща ИТ инфраструктура чрез VPN. Освен това много типове двигатели на Amazon RDS предлагат криптиране в покой и криптиране по време на предаване.
Докато това не се споменава официално на уебсайта на AWS, но ако разглеждаме DBaaS (база данни като услуга) като услуга за база данни, която се управлява и разгръща в инфраструктурата на външния доставчик (според нашия списък в раздела по-горе) можем да кажем, че Amazon RDS е „вид“ DBaaS, някъде между PaaS и SaaS услуга.
Ръководство за PostgreSQL на Amazon RDS
Първо, трябва да влезем в конзолата на AWS. (Ако нямате акаунт в AWS, можете да създадете безплатен тук.)
След това отидете на Услуги -> База данни -> RDS и секция Създаване на база данни.
Сега трябва да изберем дали искаме да следваме нормалното или лесното създаване , двигателя и версията, която ще внедрим.
Ако изберем лесното създаване, трябва само да добавим екземпляра на базата данни име, потребител и парола.
В този случай ще изберем PostgreSQL 10 и нормалното създаване, за да можем да видим подробностите за създаването, така че това ще изисква малко повече работа от лесната.В този случай ще изберем PostgreSQL 10 и нормалното създаване, за да можем да видим подробностите за създаването, така че това ще изисква малко повече работа от лесната.
При нормалното създаване първо ще изберем шаблон, той може да бъде опция за производство, разработчик/тест или безплатно ниво.
В следващата стъпка ще добавим името на екземпляра на базата данни, потребител и парола.
Следващата стъпка е размерът на екземпляра на базата данни, където имаме няколко опции в три различни категории:стандартни класове, класове, оптимизирани за паметта, и класове, които могат да се размножават.
В секцията за съхранение можем да изберем типа, размера и поведение при съхранение.
Една от най-важните функции на AWS е внедряването в няколко AZ, където можем да създадем екземпляр в режим на готовност в различна зона за наличност, за да осигурим излишък.
Относно свързаността можем да изберем виртуален частен облак (VPC) за свържете новата база данни. Тук можем да изберем допълнителни опции като публичен достъп, зона за наличност и порт на базата данни.
След това имаме допълнителна конфигурация, където можем да посочим името на базата данни, базата данни удостоверяване, детайли за архивиране, криптиране, наблюдение, регистриране и поддръжка (автоматични незначителни надстройки).
Накрая ще имаме опцията да проверим прогнозните месечни разходи.
Можем да видим повече подробности за разходите тук или дори да използваме AWS Месечен калкулатор.
След като добавим цялата тази информация, трябва да изчакаме, докато процесът на създаване завърши.
Когато състоянието се промени на „Налично“, нашият екземпляр на базата данни е готов да използвайте.
Ако натиснете идентификатора на DB („pg1“ в нашия пример), ще получим достъп до нашата секция на базата данни, където можем да видим обобщение с информация като използване на процесора, връзки, състояние и тип . Тук можем също да променим конфигурацията на нашия екземпляр или да извършим различни действия като рестартиране, изтриване, създаване на реплика за четене, правене на моментни снимки и дори повече.
На същото място можем да видим и по-подробна информация в различни секции .
Свързване и сигурност
Можем да конфигурираме правилата за сигурност и да проверим мрежовата информация.
Наблюдение
Имаме някои показатели, за да проверим състоянието на нашата база данни.
Регистри и събития
Имаме аларми, събития и регистрационни файлове от нашата база данни.
Конфигурация
Можем да видим конфигурацията на нашия екземпляр, но също и списък с препоръки за подобряването му, като активиране на подобрен мониторинг.
Поддръжка и архивиране
Можем да видим информация за задачите по поддръжката, архивирането и процеса на моментна снимка.
Сега трябва да имаме достъп до нашата база данни, като използваме името на крайната точка присвоен от AWS (“pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com ” в нашия пример). За това се уверете, че сте разрешили достъп от секцията за група за защита и сте активирали публичния достъп от конфигурацията на екземпляра (Публичен достъп:Да). В нашия пример разрешаваме целия трафик от всички източници, но от съображения за сигурност вероятно ще искате да ограничите достъпа от един или няколко източника.
Сега нека се опитаме да се свържем с нашия Amazon RDS екземпляр от командния ред :
[[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)
По същия начин можем да се свържем с него от предпочитания от нас GUI (ако имаме такъв).
Бележка за Amazon Aurora
Amazon Aurora е релационна база данни, съвместима с MySQL и PostgreSQL, създадена за облака. Според уеб сайта на AWS, Amazon Aurora е три пъти по-бърза от стандартните PostgreSQL бази данни и осигурява сигурността, наличността и надеждността на търговските бази данни на 1/10 от цената. Независимо от твърдението, това не е истински PostgreSQL екземпляр, а просто съвместим двигател. Но ако обмисляте да стартирате PostgreSQL на Amazon, определено трябва да обмислите това като възможна алтернатива. Можете да научите повече за Aurora и как тя е свързана с PostgreSQL тук.
Заключение
Облакът е навсякъде. Можем да го използваме както за малки, така и за големи проекти. В този блог разгледахме различните видове облаци и споделихме как да стартирате PostgreSQL на Amazon RDS. Кажете ни в коментарите под вашите мисли.