I just had failed attempts to use Duplicity with S3 EU regions (Ireland, Frankfurt).
This resulted to Forbidden exception from boto. But using boto manually from Python prompt still worked, so there is probably something Duplicity did not setup properly when setting up boto connections.
Just for your information. Duplicity 0.7.1, boto 2.36.0.
If you come across this issue I recommend dropping in these lines:
import boto
boto.set_stream_logger('boto')
To get_connection() in _boto_single.py - this way you get some meaningful output from boto. Otherwise Duplicity only gives backend failure exception without meaningful message payload.