Podpięcie volume pod docker-compose na EC2

0

Mam apkę Spring + React, która jest modularnym monolitem i w docker-composie stawia sobie w uproszczeniu trzy kontenery:

  1. Springowy serwer
  2. Reactowy klient
  3. PostgresQL

Chciałbym to zdeployować na AWS, zatem raczej potrzebuję AWS EC2 (proszę o poprawienie).

Tylko, że muszę mieć persistent storage bazy danych PostgreSQL niezależne od cyklu życia instancji EC2, dlatego nie mogę podpiąć volume w dockerze pod filesystem bezpośrednio z instancji z EC2, bo będzie mi to się usuwało jak ubiję instancję EC2 (o ile tak to działa jak myślę...).

Zatem pod co mam podpiąć volume? Czy potrzebuję coś w stylu AWS EBS do tego? Szukam raczej łatwego, a niekoniecznie idealnego rozwiązania. Dzięki.

0

Zapewne jest opcja wybrania persistent dysku przy EC2, który się nie wyczyści jak ubijesz sterminatujesz instancje. Wiem że GCP ma taką opcje.

1

dlatego nie mogę podpiąć volume w dockerze pod filesystem bezpośrednio z instancji z EC2, bo będzie mi to się usuwało jak ubiję instancję EC2

Możesz przykładowo podpiąć volume EBS pod tę EC2, jak stawiasz Terraformem, to będzie to wyglądało mniej więcej tak: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/volume_attachment , przy wyklikowaniu z GUI'a podobna akcja. Jak masz już dysk jako device, to wtedy robisz mounta pod katalog na EC2, w którym znajdują się interesujące się dane / katalog który jest mountowany do środka kontenera jeśli korzystasz ze skonteneryzowanej wersji Postgresa.

Jak bazkę danych stawiasz na maszynie, przykładowo za pomocą kontenerka z postgresem, to jest to łatwe i tanie rozwiązanie na start, na dłuższą metę lepiej jest korzystać z bazki danych bezpośrednio od providera, zdejmuje to wtedy z Ciebie dużo odpowiedzialności i ułatwia pracę, ale też rozwiązanie droższe ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1