Yes Jiangu, running IPSec over MPLS should solve ur problem and will ensure security.
The only major disadvantage of this would be if u run real time applications as they need some excellent security level and QoS which sometimes is not guaranteed by a service provider.
Cheers,
Ankur Dalal