Nasza pierwsza aplikacja Spring-Boot na AWS

Lubię gdy nadchodzi ten moment gdy w końcu projekt przy którym pracowaliśmy jest już w takiej fazie, że wypadałoby go wystawić choć trochę poza nasz komputer. 🙂

W ostatnim wpisie opisywałem w jaki sposób możemy opakować naszą aplikację w Dockera i udostępnić ją w repozytorium DockerHub. Dzisiaj pokażę jak ten obraz uruchomić na chmurze Amazona.

Tworzenie instancji

W AWS najpopularniejszym rozwiązaniem na postawienie prostego serwera jest utworzenie instancji w usłudze EC2 (nazewnictwo C2 czyli ECC czyli Elastic Compute Cloud).

Po zalogowaniu się do konsoli możemy od razu przejść do tworzenia instancji klikając przycisk Launch Instance

Wybierzemy system operacyjny – przykładowo zwykłego Debiana: Debian GNU/Linux 9 (Stretch)

Pomijam rozwodzenie się nad parametrami serwera. Na potrzeby tego wpisu wybrałem najtańszy – t2.nano.

Skonfigurujemy jeszcze Security Group – tak, aby nasza aplikacja była widoczna z zewnątrz. Aplikacja, którą chcę wystawić działa na porcie 8080.

Na koniec utworzymy jeszcze parę kluczy, które umożliwą nam połączenie się z serwerem po ssh.

Jak instancja będzie gotowa możemy podejrzeć przydzielone jej IP i połączyć się z serwerem.

AWS nawet daję nam małą ściągawkę w jaki sposób możemy się dostać na serwer. 🙂

w przypadku Debiana połączenie do serwera odbywa się z użytkownikiem „admin” zamiast „root”.

Instalacja Dockera na serwerze

Ten krok jest bardzo ładnie opisany pod tym linkiem.

Uruchomienie naszej aplikacji

Jak już upewnimy się, że Docker został poprawnie zainstalowany komendą

docker --version

Możemy przejść do uruchomienia naszej aplikacji.

sudo docker run -p 8080:8008 -d mtszpater/my-example-app

Flaga -d, aby uruchomić kontener w tle. W tym momencie, o ile nie podaliśmy wersji, zostanie ściągnięta wersja ostatnia (latest). I widzimy jak wszystko ładnie się uruchomiło 🙂