Amazon EC2 ja WordPress – MySQL vai Amazon RDS?

Amazon EC2 for Wordpess - Basic setup

Amazon EC2 for Wordpess – Basic setup

Se, että omassa virtuaalikoneessasi on aivan oma tietokantapalvelin on aivan perusteltu ratkaisu, jos et aio asentaa vikasietoista useamman palvelimen järjestelmää itsellesi. Jos haluat vikasietoisen järjestelmän, niin silloinkin oman palvelimen luonti tai MySQL yhteensopivan Amazon RDS:n käyttö on tiukan harkinnan paikka. Tietokantapalvelimenani käytän MySQL-tietokantaa, koska WordPress-installaatiot on suunniteltu asentumaan juuri tämän tietokantamoottorin kanssa. Tutkittuani muiden kokemuksia asiasta päätin asentaa tietokantani Amazon RDS -palvelimelle. Valintaani vaikutti paljon se, että Amazon EC2 web-serverifarmini www-kyselyihin vastaavat etupalvelimet eivät itsessään tarvitse tietokantaa vaan voivat tehdä tietokantakyselyt verkon yli joltain toiselta palvelimelta (yksinkertaistettu periaatekuva vieressä). Lisäksi haluan pitää installaationi mahdollisimman yksinkertaisina ja mahdollisuuksien mukaan helposti hallinoitavina, niin MySQL-tietokannan siirtäminen Amazonin ylläpitämään RDS -palvelimeen tuntui oikealle ratkaisulle. Jos haluat tietää enemmän Amazon EC2 vps-palvelimen luonnista, niin kurkkaa blogi-tekstini ”Amazon EC2 virtuaalikone ja mitä itse teen sillä”.

Amazon EC2 for Wordpess - Old LAMP stack

Amazon EC2 for Wordpess – Old LAMP stack

Alkuperäisenä tarkoituksenani oli siis rakentaa vikasietoisempi ja skaalautuvampi järjestelmä kuin mikä vanha yhden virtuaalikoneen järjestelmäni (yksinkertaistettu kuva vieressä) oli. Vanha järjestelmäni oli vuonna 2008 asennettu ja aikaa myöden viilattu perus LAMP (Linux, Apache, MySQL, PHP) Ubuntu Server 8.04 LTS. Virtuaalikoneessani oli Apache ja sivustoni käyttäessä PHP:tä muistin kulutus oli aivan liian suuri. Tämä palvelinkofiguraatio oli tullut tiensä päähän, joten päätin vaihtaa järjestelmän kokonaan uudelle alustalle.

Yksi hyvä puoli Amazon RDS-palvelimessa on myös se, että palvelin on mahdollista tehdä vikasietoisena asennuksena (Amazon RDS Multi-AZ deployment). Tällöin Amazon pitää tietokantainstanssistasi toista instanssia valmiudessa toisella saavutettavuusvyöhykkeellä (availibity zone) ja vaihtaa automaattisesti ongelmatilanteessa primaari-instanssin varainstanssiin.

Toinen vaihtoehdoistani olisi ollut, että olisin luonut itselleni erilliset kaksi tai useamman Linux Ubuntu Server koneen ja niihin MySQL-instanssit master-master -konfiguraatiossa. Tutkittuani muiden tekemiä MySQL -serverifarmi testejä, niin päädyin jättämään tämän paljon lisätyötä teettävän vaihtoehdon pois omasta palvelin farmistani. Jos haluat tutustua skaalautuvaan ja vikasietoiseen MySQL -serverifarmin perustamiseen WordPress-ympäristössä, niin suosittelen tutustumaan oheisiin muutamaan hyvään verkkosivuun:

Jos olet toteuttanut Amazon EC2 -ympäristössä MySQL serverifarmin, niin olisi mielenkiintoista kuulla kokemuksistasi!

Amazon RDS instanssin luonti

Jos olet asentamassa itsellesi Amazon EC2 instanssiin WordPress-installaatiota ja niin RDS MySQL -instanssi luodan AWS-konsolin kautta. Mene konsolin kohtaan Services -> RDS ja luo itsellesi sopiva MySQL-instanssi. Luodessa instanssia anna instassillesi muistettava nimi, pääkäyttäjälle sopiva nimi ja salasana. Voit halutessasi myöhemmin luoda uuden käyttäjän, jolla on oikeudet vain WordPress-kantaan. Tämä on hyvä tapa muutenkin ja antaa lisäturvaa tietokantasi käyttöön.

Amazon RDS MySQL -instanssi ei ole MySQL:n täysi versio, mutta se sopii oikein hyvin wordpress-käyttöön. Koska tietokantasi sijaitsee erillisellä konella, niin Amazon RDS yksinkertaistaa serverifarmisi perustamista.

Instanssin tietoturva-asetuksissa anna luomasi Amazon EC2 installaatiosi pääsyryhmälle (security group, esimerkiksi luomasi group ”default-wordpress” ) oikeudet ottaa yhteyttä RDS instanssiin. Voit myös antaa oikeudet omalle ip-numerollesi, jos haluat käsitellä kantaa omalta koneeltasi. MySQL tietokannan muokkaukseen suosittelen Oracle MySQL workbench -ohjelmistoa. MySQL-kantaa voit tarvittaessa myös käsitellä suoraan komentoriviltä Amazon EC2 -instanssiltasi. Yksi vaihtoehto on asentaa phpMyAdmin web-palvelimellesi, mutta sen käyttö Amazon RDS -palvelimen kanssa osoittautui hieman hankalaksi, joten suosittelen jättämään Amazon EC2 – WordPress – Amazon RDS asennuksessa sen kokonaan pois.

Kun olet saanut määriteltyä Amazon RDS -instassisi asetukset niin seuraavaksi vain käynnistät palvelimen. Nyt voitkin kokeilla päästä RDS-palvelimelle MySQL-työkaluilla omalta koneeltasi skeä Amazon EC2-instassistasi.  Jos pääset kiinni RDS-palvelimellesi, niin onneksi olkoon, olet asentanut Amazon RDS palvelimen käyttöösi ja seuraavaksi voit asentaa koko muun palvelinympäristön WordPress-installaatiotasi varten!