Come posso utilizzare un'istanza Amazon EC2 come host bastione per connettermi a un'istanza database Amazon RDS privata da un computer locale?
Desidero utilizzare un'istanza Amazon Elastic Compute Cloud (Amazon EC2) come host bastione (jump) per connettermi a un'istanza database privata Amazon Relational Database Service (Amazon RDS) da un computer locale.
Risoluzione
Nota: se si verificano errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Per connettersi a un'istanza Amazon RDS o Amazon Aurora database privata, è consigliabile utilizzare una VPN o AWS Direct Connect. Se non puoi utilizzare nessuna delle due opzioni, utilizza un host bastione.
Il seguente esempio di configurazione è per un'istanza Amazon RDS per MySQL che si trova in un Amazon Virtual Private Cloud (Amazon VPC). L'esempio utilizza i gruppi di sicurezza per limitare l'accesso. Tuttavia, è possibile limitare la lista di controllo degli accessi alla rete (ACL di rete) delle sottoreti per rendere la connessione più sicura.
Avvia e configura l'istanza EC2
Completa i seguenti passaggi:
- Apri la console Amazon EC2, quindi scegli Avvia istanza.
- Seleziona un'AMI (Amazon Machine Image).
- Scegli un tipo di istanza, quindi scegli Avanti: Configura i dettagli dell'istanza.
- Per Rete, scegli il VPC utilizzato dall'istanza database Amazon RDS.
- Per Sottorete, seleziona la sottorete privata nel VPC
- Scegli Avanti: Aggiungi Spazio di archiviazione, quindi modifica lo spazio di archiviazione in base alle esigenze.
- Scegli Avanti: Aggiungi Tag, quindi aggiungi tag se necessario.
- Scegli Avanti: Configura Gruppo di sicurezza.
- Scegli Aggiungi regola, quindi inserisci quanto segue:
Per Tipo, inserisci Regola TCP personalizzata
Per Protocollo, inserisci TCP
In Intervallo porte, inserisci 22
Per Origine, inserisci il gruppo di sicurezza utilizzato dal tuo endpoint di connessione Amazon EC2. - Scegli Rivedi e avvia, quindi seleziona Avvia.
Configurazione dei gruppi di sicurezza dell'istanza database Amazon RDS
Nota: per connettere automaticamente una o più istanze EC2 a un database Amazon RDS, consulta Collega automaticamente un'istanza a un database RDS utilizzando la console EC2.
Completa i seguenti passaggi:
- Apri la console Amazon RDS.
- Nel pannello di navigazione, scegli Database.
- Scegli il nome dell'istanza database Amazon RDS. Se non ne hai già una, crea un'istanza database RDS.
- Scegli Connettività e sicurezza.
- Nella sezione Sicurezza, scegli il link sotto Gruppi di sicurezza VPC.
- Seleziona il gruppo di sicurezza, scegli Operazioni, quindi scegli Modifica le regole in entrata.
- Scegli Aggiungi regola, quindi inserisci quanto segue:
Per Tipo, inserisci Regola TCP personalizzata
Per Protocollo, inserisci TCP
Per Intervallo di porte, inserisci la porta della tua istanza database Amazon RDS.
Per Origine, inserisci l'indirizzo IP privato della tua istanza EC2. - Scegli Salva.
Questa configurazione per il gruppo di sicurezza consente il traffico dall'indirizzo IP privato dell'istanza EC2. Se l'istanza EC2 e l'istanza database Amazon RDS utilizzano lo stesso VPC, non è necessario modificare la tabella di routing dell'istanza database Amazon RDS. Se il VPC è diverso, crea una connessione peering VPC per consentire le connessioni tra tali VPC.
Nota: se utilizzi una soluzione più scalabile, rivedi la tua configurazione. Ad esempio, se utilizzi l'ID del gruppo di sicurezza in una regola del gruppo di sicurezza, assicurati che non limiti l'accesso a un'istanza. Configura invece la regola per limitare l'accesso a qualsiasi risorsa che utilizza l'ID del gruppo di sicurezza specifico.
Crea un endpoint di connessione a un'istanza EC2
- Apri la console di Amazon VPC.
- Nel pannello di navigazione, seleziona Endpoint.
- Scegli Crea endpoint, quindi specificane le impostazioni.
(Facoltativo) Per Tag nome, inserisci un nome per l'endpoint.
Per Categoria servizio, scegli ** EC2 Instance Connect Endpoint**.
Per VPC, seleziona il VPC con le istanze di destinazione.
(Facoltativo) Per conservare gli indirizzi IP dei client, espandi Impostazioni aggiuntive e seleziona la casella di controllo. Altrimenti, l'impostazione predefinita prevede l'utilizzo dell'interfaccia di rete dell'endpoint come indirizzo IP del client.
Per Gruppi di sicurezza, seleziona il gruppo di sicurezza che desideri associare all'endpoint. Altrimenti, l'impostazione predefinita prevede l'utilizzo del gruppo di sicurezza predefinito per il VPC.
Per Sottorete, seleziona la sottorete in cui creare l'endpoint.
(Facoltativo) Per aggiungere un tag, scegli Aggiungi nuovo tag e inserisci la chiave e il valore del tag. - Rivedi le impostazioni e scegli Crea endpoint.
- Lo stato iniziale dell'endpoint è In sospeso. Per connetterti a un'istanza, devi attendere che lo stato dell'endpoint sia Disponibile. Questa operazione può richiedere alcuni minuti.
Connettiti all'istanza database RDS dal tuo computer locale
Nota: devi avere accesso ad AWS CLI.
Per connetterti dal tuo client MySQL locale a un'istanza RDS privata tramite un tunnel SSH, completa i seguenti passaggi:
Linux o macOS
-
Esegui il seguente comando per aprire un tunnel dal computer locale all'istanza EC2:
aws ec2-instance-connect open-tunnel --instance-id ec2-instance-ID --local-port 8888
Nota: sostituisci ec2-instance-ID con l'ID della tua istanza EC2.
-
Apri una seconda connessione ed esegui il seguente comando per creare un tunnel SSH dal tuo host locale al tuo database RDS tramite un'istanza EC2:
ssh -i YOUR_EC2_KEY EC2_USER@EC2_HOST -p EC2_TUNNEL_PORT -L LOCAL_PORT:RDS_ENDPOINT:REMOTE_PORT -N -f
Nota: sostituisci i seguenti valori:
YOUR_EC2_KEY con il percorso del tuo file di chiave privata EC2
EC2_USER con il nome utente della tua istanza EC2
EC2_HOST con il nome host della tua istanza EC2
EC2_TUNNEL_PORT con la porta configurata
LOCAL_PORT con una porta inutilizzata sul computer locale
RDS_ENDPOINT con l'endpoint della tua istanza RDS
REMOTE_PORT con la porta utilizzata dal database Amazon RDS nell'istanza RDS. -
Utilizza una terza connessione ed esegui il seguente comando per connetterti alla tua istanza Amazon RDS dal tuo computer locale:
mysql -h 127.0.0.1 -P LOCAL_PORT -u RDS_USER -p
Nota: sostituisci i seguenti valori:
LOCAL_PORT con il numero della porta locale
DB_USER con il nome utente del tuo database RDS
DB password con la password del database Amazon RDS
Informazioni correlate
Come posso risolvere i problemi di connessione a un'istanza database Amazon RDS?
Video correlati


Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata un anno fa