The contract, which counts $752,500 against the salary cap, is a two-way contract in the first year and one-way in the second.
Calgary's fourth-round pick (109th overall) in 2017 scored five goals and had five assists in 28 games for the Flames last season.
Ruzicka, 23, also had 11 goals and nine assists in 16 games for the AHL's Stockton Heat.
He spent four seasons in the Ontario Hockey League with the Sarnia Sting and Sudbury Wolves before turning pro.
The Flames are on the ice Thursday to start training camp.