Právě jsem absolvoval první krůčky s Amazon EC2. Abych se donutil si zapsat co a jak se dělá, tak se s vámi o své zkušenosti podělím. Berte to prosím tak, že se to sám teprve učím, takže je docela možné, že ne všechno co tu napíši musí být tak úplně pravda.
Začněme lehkým úvodem do služeb Amazonu (AWS). V podstatě všechny tyto služby mají jednoduché WS rozhraní, pomocí kterých je můžeme ovládat. Jedna z nejpoužívanějších služeb je S3. Ta vám za levný peníz umožní ukládat data na síti. Velmi jednoduše můžete na S3 nahrávat soubory, stahovat si je, můžete je nahrávat tak aby byly veřejné a podobně. Amazon se stará o poskytování služby, zálohování, dostupnost a podobné nezáživné věci. Pěkné na této službě je to, že platíte jen to co využijete. Tzn. místo zabrané na discích a množství přenesených dat. Ceny jsou docela mírné, pohybují se kolem $0.15 za GB/měsíc uložený nebo za GB přenesený. Takže pokud vám tam jen leží pár mega dat, banka vám každý měsíc strhává dvacet haléřů, tak jako mě. Pro snadné používání doporučuji S3 plugin do Firefoxu.
Další zajímavou službou je EC2 (Elastic Cloud alias Pružný Mrak). V podstatě jde o virtuální server, se kterým si můžete dělat co chcete. Máte na výběr mezi několika konfiguracemi, které se liší výkonem, pamětí a diskovým prostorem. Zde také platíte jen využitý čas. Tzn. jenom za severy, které opravdu běží, cena se pohybuje kolem $0.10 za hodinu za nejlevnější stroj. Takže pokud potřebujete unixový server na hraní, tak toto je opravdu hodně dobrá volba.
Pokud si chceme začít hrát, tak si nejdříve musíme u Amazonu zařídit účet, dát jim číslo platební karty a říci jim, že chceme používat EC2 a S3, popřípadě další ze zajímavých služeb které nabízejí. Pro začátek nám ale bude stačit EC2 a S3. Amazon nám vygeneruje identifikátor (AWS access key ID) a heslo (AWS Secret Access Key). Pomocí těchto údajů se budeme identifikovat.
Teď už můžeme zkusit nahodit server. Já k tomu používám Elasticfox. To je plugin do Firefoxu, který umožňuje správu serverů ve vašem mráčku. Takže si ho nainstalujeme, zadáme přístupové údaje a můžeme začít startovat server. Před tím vám ale doporučuji v záložce KeyPairs vygenerovat párek klíčů pro SSH. Jakmile máme vygenerovány klíče, můžeme nahodit server.
Ale jaký? Co na něm bude nainstalováno za systém a software? To určuje AMI (Amazon Machine Image). Ten si teoreticky můžete vytvořit sami, ale pro začátek můžeme použít nějaký existující. Doporučuji například ami-6f2cc906, ten obsahuje CentOS 5, Javu 6, Tomcat 5.5 a MySql a pár dalších věcí. Navíc je kompatibilní s CloudTools, které můžeme použít například pro deploy pomocí Mavenu.
V Elasticfoxu se tedy přepneme do záložky Images, vybereme si AMI a řekneme že chceme nahodit server. Zvolíme si SSH klíč, který jsme si vygenerovali a klikneme na Launch. Amazoni nám přidělí virtuální server, plácnou na něj AMI obraz a nastartují ho. Trvá to pár minut, ale na konci dostaneme linuxový server, s kterým si můžeme dělat co chceme. Když si připlatíme, tak může mít i veřejnou IP adresu. Tady pozor, standardně má server otevřený jen port 22, jakýkoliv další musíte explicitně otevřít. V Elasticfoxu to najdete v záložce Security Groups.
Další věc na kterou je potřeba si dát pozor, je to, že disk který máte k dipozici v EC2 není zrovna nejtrvalejší. Pokud Amazonům náhodou ten server spadne, tak je možné, že přijdete o všechna data, která jste měli na disku uložena. Pokud se s tím nechcete smířit, musíte si je zálohovat třeba na S3 nebo ukládat na Elastic Block Store (EBS). U těchto služeb prý zajišťují vysokou spolehlivost.
To je pro dnešek všechno, příště se podíváme na to jak používat CloudTools. Ale to musím nejdřív ještě vyzkoumat. Něco už s tím umím, ale vypadá to, že to umí automagicky nakonfigurovat MySql cluster, Terracotu, Apache a další věci o kterých mám jen okrajové tušení. Tak se nechte překvapit.