Obiettivi aziendali specifici - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Obiettivi aziendali specifici

In questa sezione vengono illustrati i seguenti risultati aziendali: 

  • Aumento della scalabilità delle applicazioni

  • Incremento delle prestazioni delle applicazioni

  • Aumento della disponibilità delle applicazioni

  • Aumento della sicurezza delle applicazioni

  • Riduzione della complessità operativa

Aumento della scalabilità delle applicazioni

La scalabilità di un'applicazione dipende dalla capacità del database di gestire connessioni simultanee. Il numero di connessioni simultanee dipende dal tipo di istanza del database. Ad esempio, un tipo di istanza t3.small può supportare 187 connessioni simultanee al database. Ulteriori tentativi di connessione del client al database provocheranno un errore. L'utilizzo di un endpoint del Server proxy per Amazon RDS per interagire con il database consente all'applicazione di continuare a funzionare anche quando le connessioni client richieste superano il numero massimo di connessioni supportate dal tipo di istanza, come mostrato nel diagramma seguente.

Il grafico mostra 13 connessioni senza Server proxy per RDS non riuscite e tutte le connessioni con il proxy per RDS riuscite.

Poiché il server proxy per RDS fa ricorso a pool di connessioni, un'applicazione di test che utilizza un endpoint del proxy per RDS è stata in grado di raggiungere le 20.000 connessioni client anche se l'istanza del database era limitata a 187 connessioni simultanee.

Il Server proxy per Amazon RDS è un componente prezioso in un'architettura che deve essere dimensionabile.

Incremento delle prestazioni delle applicazioni

Le connessioni inattive sono connessioni al database che non elaborano alcuna transazione ma utilizzano memoria e CPU sul server del database. Una sessione client inattiva con una transazione aperta impedisce inoltre al processo di autovacuum di ripulire le tuple inattive. Le tuple inattive causano un aumento delle dimensioni delle tabelle del database, con conseguente rallentamento delle query SQL. Per impostazione predefinita, un database Amazon RDS per PostgreSQL mantiene le connessioni inattive aperte per 24 ore (impostazione del parametro idle_in_transaction_session_timeout).

RDS Proxy gestisce attivamente le connessioni inattive chiudendole se rimangono inattive per più di 30 minuti per impostazione predefinita (impostata dal IdleClientTimeoutparametro). La cancellazione anticipata delle sessioni inattive insieme alle risorse da esse utilizzate riduce l'impatto sulla CPU, sulla memoria e sul processo di autovacuum.

Il server proxy per Amazon RDS gestisce le connessioni inattive in modo efficiente, con un conseguente miglioramento delle prestazioni delle applicazioni.

Aumento della disponibilità delle applicazioni

La disponibilità di un'applicazione dipende dal tempo di risposta al failover del database. Durante il failover del database, nell'applicazione si verificheranno errori nelle transazioni in corso. Ciò riduce la disponibilità dell'applicazione per gli utenti finali.

Il Proxy per RDS supporta il failover del database. Quando si verifica il failover del database, il Proxy per RDS mette in coda le richieste in arrivo dal lato dell'applicazione fino a quando non è in grado di creare nuove connessioni con il database. Questo aiuta a prevenire errori nelle transazioni in corso, aumentando così la disponibilità dell'applicazione.

Il post sul blog Migliorare la disponibilità delle applicazioni con il Server proxy per Amazon RDS evidenzia i vantaggi dell'utilizzo del Proxy per RDS con un database Amazon Aurora. Quando è stato utilizzato il Proxy per RDS, il tempo medio di failover è stato di 3,1 secondi, rispetto ai 24 secondi ottenuti utilizzando una connessione diretta al database. Ciò rappresenta un aumento dell'87%.

Il Server proxy per Amazon RDS aiuta ad aumentare la disponibilità delle applicazioni.

Aumento della sicurezza delle applicazioni

Poiché RDS Proxy utilizza TLS/SSL e AWS Identity and Access Management (IAM), può fungere da ulteriore livello di sicurezza tra le applicazioni client e il database Postgres sottostante. Con il Proxy per RDS, puoi adottare requisiti di sicurezza più rigorosi (TLS 1.2 e ruoli IAM) per le connessioni delle applicazioni al proxy.

RDS Proxy può recuperare le credenziali del database ed è possibile configurare l'autenticazione IAM per gli AWS Secrets Manager utenti del proxy RDS. In questo modo, puoi applicare l'autenticazione IAM per l'accesso al database anche se i database utilizzano meccanismi di autenticazione nativa, come nome utente e password. Ciò riduce la necessità per le applicazioni di gestire le credenziali del database e migliora il livello di sicurezza delle applicazioni.

Riduzione della complessità operativa

Un pool di connessioni deve essere integrato con server proxy aggiuntivi per offrire elevati livelli di disponibilità e di bilanciamento del carico. Questa configurazione aumenta la complessità operativa. È difficile implementare i server proxy tradizionali, applicarvi patch e gestirli. Il loro utilizzo richiede tempo ed energia che potrebbero essere spesi meglio per lo sviluppo dei prodotti.

Il Server proxy per Amazon RDS offre i vantaggi di un proxy di database senza richiedere all'utente l'onere aggiuntivo di applicare patch e gestire il proprio server proxy. Il proxy per RDS è serverless e si dimensiona automaticamente per adattarsi al carico di lavoro. Con la sua opzione di configurazione self-service, il Proxy per RDS può aumentare la velocità degli sviluppatori, con un conseguente aumento della velocità di distribuzione di nuove applicazioni.