Amazon OpenSearch
Amazon OpenSearch Service
Wyszukiwanie pelnotekstowe i analityka logow w chmurze AWS. Zarzadzany OpenSearch z dashboardami, anomaly detection i trybem Serverless.
Amazon OpenSearch Service to zarzadzany serwis do wyszukiwania pelnotekstowego, analizy logow i wizualizacji danych w czasie rzeczywistym. Oparty na open-source OpenSearch (fork Elasticsearch), zapewnia pelna kompatybilnosc z ekosystemem Elasticsearch.
OpenSearch Service oferuje OpenSearch Dashboards (fork Kibana) do wizualizacji danych, wbudowane anomaly detection oparte na ML oraz rozne warstwy storage: hot (SSD), UltraWarm (tanie przechowywanie cieplych danych) i cold storage (najtansze, dla rzadko odpytywanych danych).
Amazon OpenSearch Service powstal w 2021 jako fork Elasticsearch po tym, jak Elastic zmienil licencje na SSPL. AWS utworzyl projekt OpenSearch pod licencja Apache 2.0, zachowujac pelna kompatybilnosc z Elasticsearch 7.10. Dzis OpenSearch to niezalezny projekt z wlasnym rozwojem.
Uzywaj UltraWarm dla danych starszych niz 30 dni, a cold storage dla danych starszych niz 90 dni. Typowy klaster z 1 TB logow dziennie moze zaoszczedzic ponad 80% kosztow storage dzieki tiered storage zamiast trzymania wszystkiego na hot nodes.
Amazon OpenSearch Service to zarzadzany serwis do wyszukiwania pelnotekstowego, analizy logow i wizualizacji danych. Oparty na OpenSearch (fork Elasticsearch), obsluguje petabajty danych z milisekundowym czasem odpowiedzi.
Tworzenie domeny (klastra)
Domena to klaster OpenSearch z konfigurowalnym hardware. Wybierasz: typ instancji (r6g.large dla typowych workloadow), liczbe nodow (min. 3 dla produkcji), wielkosc dysku EBS (gp3 lub io1). Dla multi-AZ wlacz Zone Awareness z 2 lub 3 AZ - daje wysoka dostepnosc z automatycznym failoverem.
Indeksowanie danych
Dane trafiaja do OpenSearch jako dokumenty JSON w indeksach. Mozesz indeksowac bezposrednio przez REST API, uzywac Kinesis Data Firehose do strumieniowania logow, Lambda do transformacji danych, lub Logstash do ETL. Zdefiniuj mapping (schemat) indeksu - okresla typy pol i analyzery dla wyszukiwania.
Wyszukiwanie i zapytania
OpenSearch Query DSL pozwala na: full-text search z relevantnosccia (BM25), filtrowanie po polach, agregacje (metryki, histogramy, terms), geospatial queries, fuzzy matching. REST API jest kompatybilne z Elasticsearch. Mozesz uzywac SQL plugin do pisania zapytan w skladni SQL zamiast JSON DSL.
OpenSearch Dashboards (wizualizacja)
Wbudowany interfejs webowy (fork Kibana) do tworzenia dashboardow i wizualizacji. Obslugujesz: wykresy liniowe, slupkowe, pie, heatmapy, mapy, tabele. Discover pozwala eksplorowac surowe dane. Alerting tworzy powiadomienia na podstawie zapytan (np. error rate > 5%). Dashboardy mozesz udostepniac przez URL.
UltraWarm i Cold Storage - optymalizacja kosztow
Dane przechodza przez 3 warstwy: Hot (instancje standardowe, najszybszy dostep), UltraWarm (S3-backed, do 3x tanszy, czas odpowiedzi sekundy), Cold Storage (najtanszy, dane archiwalne, trzeba przeniesc na UltraWarm przed zapytaniem). Index State Management (ISM) automatycznie migruje dane miedzy warstwami.
OpenSearch Serverless
Alternatywa managed - nie musisz konfigurowac klastra. Definiujesz collection (search lub time-series) i OpenSearch automatycznie skaluje zasoby. Placi sie za OCU (OpenSearch Compute Units). Idealny dla zmiennego obciazenia, ale drozszy niz provisioned przy stalym, duzym ruchu.
Praktyczne wskazowki z wdrazania i operowania Amazon OpenSearch Service w produkcji.
Sizing klastra - ile nodow i jakiego typu
Regula kciuka: 3 dedicated master nodes (c6g.large wystarczy) + data nodes. Data nodes: oblicz calkowity rozmiar danych * liczba replik * 1.45 (overhead) / pojemnosc dysku na noda. Dla wyszukiwania uzyj r6g (memory-optimized), dla logow i analityki c6g (compute). Zacznij od mniejszego klastra i skaluj - dodawanie nodow jest bezprzerwowe.
ZaawansowanyIndex lifecycle z ISM policies
Skonfiguruj Index State Management (ISM) do automatycznego zarzadzania cyklem zycia indeksow: hot (0-7 dni), UltraWarm (7-30 dni), cold (30-90 dni), delete (90+ dni). ISM automatycznie przenosi dane i czysci stare indeksy. Bez ISM dyski sie zapelnia i klaster staje sie niestabilny.
PoczatkujacyBezpieczenstwo: fine-grained access control
Wlacz Fine-Grained Access Control (FGAC) z SAML lub Cognito do autentykacji. FGAC pozwala kontrolowac dostep na poziomie indeksu, dokumentu i nawet pola. Np. team security widzi wszystkie logi, a team dev tylko logi swojej aplikacji. Lacz z VPC access (klaster w prywatnym subnecie) dla pelnej izolacji.
ZaawansowanyOptymalizacja wydajnosci wyszukiwania
Uzyj keyword type (nie text) dla pol, po ktorych filtrujesz (status, user_id). Ogranicz licze shardow - 1 shard per 10-50 GB danych. Unikaj wildcard queries na poczatku stringa (*term) - sa bardzo wolne. Uzyj filter context zamiast query context dla pol, ktore nie potrzebuja relevantnosci. Wlacz query cache.
ZaawansowanyIntegracja z CloudWatch Logs
CloudWatch Logs subscription filter moze strumieniowac logi bezposrednio do OpenSearch. AWS automatycznie tworzy indeks i mapping. Dla wiekszych wolumenow uzyj Kinesis Data Firehose jako bufora - obsluguje batching, kompresje i retry. Firehose moze tez transformowac dane Lambda przed indeksowaniem.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon OpenSearch bezposrednio w konsoli AWS.
Do czego sluzy Amazon OpenSearch?
Centralna analityka logow
Zbieraj logi z EC2, Lambda, ECS i innych serwisow. Przeszukuj miliony rekordow w sekundach i wizualizuj trendy w OpenSearch Dashboards.
Wyszukiwanie pelnotekstowe
Dodaj wyszukiwarke do aplikacji - produkty w e-commerce, artykuly na blogu, dokumenty w intranecie. Obsluguje fuzzy matching i autouzupelnianie.
Monitoring bezpieczenstwa (SIEM)
Zbieraj logi bezpieczenstwa (CloudTrail, VPC Flow Logs, WAF), wykrywaj anomalie i koreluj zdarzenia w czasie rzeczywistym.
Observability i APM
Monitoruj wydajnosc aplikacji z OpenSearch Trace Analytics. Koreluj logi, metryki i trace w jednym miejscu.
Co musisz wiedziec?
Domena (Domain)
Klaster OpenSearch z okreslona liczba wezlow, typem instancji i konfiguracja storage. Odpowiednik klastra Elasticsearch.
Index
Kolekcja dokumentow o podobnej strukturze. Odpowiednik tabeli w bazie danych. Dane sa automatycznie indeksowane do wyszukiwania.
OpenSearch Dashboards
Wizualny interfejs do eksploracji danych, tworzenia dashboardow i wizualizacji. Fork Kibana, w pelni kompatybilny z OpenSearch.
UltraWarm
Warstwa storage dla cieplych danych (rzadziej odpytywanych). Do 90% tansza niz hot storage. Dane na S3 z cache na SSD.
OpenSearch Serverless
Tryb serverless - nie zarzadzasz klastrem. Automatyczne skalowanie, platisz za OCU (OpenSearch Compute Units) i storage.
Anomaly Detection
Wbudowany model ML wykrywajacy anomalie w danych w czasie rzeczywistym. Automatycznie identyfikuje odchylenia od normalnych wzorcow.
Architektura: Centralna platforma logowania z OpenSearch
Architektura centralnego systemu logowania zbierajacego logi z wielu zrodel do OpenSearch z wizualizacja w Dashboards i alertingiem.
Ile kosztuje Amazon OpenSearch?
Instancje OpenSearch
Platisz za godziny pracy instancji w domenie. Cena zalezy od typu instancji i regionu.
t3.small.search: ~$0.036/godz. (~$26/mies.)
UltraWarm
Tansza warstwa storage dla cieplych danych. Platisz za instancje UltraWarm i przechowywane dane.
ultrawarm1.medium: ~$0.24/godz., storage: ~$0.024/GB/mies.
OpenSearch Serverless
Platisz za OCU (OpenSearch Compute Units) i przechowywanie danych. Minimum 4 OCU dla kolekcji.
1 OCU: ~$0.24/godz., storage: ~$0.024/GB/mies.
Cold Storage
Najtansza warstwa dla rzadko odpytywanych danych. Platisz tylko za storage, bez instancji.
Cold storage: ~$0.01/GB/mies.
Przyklady AWS CLI
Utworz domene OpenSearch
Tworzy nowa domene OpenSearch z jednym wezlem
aws opensearch create-domain \
--domain-name moja-domena \
--engine-version OpenSearch_2.11 \
--cluster-config InstanceType=t3.small.search,InstanceCount=1 \
--ebs-options EBSEnabled=true,VolumeType=gp3,VolumeSize=20
Sprawdz status domeny
Wyswietla informacje o domenie OpenSearch
aws opensearch describe-domain \
--domain-name moja-domena \
--query 'DomainStatus.{Status:Processing,Endpoint:Endpoint,Engine:EngineVersion,Instances:ClusterConfig.InstanceType}'
Lista wszystkich domen
Wyswietla wszystkie domeny OpenSearch w koncie
aws opensearch list-domain-names \
--engine-type OpenSearch \
--query 'DomainNames[].{Name:DomainName,Engine:EngineType}' \
--output table
Zaktualizuj konfigurace klastra
Zmienia typ instancji i wlacza UltraWarm
aws opensearch update-domain-config \
--domain-name moja-domena \
--cluster-config InstanceType=r6g.large.search,InstanceCount=2,WarmEnabled=true,WarmType=ultrawarm1.medium.search,WarmCount=2
Quiz: Amazon OpenSearch
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Czym jest UltraWarm w Amazon OpenSearch?
2. Czym sa OpenSearch Dashboards?
3. Co to jest OpenSearch Serverless?
4. Z jakiego projektu open-source wywodzi sie Amazon OpenSearch?
Czesto uzywane razem z Amazon OpenSearch
Chcesz poznac Amazon OpenSearch w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon OpenSearch krok po kroku. Teoria + praktyka od zera.