Rogers, 38, who announced his retirement from Test cricket prior to this summer's Ashes series, will be joining his fifth English county.
The Sydney-born left-hander previously played for Derbyshire, Leicestershire and Northants prior to spending four years attached to Middlesex from 2011.
Teenage Kent wicketkeeper Ryan Davies has also signed on a three-year deal.
The England Under-19 international, from Thanet, who joined Kent's Cricket Academy as a 13-year-old, spent this summer on his first professional contract at Canterbury.
Davies, 18, made his first-class debut against Derbyshire in June, going on to play five times, as well as three T20 Blast matches.
"These are great signings," said director of cricket Matt Maynard.
"Chris Rogers is an outstanding batsman with an excellent attitude towards the game. Our young players will learn a lot from him.
"Ryan Davies is a great young talent. I am excited about how we can help him develop in to the cricketer that we all think he can become."
Somerset, who already have an established opening pair in 39-year-old veteran Marcus Trescothick and 21-year-old Tom Abell, have revealed that Rogers will bat at number three.
"As soon as I heard that Somerset were interested I wanted to make it happen," said Rogers. "There have been quite a few Australian players who have done really well down at Taunton."
Somerset have signed experienced former Australia Test opener Chris Rogers for the 2016 County Championship season.