Pena, who made $7.25 million with the Rays in 2012, can earn another $1.4 million in incentives from the Astros.
Pena returned to the Rays in 2012 looking to rekindle the magic of his glory days with the club, but after getting off to an auspicious beginning with a grand slam in his first game back, the 34-year-old first baseman struggled for most of the season.
Pena hit just .197 with 19 home runs and 61 RBIs. While he drew 87 walks, that was offset by 182 strikeouts.
Pena will likely split first base and designated hitter duties with Brett Wallace in Houston's first season in the American League.
Bill Chastain is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.