Perché non riesco a connettermi alla mia istanza database Amazon RDS per Oracle?
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 Sì. 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 Sì, 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
- Argomenti
- Database
- Lingua
- Italiano
