Shinji,
So are you looking to have a specific service, always on the same, known IP address? So MySQL is always on 192.168.0.3, and never any other address?
Handling this in Brooklyn at the moment is possible, but it's not easy to set up, although there are a few developments going on that may help.
Essentially, you need to define multiple locations - one for each type of service. For example:
brooklyn.location.named.database=byon:(hosts="10.9.1.1")
brooklyn.location.named.loadbalancer=byon:(hosts="10.9.1.2")
brooklyn.location.named.web=byon:(hosts="10.9.1.{20-29}")
From here, there's two ways to go.
The first is to modify the application code to change the location of each entity in the application. I have to say I haven't tried this exact method before so I don't have any example code to hand.
The second way - and this is probably the way to go - is to use the new CAMP[1] support that is being added to Brooklyn. The CAMP spec defines blueprints as YAML, and this format allows you to specify a location for each entity. This is currently working its way into Brooklyn - see the pull request[2] and recent discussions on the brooklyn-dev mailing list[3].
So I'd suggest keeping an eye on the CAMP/YAML work and, when it's merged and there's some documentation, giving it a try. If you'd like to try it sooner, then please check out Alex's pull request[2], give it a try, and give your feedback to the brooklyn-dev mailing list[3].