Włączaj i zarządzaj bazami danych otwartego kodu źródłowego InfluxDB z Amazon Timestream

12 lipca 2024

Od dzisiaj, InfluxDB może być używany jako silnik bazy danych w Amazon Timestream. Ta usługa umożliwia działanie aplikacji szeregu czasowego niemal w czasie rzeczywistym przy użyciu InfluxDB i API w dostępie publicznym, w tym agentów Telegraf w dostępie publicznym, którzy obserwują szeregi czasowe.Obecnie istnieją dwa silniki baz danych do wyboru w Timestream: Timestream dla LiveAnalytics oraz Timestream dla InfluxDB.

Użycie Timestreamu dla silnika InfluxDB jest wskazane, jeśli przypadki użycia wymagają zapytań niemal w czasie rzeczywistym przy szeregu czasowym lub konkretnych funkcji InfluxDB takich jak użycie zapytań Flux. Kolejną opcją jest istniejący Timestream dla silnika LiveAnalytics, który jest odpowiedni, jeżeli przyjmowane jest więcej niż dziesiątki gigabajtów danych w szeregu czasowym na minutę i włączenie zapytania SQL na petabajtach danych w szeregu czasowym liczonym w sekundach.

Amazon Timestream

Ze wsparciem InfluxDB w Timestream, możliwe jest użycie zarządzanej instancji, która jest automatycznie konfigurowana dla optymalnego wyniku i dostępności. Co więcej, możliwe jest podwyższenie wytrzymałości poprzez konfigurację wsparcia stref dostępności dla baz danych InfluxDB.

Timestream dla InfluxDB i Timestream dla LiveAnalytics uzupełniają się, aby osiągać małe opóźnienia przy wysokim spożyciu danych.

Jak zacząć z Timestream dla InfluxDB

Tworzę instancję InfluxDB. Kieruję się do pulpitu Timestream, potem InfluxDB databases w Timestream for InfluxDB i wybieram Create Influx Database.

Tworzę instancję InfluxDB. Kieruję się do pulpitu Timestream, potem InfluxDB databases w Timestream for InfluxDB i wybieram Create Influx Database.

Na następnej stronie określam kwalifikacje bazy danych dla instancji InfluxDB.

Na następnej stronie określam kwalifikacje bazy danych dla instancji InfluxDB.

Określam także klasę instancji w konfiguracji instancji a także typ i objętość pamięci, jakich potrzebuję.

Określam także klasę instancji w konfiguracji instancji a także typ i objętość pamięci, jakich potrzebuję.

Następnie, mogę wybrać lokację multi-AZ, która synchronicznie replikuje dane do rezerwowej bazy danych w innej strefie dostępności lub jednej instancji InfluxDB. Jeśli w lokacji multi-AZ wykryto błąd, Timestream dla InfluxDB automatycznie przeniesie się do zapasowej instancji bez utraty danych.

Następnie, mogę wybrać lokację multi-AZ, która synchronicznie replikuje dane do rezerwowej bazy danych w innej strefie dostępności lub jednej instancji InfluxDB. Jeśli w lokacji multi-AZ wykryto błąd, Timestream dla InfluxDB automatycznie przeniesie się do zapasowej instancji bez utraty danych.

Następnie konfiguruję łączenie się z instancją InfluxDB w konfiguracji łączności. Tutaj mogę zdefiniować typ sieci, prywatną chmurę wirtualną (VPC), podsieci i port bazy danych. Mam także możliwość konfiguracji instancji InfluxDB na bycie publicznie dostępną poprzez specyfikację publicznych podsieci oraz ustawić dostęp na publiczny, pozwalając Amazon Timestream na przypisanie publicznego adresu IP do mojej instancji InfluxDB. Przy wybieraniu tej opcji upewnij się, że podjąłeś odpowiednie kroki w sprawie bezpieczeństwa, aby chronić swoje instancje InfluxDB.

W tej wersji demo ustawiam moją instancję na niedostępną publicznie, co oznacza także, że mogę się do niej dostać jedynie poprzez VPC i podsieci, które ustawiłem w tej sekcji.

W tej wersji demo ustawiam moją instancję na niedostępną publicznie, co oznacza także, że mogę się do niej dostać jedynie poprzez VPC i podsieci, które ustawiłem w tej sekcji.

Po konfiguracji spójności bazy danych, mogę określić grupę parametrów bazy danych i ustawienia logów. W grupie parametrowej mogę dokładnie określić konfigurowalne parametry, których chcę używać dla mojej bazy danych InfluxDB. W ustawieniach logów mogę także określić, którego bucketa Amazon Simple Storage Service (Amazon S3) używam, aby eksportować logi systemowe. Aby dowiedzieć się więcej o wymaganej polityce AWS Identity and Access Management (IAM) dla bucketa Amazon S3, odwiedź tę stronę.

Kiedy moje ustawienia są dla mnie zadowalające, wybieram Create Influx database.

Kiedy moje ustawienia są dla mnie zadowalające, wybieram Create Influx database.

Kiedy moja instancja InfluxDB jest gotowa, mogę zobaczyć więcej informacji na stronie podsumowującej.

Kiedy moja instancja InfluxDB jest gotowa, mogę zobaczyć więcej informacji na stronie podsumowującej.

Ze stworzoną instancją InfluxDB, mogę także dostać się do interfejsu użytkownika (UI) InfluxDB. Jeśli skonfiguruję InfluxDB jako dostępny publicznie, mam dostęp do UI poprzez pulpit przy wybraniu InfluxDB UI. Tak jak pokazałem, skonfigurowałem moją instancję jako niepubliczną. W tym przypadku, muszę się dostać do UI InfluxDB poprzez instancję Amazon Elastic Compute Cloud (Amazon EC2) przez to samo VPC co instancja InfluxDB.

Z punktem końcowym URL ze strony podsumowującej idę do InfluxDB UI i wpisuję login oraz hasło, które ustawiłem wcześniej.

Z punktem końcowym URL ze strony podsumowującej idę do InfluxDB UI i wpisuję login oraz hasło, które ustawiłem wcześniej.

Z dostępem do UI, mogę teraz stworzyć token do interakcji z moją instancją InfluxDB.

Z dostępem do UI, mogę teraz stworzyć token do interakcji z moją instancją InfluxDB.

Mogę także użyć interfejsu Influx command line (CLI), aby zrobić tokena. Przed stworzeniem go, tworzę konfigurację do interakcji z moją instancją InfluxDB. Poniżej znajduje się przykładowa komenda do stworzenia konfiguracji:

Poniżej znajduje się przykładowa komenda do stworzenia konfiguracji:

Wraz ze stworzoną konfiguracją, mogę teraz utworzyć operatora; token z pełnym dostępem lub do odczytu/zapisywania. Poniżej znajduje się przykład jak stworzyć token z pełnym dostępem, aby przyznać uprawnienia do wszystkich zasobów w organizacji, którą zdefiniowałem:

Poniżej znajduje się przykład jak stworzyć token z pełnym dostępem, aby przyznać uprawnienia do wszystkich zasobów w organizacji, którą zdefiniowałem:

Kiedy mam już token, mogę używać różnych narzędzi, takich jak Influx CLI, agent Telegrafa i biblioteki klienta InfluxDB, aby przyjmować dane do mojej instancji InfluxDB. Tutaj używam Influx CLI, aby napisać przykładowe home sensor data w protokole liniowym, który jest dostępny także na stronie dokumentów InfluxDB.

 

 

influx write \
  --bucket demo-bucket \
  --precision s "
home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600
home,room=Living\ Room temp=21.8,hum=36.0,co=0i 1641031200
home,room=Kitchen temp=22.7,hum=36.1,co=0i 1641031200
home,room=Living\ Room temp=22.2,hum=36.0,co=0i 1641034800
home,room=Kitchen temp=22.4,hum=36.0,co=0i 1641034800
home,room=Living\ Room temp=22.2,hum=35.9,co=0i 1641038400
home,room=Kitchen temp=22.5,hum=36.0,co=0i 1641038400
home,room=Living\ Room temp=22.4,hum=36.0,co=0i 1641042000
home,room=Kitchen temp=22.8,hum=36.5,co=1i 1641042000
home,room=Living\ Room temp=22.3,hum=36.1,co=0i 1641045600
home,room=Kitchen temp=22.8,hum=36.3,co=1i 1641045600
home,room=Living\ Room temp=22.3,hum=36.1,co=1i 1641049200
home,room=Kitchen temp=22.7,hum=36.2,co=3i 1641049200
home,room=Living\ Room temp=22.4,hum=36.0,co=4i 1641052800
home,room=Kitchen temp=22.4,hum=36.0,co=7i 1641052800
home,room=Living\ Room temp=22.6,hum=35.9,co=5i 1641056400
home,room=Kitchen temp=22.7,hum=36.0,co=9i 1641056400
home,room=Living\ Room temp=22.8,hum=36.2,co=9i 1641060000
home,room=Kitchen temp=23.3,hum=36.9,co=18i 1641060000
home,room=Living\ Room temp=22.5,hum=36.3,co=14i 1641063600
home,room=Kitchen temp=23.1,hum=36.6,co=22i 1641063600
home,room=Living\ Room temp=22.2,hum=36.4,co=17i 1641067200
home,room=Kitchen temp=22.7,hum=36.5,co=26i 1641067200
"

W końcu mogę wpisać dane używając InfluxDB UI. Kieruję się do strony Data Explorer, tworzę prosty skrypt Flux i naciskam Submit.

W końcu mogę wpisać dane używając InfluxDB UI. Kieruję się do strony Data Explorer, tworzę prosty skrypt Flux i naciskam Submit.

Timestream dla InfluxDB ułatwia rozwój aplikacji przy użyciu InfluxDB przy użyciu Twoich dotychczasowych narzędzi do interakcji z bazą danych. Z konfiguracją multi-AZ, możesz podnieść dostępność Twoich danych InfluxDB bez martwienia się o ukrytą infrastrukturę.

Współpraca AWS i InfluxDB

Aby celebrować tę premierę, oto co powiedział o tej współpracy Paul Dix, założyciel i Chief Technology Officer InfluxData:

“Przyszłość otwartego dostępu jest napędzana przez publiczną chmurę - docierającą do najszerszej społeczności poprzez proste punkty wejścia i praktyczne doświadczenia użytkownika. Amazon Timestream dla InfluxDB realizuje tę wizję. Nasza współpraca z AWS zmienia otwarty dostęp InfluxDB w silny multiplikator dla obserwacji w czasie rzeczywistym w dane szeregów czasowych, przez co budowanie i skalowanie ilości pracy szeregów czasowych w AWS jest dla deweloperów łatwiejsze niż kiedykolwiek.

Warto wiedzieć

Dodatkowe informacje, które będą dla Ciebie przydatne:

Dostępność - Timestream dla InfluxDB jest teraz ogólnie dostępny w następujących regionach AWS: Wschodnie USA (Ohio, Północna Wirginia), Zachodnie USA (Oregon), Azja-Pacyfik (Mumbaj, Singapur, Sydney, Tokio), Europa (Frankfurt, Irlandia, Sztokholm)

Migracja – aby migrować z samodzielnie zarządzanej instancji InfluxDB, możesz przywrócić kopię zapasową z istniejącej bazy danych InfluxDB do Timestreamu dla InfluxDB. Jeśli musisz migrować z istniejącego silnika Timestream LiveAnalytics na Timestream dla InfluxDB możesz wykorzystać Amazon S3. Przeczytaj więcej o migracji w różnych przypadkach na Migrowanie danych z samodzielnie zarządzanego InfluxDB do Timestream dla InfluxDB.

Wspierana wersja – Timestram dla InfluxDB wspiera obecnie wersję InfluxDB open source 2.7.5

Koszt – aby dowiedzieć się więcej o kosztach, zobacz Cennik Amazon Timestream.

Demo – aby zobaczyć Timestream dla InfluxDB w akcji, rzuć okiem na demo stworzone przez mojego kolegę Dereka: https://youtu.be/yxlejP95ezM

Zacznij stawianie aplikacji i dashboardów w szeregach czasowych z milisekundowymi odpowiedziami używając Timestream dla InfluxDB. Aby dowiedzieć się więcej, zobacz Amazon Timestream dla InfluxDB.

źródło: AWS

Case Studies
Referencje

Jesteśmy ogromnie zadowoleni ze współpracy z firmą Hostersi. Ich specjaliści doradzili nam rozwiązanie, które dało nam stabilną, skalowalną infrastrukturę, która umożliwia obsłużenie ciągle rosnącego ruchu związanego z COVID-19

Jakub Sperczyński
Prezes Zarządu EduNect
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.