Amazon OpenSearch bez serwera zapewnia funkcje wyszukiwania i analityczne OpenSearch bez konieczności ręcznego konfigurowania, zarządzania i skalowania klastrów OpenSearch. Automatycznie skaluje zasoby w oparciu o obciążenie pracą, a Ty płacisz tylko za wykorzystane zasoby. Zarządzanie OpenSearch Serverless jest proste, ale wymaga infrastruktury w postaci kodu (IaC). Terraformmożesz jeszcze bardziej uprościć zarządzanie zasobami.
W tym poście pokazano, jak używać Terraform do tworzenia, wdrażania i czyszczenia infrastruktury OpenSearch Serverless.
Omówienie rozwiązania
Aby utworzyć i wdrożyć kolekcję OpenSearch Serverless z zasadami bezpieczeństwa i dostępu przy użyciu Terraform, wykonaj następujące kroki:
- Zainicjuj konfigurację Terraform.
- Utwórz politykę szyfrowania.
- Utwórz kolekcję bezserwerową OpenSearch.
- Utwórz politykę sieciową.
- Utwórz punkt końcowy wirtualnej chmury prywatnej (VPC).
- Utwórz politykę dostępu do danych.
- Wdróż za pomocą Terraform.
Wymagania wstępne
W tym poście zakładamy, że znasz GitHub i Polecenia Gita.
Do tego przewodnika potrzebne będą:
Zainicjuj konfigurację Terraform
Przykładowy kod jest dostępny w pliku Repozytorium Terraform GitHub terraform-provider-aws/examples/opensearchserverless
informator. Dzięki tej konfiguracji zaczniesz korzystać z OpenSearch Serverless. Najpierw sklonuj repozytorium na swoją stację roboczą i przejdź do katalogu:
$ git clone https://github.com/hashicorp/terraform-provider-aws.git && cd ./terraform-provider-aws/examples/opensearchserverless
Zainicjuj konfigurację, aby zainstalować aws
dostawcy, uruchamiając następujące polecenie:
$ terraform init
Konfiguracja Terraform najpierw definiuje wymaganą wersję Terraform i konfiguruje Dostawca AWS-a do uruchomienia zasobów w Regionie określonym przez aws_region
zmienna:
Zmienne używane w tej konfiguracji Terraform są zdefiniowane w pliku variables.tf
plik. W tym poście założono, że używane są wartości domyślne:
Utwórz politykę szyfrowania
Teraz, gdy dostawca jest zainstalowany i skonfigurowany, konfiguracja Terraform przechodzi do definiowania zasad OpenSearch Serverless ze względów bezpieczeństwa. Używa OpenSearch Serverless Usługa zarządzania kluczami AWS (AWS KMS) do Szyfrowanie Twoje dane. Szyfrowaniem zarządza: polityka szyfrowania. Aby utworzyć politykę szyfrowania, użyj metody aws_opensearchserverless_security_policy
zasób, który ma name
parametr, A type
of encryption
, ciąg JSON definiujący zasady i opcjonalny description
:
Ta zasada szyfrowania nosi nazwę example-encryption-policy
, dotyczy kolekcji o nazwie example-collection
i używa klucza należącego do AWS do szyfrowania danych.
Utwórz kolekcję OpenSearch Serverless
Możesz zorganizować swoje Indeksy OpenSearch w logiczną grupę zwaną a kolekcja. Utwórz kolekcję za pomocą aws_opensearchserverless_collection
zasób, który ma name
parametr i opcjonalnie description
, tags
, type
:
Ta kolekcja nosi nazwę example-collection
. Jeśli type
nie jest określony, a zbiór szeregów czasowych jest tworzone. Obsługiwane typy kolekcji można znaleźć w dokumentacji Terraform dla aws_opensearchserverless_collection
ratunek. OpenSearch Serverless wymaga szyfrowania w stanie spoczynku, dlatego przed utworzeniem kolekcji wymagana jest odpowiednia polityka szyfrowania. Konfiguracja Terraform jawnie definiuje tę zależność za pomocą depends_on
metaargument. Jeśli ta zależność nie jest zdefiniowana, mogą wystąpić błędy.
Teraz, gdy kolekcja została utworzona przy użyciu klucza KMS należącego do AWS, konfiguracja Terraform przechodzi do zdefiniowania zasad dostępu do sieci i danych w celu skonfigurowania dostępu do kolekcji.
Utwórz politykę sieciową
A polityka sieciowa umożliwia dostęp do Twojej kolekcji za pośrednictwem publicznego Internetu lub punktów końcowych VPC zarządzanych bez serwera OpenSearch. Podobnie jak w przypadku polityki szyfrowania, aby utworzyć politykę sieciową, użyj metody aws_opensearchserverless_security_policy
zasób, który ma name
parametr, A type
of network
, ciąg JSON definiujący zasady i opcjonalny description
:
Ta zasada sieciowa nosi nazwę example-network-policy
i dotyczy kolekcji o nazwie example-collection
. Ta zasada umożliwia dostęp do punktu końcowego OpenSearch kolekcji wyłącznie przez punkt końcowy VPC, ale umożliwia publiczny dostęp do punktu końcowego OpenSearch Dashboards.
Zauważysz, że punkt końcowy VPC nie został jeszcze zdefiniowany, ale jest o nim mowa w zasadach sieciowych. Terraform automatycznie określa tę zależność i nie utworzy zasad sieciowych, dopóki nie zostanie utworzony punkt końcowy VPC.
Utwórz punkt końcowy VPC
Punkt końcowy VPC umożliwia prywatny dostęp do kolekcji OpenSearch Serverless za pomocą Prywatny link AWS (aby uzyskać więcej informacji, patrz Uzyskaj dostęp do usług AWS poprzez AWS PrivateLink). Utwórz punkt końcowy VPC za pomocą pliku aws_opensearchserverless_vpc_endpoint
zasób, w którym definiujesz name
, vpc_id
, subnet_ids
i opcjonalnie security_group_ids
:
Tworzenie VPC i wszystkich wymaganych zasobów sieciowych nie wchodzi w zakres tego posta, ale minimalne wymagane zasoby VPC są tworzone tutaj w osobnym pliku, aby zademonstrować funkcjonalność punktu końcowego VPC. Odnosić się do Pierwsze kroki z Amazon VPC uczyć się więcej.
Utwórz politykę dostępu do danych
Konfiguracja definiuje a źródło danych który wyszukuje informacje o kontekście, w którym aktualnie działa Terraform. To źródło danych jest wykorzystywane podczas definiowania polityki dostępu do danych. Więcej informacji można znaleźć w dokumentacji Terraform dla aws_caller_identity
.
A polityka dostępu do danych pozwala zdefiniować kto ma dostęp do zbiorów i indeksów. Polityka dostępu do danych jest definiowana za pomocą aws_opensearchserverless_access_policy
zasób, który ma name
parametr, A type
parametr ustawiony na data
, ciąg JSON definiujący zasady i opcjonalny description
:
Ta polityka dostępu do danych umożliwia wykonywanie bieżącej roli lub użytkownika AWS działania związane ze zbiórką w kolekcji o nazwie example-collection
i działania związane z indeksami na indeksach znajdujących się w zbiorze.
Wdróż za pomocą Terraform
Po skonfigurowaniu niezbędnych zasobów zastosuj konfigurację za pomocą terraform apply
. Przed utworzeniem zasobów Terraform opisze wszystkie zasoby, które zostaną utworzone, abyś mógł zweryfikować swoją konfigurację:
$ terraform apply ... Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: ... Plan: 13 to add, 0 to change, 0 to destroy. Changes to Outputs: + collection_enpdoint = (known after apply) + dashboard_endpoint = (known after apply) Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
Jeśli jest to pierwsza kolekcja OpenSearch Serverless na Twoim koncie, zastosowanie konfiguracji może zająć ponad 10 minut, ponieważ Terraform czeka, aż kolekcja stanie się aktywna.
Apply complete! Resources: 13 added, 0 changed, 0 destroyed. Outputs: collection_enpdoint = "..."
dashboard_endpoint = "..."
Wdrożyłeś teraz kolekcję szeregów czasowych OpenSearch Serverless z zasadami konfigurowania szyfrowania i dostępu do kolekcji!
Sprzątać
Zasoby będą generować koszty tak długo, jak będą działać, dlatego należy je wyczyścić po zakończeniu ich używania. Aby to zrobić, użyj polecenia terraformzniszczenia:
$ terraform destroy ... Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: - destroy Terraform will perform the following actions: ... Plan: 0 to add, 0 to change, 13 to destroy. Changes to Outputs: ... Do you really want to destroy all resources? Terraform will destroy all your managed infrastructure, as shown above. There is no undo. Only 'yes' will be accepted to confirm. Enter a value:
Odpowiedź yes
zrealizować ten plan i zniszczyć infrastrukturę.
Destroy complete! Resources: 13 destroyed.
Wszystkie zasoby utworzone podczas tego przewodnika zostały teraz usunięte.
Wnioski
W tym poście utworzyłeś kolekcję OpenSearch Serverless. Korzystanie z oprogramowania IaC, takiego jak Terraform, może ułatwić zarządzanie zasobami, takimi jak zbiory OpenSearch Serverless, szyfrowanie, zasady sieci i dostępu do danych oraz punkty końcowe VPC.
Dziękujemy wszystkim współpracownikom open source, którzy pomagają w utrzymaniu Otwórz wyszukiwanie i Terraform.
Spróbuj użyć OpenSearch Serverless z Terraform, aby uprościć zarządzanie zasobami. Sprawdź Pierwsze kroki z warsztatami Amazon OpenSearch Serverless oraz Przewodnik programisty bezserwerowego Amazon OpenSearch aby dowiedzieć się więcej o OpenSearch Serverless.
O autorach
Jozue Luo jest inżynierem ds. rozwoju oprogramowania dla Amazon OpenSearch Serverless. Pracuje nad systemami, które umożliwiają klientom zarządzanie i monitorowanie zasobów OpenSearch Serverless. W wolnym czasie interesuje się boulderingiem, fotografią i filmowaniem.
Satish Nandi jest starszym menedżerem technicznym ds. produktów w usłudze Amazon OpenSearch Service.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Motoryzacja / pojazdy elektryczne, Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- ChartPrime. Podnieś poziom swojej gry handlowej dzięki ChartPrime. Dostęp tutaj.
- Przesunięcia bloków. Modernizacja własności offsetu środowiskowego. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/big-data/deploy-amazon-opensearch-serverless-with-terraform/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 10
- 100
- 12
- 13
- 16
- 7
- 8
- 9
- a
- O nas
- powyżej
- zaakceptowany
- dostęp
- Konto
- działania
- aktywny
- Dodaj
- w dodatku
- Po
- Wszystkie kategorie
- dopuszczać
- pozwala
- Amazonka
- Amazon Web Services
- an
- Analityczny
- i
- odpowiedni
- Aplikuj
- Stosowanie
- Zatwierdzać
- SĄ
- powstać
- AS
- zakłada
- At
- upoważniony
- automatycznie
- dostępny
- AWS
- na podstawie
- BE
- bo
- stają się
- być
- zanim
- ale
- by
- nazywa
- CAN
- CD
- zmiana
- zmieniony
- Zmiany
- ZOBACZ
- Chmura
- kod
- kolekcja
- kolekcje
- systemu
- skonfigurowany
- Potwierdzać
- spożywane
- kontekst
- Dostawcy
- Koszty:
- Stwórz
- stworzony
- tworzy
- Tworzenie
- Aktualny
- Obecnie
- Klientów
- tablica rozdzielcza
- Deski rozdzielcze
- dane
- dostęp do danych
- Domyślnie
- określić
- zdefiniowane
- Definiuje
- definiowanie
- wykazać
- demonstruje
- Zależność
- rozwijać
- wdrażane
- opisać
- opisane
- opis
- zniszczyć
- zniszczony
- określa
- Deweloper
- oprogramowania
- do
- dokumentacja
- zrobić
- podczas
- Efektywne
- bądź
- umożliwiać
- Umożliwia
- szyfrowanie
- Punkt końcowy
- Punkty końcowe
- inżynier
- Wchodzę
- Błędy
- Eter (ETH)
- Parzyste
- egzekucja
- fałszywy
- znajomy
- filet
- i terminów, a
- obserwuj
- następujący
- W razie zamówieenia projektu
- znaleziono
- Darmowy
- Funkcjonalność
- Generować
- otrzymać
- git
- GitHub
- Goes
- większy
- Have
- he
- pomoc
- tutaj
- jego
- W jaki sposób
- How To
- HTML
- http
- HTTPS
- IAC
- ID
- if
- in
- wskaźnik
- indeksy
- wskazany
- Informacja
- Infrastruktura
- zainstalować
- zainstalowany
- Internet
- najnowszych
- IT
- json
- Klawisz
- znany
- uruchomić
- UCZYĆ SIĘ
- lubić
- logiczny
- długo
- WYGLĄD
- utrzymać
- robić
- zarządzanie
- zarządzane
- i konserwacjami
- kierownik
- zarządzający
- podręcznik
- Może..
- minimum
- minuty
- monitor
- jeszcze
- porusza się
- Nazwa
- O imieniu
- Nawigacja
- niezbędny
- Potrzebować
- sieć
- Bezpieczeństwo sieci
- sieci
- Nie
- Zauważyć..
- już dziś
- of
- on
- tylko
- open source
- or
- na zewnątrz
- koniec
- własność
- parametr
- Zapłacić
- wykonać
- pozwolenie
- fotografia
- krok po kroku
- plato
- Analiza danych Platona
- PlatoDane
- polityka
- polityka
- Post
- Główny
- prywatny
- kontynuować
- Produkt
- product manager
- dostawca
- dostawców
- zapewnia
- publiczny
- naprawdę
- region
- składnica
- wymagać
- wymagany
- Wymaga
- Zasób
- Zasoby
- REST
- Rola
- reguły
- run
- bieganie
- waga
- skalowaniem
- zakres
- Szukaj
- bezpieczeństwo
- wybrany
- senior
- oddzielny
- Serie
- Bezserwerowe
- usługa
- Usługi
- zestaw
- pokazane
- podobny
- Prosty
- upraszczać
- So
- Tworzenie
- rozwoju oprogramowania
- Źródło
- określony
- rozpoczęty
- Cel
- sznur
- podsieci
- Utrzymany
- systemy
- Brać
- Techniczny
- Terraform
- że
- Połączenia
- ich
- Im
- Tam.
- Te
- one
- rzeczy
- to
- Przez
- czas
- Szereg czasowy
- do
- prawdziwy
- rodzaj
- typy
- aż do
- posługiwać się
- używany
- Użytkownik
- zastosowania
- za pomocą
- wartość
- Wartości
- zmienna
- zmienne
- zweryfikować
- wersja
- Wirtualny
- czeka
- solucja
- chcieć
- sieć
- usługi internetowe
- jeśli chodzi o komunikację i motywację
- który
- KIM
- będzie
- w
- bez
- działa
- warsztaty
- stacja robocza
- tak
- jeszcze
- ty
- Twój
- zefirnet