-1

I've recently created a Mule application (3.7.0 CE) on a laptop. I'm connected to an AWS RDS instance when running locally in AnyPoint Studio using Maven. I started with a local MySQL DB and migrated it to AWS because my application "proofofconcept" is just that a proof of concept and I would like to show the application online (public url) instead of my laptop for a presentation. I added the database.url=... property to the application properties when I deployed to Anypoint Runtime Manager in the cloud. I'm currently getting a:

communications link failure

I've tried several things and nothing has worked. I tried a basic database connection first in the database config. And, then I created a JDBC datasource in Spring-beans. Both methods worked locally and in-communication with AWS (remote). When I deploy to Runtime Manager, the application deploys. And, I get the console that's generated runtime by the RAML. When I call a url e.g. api/v1/orders it runs and runs and after timeout provides the communication error.

Does anyone 1) know if the communication is allowed? 2) know how to fix this? I would like to demo the POC online for my client.

Thanks in advance

David Whitehurst
  • 352
  • 4
  • 21
  • P.S. I know the added properties in Runtime Manager are being used because I added host=myhost:3306 and got a URL error: myhost:3306:3306 is not correct. With basic config I added user, password, host, and database. – David Whitehurst Jun 18 '16 at 22:41
  • Did you checked, cloud have port open to communicate to AWS RDS? – star Jun 20 '16 at 00:27
  • I understand your question, but I don't know where to check or who to ask? I guess I can contact Amazon directly somehow. I'll try that. – David Whitehurst Jun 20 '16 at 02:04
  • Yes,usually inside cloud if you need to connect B2B or other third parties, port should be open for the particular services. Usually this can be done by raising ticket with Mulesoft or need to check with particular infrastructure/network admin. – star Jun 20 '16 at 03:57

1 Answers1

1

My issue was with Amazon VPC and the default security group assigned to my RDS instance. By default all outbound activity is set to any protocol and any port for any ip (0.0.0.0/0). Inbound routing, however was specifying only port 3306 but also a custom using-ip that was my home network public ip. I changed the ip specification to be 0.0.0.0/0. This now mean's that any ip can send a request though port 3306 to my Amazon MySQL instance.

David Whitehurst
  • 352
  • 4
  • 21