- Newest
- Most votes
- Most comments
If your trying to access the Oracle Instance in Account A over the public internet, then your Glue Subnet needs to be on a private subnet with a route to a NAT gateway for 0.0.0.0/0.
Also if your doing VPC Peering and you want to use the Peering link and not the public IP, then ensure you have enabled Private DNS Resoution on the peering connection
Based on the information provided, there are a few potential reasons for the "InvalidInputException: Unable to resolve any valid connection" error when testing the AWS Glue connection. Here are some points to consider and potential solutions:
- Cross-Account Access: Since the RDS Oracle DB is in Account A and the AWS Glue connection is being created in Account B, you need to ensure proper cross-account access is set up. This may involve:
- Configuring the security group of the RDS instance to allow inbound traffic from Account B's VPC or specific IP ranges.
- Setting up appropriate IAM roles and policies in both accounts to allow cross-account access.
- Network Configuration: Even though the RDS Oracle DB has public access enabled, AWS Glue might not be able to connect directly over the public internet. Consider:
- Setting up a VPC peering connection between Account A and Account B.
- Using AWS PrivateLink to establish a private connection between the two accounts.
- Connection Properties: Ensure that all required connection properties are correctly specified in the AWS Glue connection. For an Oracle JDBC connection, you typically need:
- CONNECTION_URL (JDBC URL)
- USERNAME
- PASSWORD
- JDBC_DRIVER_CLASS_NAME (usually oracle.jdbc.driver.OracleDriver)
-
Security Groups and Firewall Rules: Verify that the security groups associated with the RDS instance allow inbound traffic on port 1521 from the appropriate sources (e.g., AWS Glue's IP ranges or VPC).
-
SSL/TLS Configuration: If the RDS instance requires SSL/TLS connections, ensure that the appropriate SSL parameters are included in the JDBC URL or connection properties.
-
Custom JDBC Driver: If you're using a specific version of the Oracle JDBC driver, you may need to upload it to an S3 bucket and specify it in the Glue connection properties.
-
Secrets Manager: If you're storing connection credentials in AWS Secrets Manager, ensure that the Glue service role has permission to access the secret.
To troubleshoot further:
- Double-check all connection parameters, especially the JDBC URL, username, and password.
- Review the network configuration and security settings in both accounts.
- Check AWS Glue logs for more detailed error messages.
- Consider using a custom JDBC driver if the issue persists with the default driver.
If the problem continues after verifying these points, you may need to engage AWS support for further assistance, as there could be account-specific or service-related issues that are not immediately apparent.
Sources
Troubleshooting connection issues in AWS Glue - AWS Glue
JDBC connections - AWS Glue
ConnectionInput - AWS Glue
Connection API - AWS Glue
Relevant content
- Accepted Answerasked 2 months ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 10 months ago
- AWS OFFICIALUpdated 9 months ago
@Gary Mclean Below are additional steps taken. But it is giving error Failed to test connection <connectionName> due to FAILED status. ERROR StatusLogger Unrecognized format specifier [d] ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern. .......
Any idea?