Salta al contenuto

Perché non riesco a connettermi alla mia istanza database Amazon RDS per Oracle?

5 minuti di lettura
0

Non riesco a connettermi alla mia istanza database Amazon Relational Database Service (Amazon RDS) per Oracle.

Breve descrizione

Di seguito sono riportati i motivi più comuni dei problemi di connessione a un'istanza database RDS per Oracle:

  • Il gruppo di sicurezza, la lista di controllo degli accessi alla rete (ACL) o i firewall locali non sono configurati correttamente. Le configurazioni errate potrebbero bloccare il traffico verso l'istanza.
  • L'istanza non si trova nello stato Disponibile.
  • Hai utilizzato credenziali utente errate.
  • L'endpoint utilizzato per connettersi all'istanza database RDS non è corretto.
  • La connessione dal client all'istanza database non è compatibile.
  • Non hai le autorizzazioni necessarie.

Risoluzione

utilizza TNSPING per verificare la connessione

Nota: per utilizzare l'utility TNSPING è necessario installare il client Oracle.

Utilizza l'utility TNSPING per verificare se il client Oracle può connettersi all'istanza database. Se hai aggiunto la voce del database al file tnsnames.ora, esegui questo comando per verificare se RDS per Oracle è raggiungibile:

tnsping <Service Name>

Se non hai aggiunto la voce del database al file tnsnames.ora, esegui un comando simile a questo:

tnsping "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx-yyyyy.us-east-1.rds.amazonaws.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))"  

TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 - Production on 23-JUL-2023 19:48:22  

Copyright (c) 1997, 2019, Oracle.  All rights reserved.  

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx-yyyyy.us-east-1.rds.amazonaws.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))  
OK (210 msec)

Se TNSPING conferma che il client Oracle non è in grado di connettersi all'istanza database, controlla le seguenti configurazioni.

Verifica le impostazioni del VPC

Se ti connetti all'istanza database dall'esterno di un cloud privato virtuale (VPC), assicurati che la proprietà Accessibile pubblicamente dell'istanza database sia impostata su . Se la proprietà è impostata su No, all'istanza database non viene assegnato un indirizzo IP pubblico. Solo le istanze e i client Amazon Elastic Compute Cloud (Amazon EC2) all'interno del VPC possono connettersi al database tramite l'indirizzo IP privato di Amazon RDS.

Per accedere da VPC diversi o da reti on-premises, devi impostare alcune configurazioni aggiuntive, come il peering VPC o AWS Direct Connect. Se la proprietà Accessibile pubblicamente è impostata su , i client esterni al VPC possono connettersi all'istanza database tramite Internet utilizzando un gateway Internet.

Verifica le impostazioni del gruppo di sicurezza

Assicurati che il gruppo di sicurezza dell'istanza database consenta il traffico in entrata appropriato verso il database. Per ulteriori informazioni, consulta Controllo dell'accesso con i gruppi di sicurezza.

Verifica le impostazioni delle ACL

Le liste di controllo degli accessi alla rete (ACL) fungono da firewall per le risorse in una sottorete specifica di un VPC. Se il VPC dispone di ACL, assicurati che dispongano delle regole appropriate per consentire il traffico in entrata e in uscita da e verso l'istanza. Per impostazione predefinita, le ACL consentono tutto il traffico in entrata e in uscita. Se l'ACL è più restrittiva, devi consentire esplicitamente il traffico verso l'intervallo di porte effimere.

Verifica il firewall di rete o locale

La connessione del client potrebbe provenire da una rete on-premises. Assicurati che la rete consenta il traffico da e verso le porte utilizzate dall'istanza database per le comunicazioni in entrata e in uscita. Potrebbe essere necessario contattare l'amministratore di rete per ottenere tali informazioni.

Verifica le impostazioni della tabella di routing

Assicurati che la tabella di routing sia configurata correttamente con la sottorete database associata.

Ulteriori procedure di risoluzione dei problemi

Per risolvere altri problemi di connessione, intraprendi le seguenti azioni:

  • Esegui questo comando per verificare la connessione di rete. Sostituisci i valori example-rds-endpoint e example-port-number con l'endpoint di RDS e il numero di porta dell'istanza database.
    Nota: Amazon RDS non supporta il traffico ICMP (Internet Control Message Protocol), incluso il comando ping.

    telnet example-rds-endpoint example-port-number  
    OR   
    curl -v http://<example-rds-endpoint>:<PORT>
  • Esegui il comando nslookup per verificare che il server DNS sul lato client risolva il nome dell'endpoint DNS dell'istanza database nell'indirizzo IP corretto:

    nslookup  example-instance.example-accountcode.example-region.rds.amazonaws.com
  • Assicurati che lo stato dell'istanza database sia Disponibile. Le attività del database, come l'aggiornamento della versione, l'aggiornamento della classe di istanza o il failover Multi-AZ, potrebbero causare brevi interruzioni. Tali interruzioni potrebbero modificare lo stato dell'istanza database e causare problemi di connessione.

  • La connessione potrebbe raggiungere l'istanza database ma continuare ad avere esito negativo. Assicurati che le credenziali utente utilizzate per connetterti all'istanza database siano corrette. Se necessario, puoi reimpostare la password dell'utente principale.

  • Verifica di avere le autorizzazioni necessarie per connetterti all'istanza database.

Utilizza Amazon EC2 per connetterti all'istanza database

Per configurare una connessione tra Amazon EC2 e l'istanza database, utilizza la funzionalità di connessione automatica della console Amazon RDS.

Nota: per utilizzare la funzionalità di connessione automatica, l'istanza EC2 e l'istanza database devono trovarsi nello stesso VPC.

Puoi inoltre utilizzare l'endpoint di connessione alle istanze EC2 senza bastion host per accedere a determinate risorse, come Amazon RDS, dalla Console di gestione AWS. Prima di tutto, verifica che l'utente abbia le autorizzazioni AWS Identity and Access Management (AWS IAM) necessarie per connettersi all'endpoint di connessione alle istanze EC2. Inoltre, verifica che il gruppo di sicurezza per l'istanza database consenta il traffico dall'endpoint VPC.

Esegui il comando aws ec2-instance-connect open-tunnel per aprire un tunnel WebSocket:

aws ec2-instance-connect open-tunnel --instance-connect-endpoint-id "VPC Endpoint ID"--private-ip-address "Private IP"--local-port "random port number to use locally" --remote-port "rds port number"

Informazioni correlate

Risoluzione dei problemi relativi alle connessioni all'istanza database Oracle

Impossibile connettersi all'istanza database di Amazon RDS

TNSPING sul sito web Oracle

AWS UFFICIALEAggiornata 3 anni fa