Cozart, 32, made his first career All-Star game this year with the Reds.
Cozart, 32, was the starting shortstop for the National League in his first-ever All-Star game last season. he hit .297 with 24 home runs and 63 RBIs in 122 games in 2017, and for his career he has a .254 average with with 82 homers and 280 RBIs.
Cozart will likely play third base for the Angels, as Andrelton Simmons—the Angels everyday shortstop last season—is one of the best defensive players in all of baseball.
It's the second significant free-agent signing in the past seven days for Los Angeles, who won the sweepstakes to sign Japanese two-way star Shohei Ohtani last Friday.