Hello. Thanks for the help.
To cover the parts in “1. Network Accessibility” I could run telnet, traceroute etc. without issue. As I was able to use the psql client that was already implied though. DNS is also working well, even resolving the hostnames assigned within AWS just works first time.
But, as a general point, this is all from a VM in the normal subnet of the VPC, not the ‘private service’ IP range the AlloyDB instances are in.
Q. Where does the database migration service run from? Is it a part of the db daemon like it would be in normal Postgres? Or is it in its own VM or K8s container? If so where is that, and can I do these network tests from that?
For “2 DMS Specific Checks”:
Regarding DMS version I’ve only just created the DMS job so presumably it is a recommended version.
Confirm the service account used by DMS has the necessary permissions for accessing AlloyDB instances.
No extra service account has been configured. Is this applicable?
A DMS connection profile with correct credentials, namely username & password, was created to connect to the AWS RDS Postgres source DB of course.
Update: I remember a point here: the encryption mode of “None” has been used in this connection profile. I don’t have to chose the network encryption mode when using the psql client, so it didn’t seem necessary but it’s a toin coss whether SSL is on or off by default with each separate client these days.
It’s a pity we can’t just test connectivity from the DMS connection profile page. “Test” → “Select Destination AlloyDB or Cloud SQL instance for network context” → “Go”.
Utilize the DMS connectivity test feature to verify if DMS can connect to your source database. This will help discover if the issue is network-related or database-specific.
This was a new thing for me to try
. And it gave me a way to check with the IP range of the AlloyDB instance rather than the normal subnet
. Unfortunately nothing interesting has been discovered. The test result is “Reachable”. In the detail view it shows steps from “Non-google Network” (actually the private service range for the google AlloyDB instance), to “Dynamic route”, to VPN tunnel.
For the “3. Additional Considerations” section:
I have, and will continue to follow, the advice to stick with the dynamic routing.
Review any VPC peering limitations or known issues mentioned in GCP documentation.
I haven’t found any in the reading so far.
Double-check the database user credentials provided to DMS for accuracy and necessary privileges.
The credentials are the same as the successful test by command line on VMs.
Consider network latency or bandwidth limitations that might impair the connection.
There’s been none observed so far.