Изпълнение на еластичен Windows сървър в облака Amazon EC2
Най-популярната облачна услуга на Amazon е, разбира се, възможността за стартиране на виртуални сървъри (класическият IaaS модел). Съответната услуга на Amazon се нарича Elastic Compute Cloud (EC2). Обърнете внимание на думата еластичен: тя се прилага за много услуги на Amazon и „еластичността“ в тази компания изглежда е една от ключовите характеристики на облачната система. Подобни услуги отдавна се предоставят от огромното мнозинство хостери в така наречения формат на виртуален частен сървър (VPS) и от гледна точка на крайния потребител разликата между облачните (еластични) машини и VPS се състои основно във възможността за динамично регулиране на капацитета на виртуалния сървър и бързо стартиране на много сървърни копия. Това ви позволява бързо и незабележимо за потребителите да адаптирате системата към променящите се натоварвания (и процесите на адаптация могат да бъдат автоматизирани) и значително да спестите от системата като цяло. Значителна разлика между облачните услуги и VPS се проявява и в бизнес модела: трябва да плащате не фиксирана месечна сума, а само реално използваните услуги. Така че, ако сървърът е работил само един час през месеца, тогава ще трябва да платите само 60 минути.
Създаване на виртуален сървър на Amazon
Създаването на виртуален сървър (наречен екземпляр) обикновено се извършва от конзолата на AWS. В секцията EC2 щракнете върху единствения бутон Launch Instance (фиг. 1) и след това изберете подходящата ОС от обширен списък с десетки предварително подготвени дистрибуции на Amazon Machine Image (AMI).
Почти половината от този списък е зает от версии на Windows Server 2008/2012, а останалата част се отчита от различни Linux дистрибуции. Значителен брой операционни системи се предлагат и в безплатен формат - те са отбелязани с надписа Free tier eligible. Вярно е, че такива микроинстанции впочти невъзможни за използване в практически проекти поради ограничените предоставени ресурси, но за запознаване, разработване и създаване на тестови прототипи, те са доста задоволителни.
Избираме подходящата версия на AMI, ако е необходимо, задаваме битовата дълбочина на 32/64 и натискаме Избор. За Microsoft Windows Server 2008 R2 с SQL Server Express и IIS уеб сървър ще бъде предоставен условен сървър с един сокет с Opteron / Xeon 2007 прибл. Важен и основен момент е предоставянето на хранилище за данни във формат Elastic Block Store (EBS), което трябва да се разглежда отделно.
Съхранявайте данни на еластични дискове
Значителна разлика между екземплярите на облачна ОС и класическите виртуални VPS сървъри е фактическата липса на дългосрочно съхранение на данни. Ако при закупуване на VPS услуга, потребителят веднага получава например 10 GB дисково пространство и всичко, което е записано там, се запазва, тогава данните, които се намират в облачната машина EC2 и на пръв поглед изглеждат като на стабилен твърд диск, всъщност се намират в неговия локален кеш (т.нар. ефемерно хранилище, ефемерно хранилище). В случай на техническа повреда, превантивно претоварване на сървърите на Amazon или дори след ръчно изключване на виртуалния сървър, всички данни от локалния кеш ще бъдат изтрити, включително всички настройки на инсталираните от потребителя програми (фиг. 3). По-точно, предишният работен имидж на сървъра ще бъде изтрит завинаги и вместо него ще бъде автоматично генериран нов.
В ранните дни на Amazon това специфично внедряване на модела IaaS беше честодоведе до конфликти и в резултат на това Amazon стартира услугата EBS elastic storage, чието съдържание не се изтрива при спиране на сървъра. По едно време данните на EBS бяха унищожени след пълното премахване на сървъра, но този режим също предизвика недоволство и днес по подразбиране съдържанието на EBS остава недокоснато. Освен това можете да свържете нови EBS дискове към работещи сървъри, както и динамично да променяте размера им. Най-важното е, че всички настройки на приложението, документи и бази данни трябва да се съхраняват не на системния диск, а на виртуално EBS устройство.
Като се вземат предвид спецификите на работата на еластичните дискове, ако е необходимо, ще извършим допълнителни настройки (фиг. 4): например ще увеличим EBS дисковото пространство, което е предоставено по подразбиране в размер на 30 GB. Може би е по-добре да изключите режима на извеждане от експлоатация за това хранилище, когато изтривате виртуалната машина (Фигура 5).
Работа с пароли
В последния прозорец за създаване на виртуална машина, когато щракнете върху бутона Стартиране, услугата EC2 ще изисква от вас да качите файл с частен ключ - това е необходимо, за да се осигури сигурно взаимодействие с AWS облака, който съхранява публичния ключ. Също така ще ви е необходим частен ключ, когато задавате парола за достъп до Windows или организирате SSH взаимодействие с Linux. Ако такъв ключ не е бил създаден преди, изберете Създаване на нов ключ за двойка в горния падащ списък, въведете подходящо име на ключ в полето за въвеждане и щракнете върху бутона Изтегляне на двойка ключове. Ключът ще бъде генериран след няколко секунди, след което ще бъдете помолени да го запишете на локален диск във файл с разширение .pem. Този файл трябва да се съхранява внимателно в бъдеще. И накрая, след като щракнете върху бутона Launch Instance, виртуалната машина EC2 ще бъде създадена и стартирана - този процес ще отнеме няколко секунди.
Стартиране на EC2 сървъра
След това е необходим сървърен екземплярстартирайте, ако вече не работи. За да направите това, елементът Старт е избран в локалното меню на сървъра. Ще трябва да изчакате операционната система да се стартира, това ще отнеме сравнително кратко време. Когато сървърът работи нормално, зеленият светлинен индикатор ще светне в елемента Състояние на екземпляра. Освен това е необходимо записът „2/2 проверки преминаха“ да се появи в колоната „Проверка на състоянието“ със същото зелено подчертаване (фиг. 7).
Възможно е виртуалният сървър да „замръзне“ при стартиране - в този случай съобщението „1/2 проверки премина“ с жълта светлина ще се показва дълго време и достъпът до паролата също ще бъде затворен (фиг. 8). Веднъж имах подобно „окачено“ стартиране, което продължи един ден, и без да чакам успешното завършване на процеса, просто рестартирах сървъра. Според прегледите в такива случаи услугата за поддръжка на Amazon не реагира твърде бързо, но тази скорост зависи от избрания тарифен план.
Основната конзола на EC2 показва доста подробна и разнообразна статистика за текущото натоварване на сървъра (фиг. 9). Отбелязвам, че такава полезна функция не се предоставя от всички доставчици на VPS. Освен това е налична бета версия на помощната програма AWS Diagnostics for Microsoft Windows Server, която ви позволява да извършите подробен анализ на настройките на проблема и може например да идентифицира конфликти между защитната стена на Windows и групите за сигурност на Amazon.
Отдалечено свързване със сървъра
След като настроите машината и запазите данните на EBS диска, можете да направите свой собствен AMI образ и да го регистрирате в Amazon, което ще ви позволи бързо да „вдигнете“ много сървъри от същия тип за няколко минути в бъдеще.
Задаване на политики за сигурност
В някои случаи достъпът до сървъра на Amazon може допълнително да изискваконфигуриране на групи за сигурност, които определят по-специално начини за достъп до сървърни портове, използващи различни протоколи. Тази настройка се извършва чрез избиране на елемента Промяна на групите за сигурност в менюто на локалния сървър и задаване на правила за достъп за входящи (входящи) и изходящи (изходящи) заявки (фиг. 11). За първоначално тестване можете да посочите възможността за достъп до всички портове без ограничения, но в бъдеще тези правила ще трябва да бъдат внимателно коригирани. Присвояването на създадени или модифицирани групи за сигурност за сървъра се извършва чрез елемента Групи за сигурност от главното меню на конзолата EC2.
Настройка на еластичен IP
Получаването на еластичен IP става чрез избиране на елемента Elastic IPs в конзолата EC2 и щракване върху бутона Allocate New Address. Свързването на създадения еластичен IP към екземпляр на сървър се извършва с помощта на бутона Associate Address и избиране на желания сървър (фиг. 12). В бъдеще прехвърлянето на еластичен IP от машина на машина става с помощта на бутоните Associate Address и Dissociate Address.
Справяне с цените
EC2 сървърите се таксуват за всеки час, в който работят. В този случай сървърът се счита за работещ, дори ако е спрян. За да не се дебитират пари за действително време на престой, сървърът трябва да бъде изтрит (команда Прекратяване на локалното меню) и ако често трябва да използвате собствената си оригинална конфигурация, трябва да създадете AIM изображение за бързо разполагане на сървъри.
За първата година безплатният план дава на потребител на EC2 750 часа Linux и Windows сървърни инстанции, 750 часа ELB load balancer, 30 GB EBS пространство, 1 GB Snapshot памет за евентуален AIM и 15 GB общ изходящ трафик. Въпреки това, взанапред най-евтиният платен вариант с Windows хостинг (1 ECU, 1,7 GB RAM и 160 GB диск), включително SQL Server, ще струва много прилична сума - 0,625 $ на час или 460 $ на месец. За тези пари можете да наемете физически специален сървър с подобни характеристики, разположен в центъра за данни на доставчика, с чиято лекота на използване, разбира се, виртуалните сървъри все още не могат да се сравняват. Трябва също да вземете предвид особеностите на работа с Windows: например, ако се откажете от SQL Server, цената ще падне до $ 0,091 на час (вероятно цената на лиценз за СУБД). Но виртуален сървър, базиран на Red Hat Linux със същите технически характеристики, е пет пъти по-евтин.
Освен това можете да спестите много, като плащате за облачен хостинг за дълго време. Съответният режим на работа се нарича Резервирани инстанции. Например, в случай на Windows Server, резервацията ще струва само $0,033 на час, но само ако платите цялата сума години предварително.