OpenSearch su Aruba Cloud
Distribuisci OpenSearch 2.x — la suite open-source guidata dalla community per la ricerca e l'analisi — su Aruba Cloud tramite Terraform e cloud-init. Distribuito tramite l'immagine Docker ufficiale con API REST protetta da TLS e password superutente admin configurata al momento del bootstrap.
Versione provider: arubacloud/arubacloud
~> 1.0| Terraform: ≥ 1.9
Introduzione
OpenSearch è il fork con licenza Apache 2.0 di Elasticsearch mantenuto da AWS e dalla community open-source. Fornisce ricerca full-text, analisi dei log e esplorazione dati in tempo reale su larga scala — senza problemi di licenza SSPL. Questo esempio distribuisce un'istanza OpenSearch single-node con:
- OpenSearch 2.x tramite l'immagine Docker ufficiale
- TLS abilitato sull'API REST (porta HTTPS 9200) — tutte le richieste API richiedono credenziali
- Password superutente
adminimpostata al momento del bootstrap - Tuning del kernel
vm.max_map_count=262144applicato persistentemente - API REST sulla porta HTTPS 9200, limitata a
admin_cidr
Nota su Elasticsearch: Se la licenza SSPL di Elastic non è un problema per il tuo caso d'uso, vedi l'esempio Elasticsearch in questo repository.
Panoramica dell'architettura
Infrastruttura creata
| Risorsa | Pattern nome | Descrizione |
|---|---|---|
arubacloud_project | os-prod | Contenitore progetto |
arubacloud_vpc | os-prod-vpc | Virtual Private Cloud |
arubacloud_subnet | os-prod-subnet | Subnet di base |
arubacloud_securitygroup | os-prod-vm-sg | Security group |
arubacloud_securityrule | os-prod-vm-ssh | Ingresso SSH |
arubacloud_securityrule | os-prod-vm-api | Ingresso API REST TCP 9200 |
arubacloud_elasticip | os-prod-vm-eip | IP pubblico VM |
arubacloud_blockstorage | os-prod-boot | Disco di avvio 100 GB (Performance) |
arubacloud_keypair | os-prod-keypair | Chiave pubblica SSH |
arubacloud_cloudserver | os-prod-vm | CloudServer VM |
Costo mensile stimato
| Risorsa | Specifiche | Costo/mese stimato |
|---|---|---|
| CloudServer VM | CSO8A16 — 8 vCPU / 16 GB | ~€55 |
| Disco di avvio | 100 GB Performance | ~€15 |
| Elastic IP | — | ~€3 |
| Totale | ~€73/mese |
Requisiti
- Terraform ≥ 1.9
- ArubaCloud Terraform Provider
~> 1.0 - Un account ArubaCloud con credenziali API OAuth2
- Una coppia di chiavi SSH
Variabili
Obbligatorie
| Variabile | Descrizione |
|---|---|
arubacloud_client_id | Client ID OAuth2 ArubaCloud |
arubacloud_client_secret | Client secret OAuth2 ArubaCloud |
ssh_public_key | Contenuto della chiave pubblica SSH |
admin_password | Password per l'utente admin (8+ caratteri, maiuscole + minuscole + cifra + speciale) |
Opzionali
| Variabile | Default | Descrizione |
|---|---|---|
app_name | "os" | Nome breve usato in tutti i nomi delle risorse |
environment | "prod" | Etichetta ambiente |
location | "ITBG-Bergamo" | Regione ArubaCloud |
zone | "ITBG-1" | Zona di disponibilità |
billing_period | "Hour" | "Hour" o "Month" |
vm_flavor | "CSO8A16" | Flavor CloudServer |
vm_image | "LU22-001" | Immagine disco di avvio (Ubuntu 22.04 LTS) |
vm_disk_size_gb | 100 | Dimensione disco di avvio in GB (min 50 GB) |
ssh_cidr | "0.0.0.0/0" | CIDR per SSH |
admin_cidr | "0.0.0.0/0" | CIDR per la porta API REST 9200 — limita sempre |
cluster_name | "opensearch" | Nome cluster OpenSearch |
opensearch_version | "2" | Tag immagine Docker OpenSearch |