cloudfoundry-community / cf-boshworkspace

Deploy Cloud Foundry using bosh-workspace
7 stars 17 forks source link

How to use RDS instead of PostgreSQL? #84

Closed djvdorp closed 8 years ago

djvdorp commented 8 years ago

In one of my Cloud Foundry installations done via terraform-aws-cf-install I have used the cf-aws-large.yml deployment from this repository.

However, I would like to switch this installation to use RDS instead (basically undoing the changes here and use RDS instead).

To make this even more interesting, I would have to do that without losing the data stored in the postgres_z1/0 node (so {ccdb,postgres,template0,template1,uaadb} and what else is located there). Can anybody help me out by showing an example/tips/pointing me in the right direction? That would be much appreciated and might be interesting knowledge for other users of this repository as well!

I know that it should (obviously) be possible by, for example, changing cf-use-postgresql.yml to use an RDS database.address but that is not really the way this should be done, as far as I'm concerned. It seems like a much better solution to let BOSH know about having (one or multiple) RDS instances and so being able to profit from other BOSH features since it is actually managing those resources (RDS instances).

rkoster commented 8 years ago

As far as I'm aware BOSH is not able to manage RDS instances. So you would have provision the RDS instance some other way and inject the database.address. To migrate the data you would have to stop the cloud_controller_* and uaa jobs after which you can dump the database in import it to RDS. When finished you can shut down the postgresql process and do a bosh deploy with the changed db connection details.