The versatile attacking player made 129 appearances for Norwich, winning two Championship titles and playing in the Premier League.
Cantwell also helped Bournemouth win promotion to the Premier League during a loan spell last season and had a temporary stint at Fortuna Sittard in the Netherlands earlier in his career.
Cantwell told Rangers TV: "I am delighted and I feel very proud. This is obviously a massive football club and I am delighted to get going and to get started.
"This is a massive club and there is a massive responsibility when you sign for Rangers to be the player that the fans want to see.
"They want to see a player that works hard and a player that can win them games which is very important and that is something I am hoping I can bring."
Beale added: "I am extremely happy to welcome Todd to Rangers. He is a player that is fully aligned to our playing style and we believe he will be a key player for the club in the coming seasons.
"I am looking forward to working with him on the pitch this week and integrating him into our fantastic football club."