Възстановяване на достъпа до екземпляр на Amazon EC2 при загуба на pem файл
Един ден Ubuntu на лаптоп спря да тръгва, ругайки повреден xfs на диска. Не само това, проектът, върху който работя, беше съхранен на него. Имаше обаче git хранилище на машината EC2, но pem файлът беше на същия диск. Също така ще спомена, че не съм инсталирал FTP на сървъра, достъпът през SFTP не може да бъде получен без ключ. Разбира се, можете да говорите за предимствата на архивирането дълго време, но трябваше да търся начин да възстановя достъпа до облачната машина, за да не загубя вече свършената работа. След доста проучване на конзолата за управление на AWS как да възстановя pem файла, открих, че това не изглежда възможно, Amazon не го съхранява. Когато създавате нов екземпляр, конзолата ви подканва да изберете вече създаден ключ или да създадете нов.
Ако нямаше съхранени файлове на проекта на съществуващата машина, бих могъл безопасно да изтрия машината и да създам нова с нов pem файл.
И тогава си спомних една прекрасна възможност, която AWS предоставя - създаване на собствени изображения (AMI). Същността на тази функция е, че можете да инсталирате целия набор от необходимия софтуер на един екземпляр, като запазите изображението на AMI, като го използвате за създаване на серия от машини от същия тип. Можете да разположите клъстер в EC2 от едно изображение или да запазите състоянието на машината.
Както вече писах, AMI ще ви позволи да запазите всичко, което вече е било на диска на машината (инсталиран и конфигуриран софтуер, бази данни, вашите файлове) в изображение.
За да създадете изображение, отидете в секцията EC2 на конзолата за управление на AWS, изберете Инстанции. Щракнете с десния бутон върху копието, до което сте загубили достъп, изберете "Създаване на изображение (EBS AMI)" от контекстното меню.
В прозореца, който се показва, напишете името на AMI, посочете необходимите опции. Туктук трябва да обърнете внимание на потребителите на Free Tier, годишната безплатна услуга на Amazon. Необходимо е вашият AMI образ, заедно с образа на съществуваща машина, да не надвишава лимита за безплатни нива на EBS (Elastic Block Store), който към момента на писане е 30 GB.
Има два начина за повдигане на машина от нашия AMI - чрез EC2 / Инстанции / Стартиране на екземпляр, когато избирате AMI, отидете в раздела Моят AMI или изберете желаното изображение в секцията AMI на конзолата и щракнете върху Стартиране на екземпляр в контекстното меню.
Когато избирате двойка ключове за машината (вижте първата екранна снимка), създайте нов pem файл, заредете го и стартирайте машината. Ако сте използвали Elastic IP, развържете го от старата машина, свържете го с новата. Старата машина (след като се свържете с новата, като се уверите, че всичко е наред) може да бъде изтрита. AMI може също да бъде изтрит, като изберетеДерегистрацияза него в AMI.
UPD:astlock предложи друга опция:
-спиране на екземпляра -повдигане на всеки нов от всяко изображение -монтиране на този основен диск към него -редактиране на authorized_keys, вмъкване на вашия ключ -демонтиране на диска, унищожаване на временния екземпляр -монтиране към стария, включване, свързване с новия ключ.
Каква е разликата: използването на последния метод ще бъде свързано с малко по-голяма недостъпност на услугите на инстанцията, свързана с времето, прекарано за извършване на тези операции. Моят метод намалява това време до минимума, необходим за еластично ip пренасочване.
Hardcore conf в C++. Каним само професионалисти.