You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Per prova è stato scritto e poi commentato anche un Nginx/Proxy
427
+
- Il frontend statico è servito da Nginx su `localhost:8080`.
428
+
- Le chiamate API `/api/annotazioni` sono automaticamente proxyate verso il backend Spring Boot su `localhost:8085`.
429
+
- Non è necessario modificare `app.js` o la logica frontend: tutte le chiamate API funzionano come in produzione.
430
+
- Se modifichi i file statici, riavvia solo il servizio Nginx:
431
+
```bash
432
+
docker-compose restart nginx
433
+
```
434
+
- Se la porta 8080 è occupata, puoi cambiare la porta esposta nel servizio Nginx nel `docker-compose.yml`.
435
+
- Per vedere i log di un servizio:
436
+
```bash
437
+
docker-compose logs -f <nome-servizio>
438
+
```
439
+
- Per fermare tutto e rimuovere i componenti:
440
+
```bash
441
+
docker-compose -f script/aws-onprem/docker-compose.yml down
442
+
```
443
+
- presente anche uno script `stop-all.sh`
444
+
445
+
446
+
## 🚀 Deploy su AWS EC2
447
+
Questa modalità consente di eseguire l'intero stack annotazioni su AWS EC2, con provisioning completamente automatizzato di tutte le risorse cloud necessarie (Aurora MySQL, DynamoDB, EC2, Security Group, IAM Role, KeyPair, ecc.) tramite script Bash e AWS CLI.
448
+
- Prerequisiti:
449
+
- AWS CLI installata e configurata (`aws configure`)
450
+
- Credenziali AWS con permessi minimi per EC2, RDS, DynamoDB, IAM, VPC, KeyPair
451
+
- Chiave SSH per accesso sicuro all'istanza EC2 (verrà generata se non presente)
452
+
- Lo script usa la VPC di default di un account e crea il security group necessario
453
+
- Provisioning e deploy automatico:
454
+
- **Avvia provisioning e deploy**:
455
+
```bash
456
+
./script/aws-ec2/start-all.sh
457
+
```
458
+
Lo script esegue in sequenza:
459
+
- Creazione VPC, Security Group, KeyPair, IAM Role
460
+
- Provisioning Aurora MySQL (RDS) e DynamoDB
461
+
- Upload e lancio script di inizializzazione SQL su Aurora (init-mysql.sql)
462
+
- Creazione e configurazione istanza EC2 (Amazon Linux 2)
463
+
- Deploy automatico del jar Spring Boot e avvio con profilo `aws`
464
+
- Configurazione variabili d'ambiente e sicurezza SSH
465
+
- **Accesso all'applicazione**:
466
+
- L'output finale dello script mostra l'IP pubblico EC2 e la porta applicativa (default 8080)
467
+
- Accedi da browser: `http://<EC2_PUBLIC_IP>:8080`
Per rimuovere tutte le risorse create (EC2, RDS, DynamoDB, Security Group, KeyPair, ecc):
474
+
```bash
475
+
./script/aws-ec2/stop-all.sh
476
+
```
477
+
- Note
478
+
- Lo script supporta anche il caricamento dello script SQL da S3 (opzionale, vedi variabile `INIT_SQL_S3_PATH`)
479
+
- Il provisioning è idempotente: puoi rilanciare lo script senza duplicare risorse
480
+
- Tutte le risorse sono taggate per facile identificazione e cleanup
481
+
- Potrebbe avere qualche problema in fase di avvio perchè il database non viene *agganciato* dal microservizio, non so il perchè, ho *ignorato* il problema visto che conviene usare ECS e EKS.
482
+
483
+
402
484
## 📝 TODO / Roadmap
403
485
- ✅ Creazione progetto e primo test con pagina web di esempio
404
486
- ✅ Introduzione modifica nota e documento con vecchie versioni delle note
405
487
- ✅ Configurazione di OpenApi-Swagger e Quality-SonarQube
406
-
- ✅ Build e deploy su DockerHub, configurazione di docker-compose
407
-
- ✅ Run on Minikube
408
-
- 🚧 Test con Mysql e DynamoDB
409
-
- 🚧 Deploy su AWS su EC2 / Lightsail
488
+
- ✅ Build e deploy su DockerHub, configurazione di docker-compose con MongoDb e Postgresql
489
+
- ✅ Esecuzione su Minikube con yaml dedicati
490
+
- ✅ Esecuzione con docker-compose della versione AWS su sistema locale con Mysql e DynamoDB
491
+
- ✅ Deploy su AWS su EC2 con script scritto in AWS-CLI per il provisioning delle risorse necessarie
492
+
- 🚧 Storico annotazioni su Dynamo
410
493
- 🚧 Deploy su AWS su Fargate/ECS
411
494
- 🚧 Deploy su AWS su EKS
412
495
- 🚧 Sistema di caching e ottimizzazione
413
496
- 🚧 Sistem di Deploy con Kubernetes Helm charts
414
-
- 🚧 Autenticazione e autorizzazione (Spring Security) e token Jwt
415
497
- 🚧 Gestione multiutente e versioning annotazioni
498
+
- 🚧 Autenticazione e autorizzazione (Spring Security) e token Jwt
Copy file name to clipboardExpand all lines: adapter-aws/src/test/java/it/alnao/annotazioni/aws/repository/AnnotazioneStoricoDynamoRepositoryImplTest.java
0 commit comments