Search code examples
amazon-web-servicessalesforceamazon-redshiftamazon-appflow

AWS AppFlow Salesforce to Redshift Error Creating Connection


I'm wanting to create a one-way real-time copy of a Salesforce (SF) object in Redshift. The idea being that when fields are updated in SF, those fields will be updated in Redshift as well. The history of changes are irrelevant in AWS/Redshift, that's all being tracked in SF - I just need a real-time read-only copy of that particular object to query. Preferably without having to query the whole SF object, clearing the Redshift table, and piping the data in.

I thought AWS AppFlow listening for SF Change Data Capture events might be a good setup for this:

When I try to create a flow, I don't have any issues with the SF source connection:

enter image description here

so I click "Connect" in the Destination details section to setup Redshift and I fill out this page and click "Connect" again:

enter image description here

About 5 seconds goes by and I receive this error pop-up:

An error occurred while creating the connection

Error while communicating to connector: Failed to validate Connection while attempting "select distinct(table_schema) from information_schema.tables limit 1" with connector failure Can't connect to JDBC database with message: Amazon Error setting/closing connection: SocketTimeoutException. (Service: null; Status Code: 400; Error Code: Client; Request ID: null; Proxy: null)

I know my connection string, username, password, etc are all good - I'm connected to Redshift in other apps. Any idea what the issue could be? Is this even the right solution for what I'm trying to do?


Solution

  • I solved this by adding the AppFlow IP ranges for my region to my Redshift VPC's security group inbound rules.