The deal avoided a salary arbitration hearing scheduled for later Friday in St. Petersburg, Florida. Reed can earn $50,000 in performance bonuses: $25,000 each for 55 and 60 games finished.
The right-hander had 32 saves in 38 chances last year with a 4.25 ERA with 69 strikeouts in 59 1-3 innings. He earned $538,500.
Eligible for arbitration for the first time, Reed had asked for $5.65 million and had been offered $4.7 million when the sides exchanged proposed salaries last month.
Outfielder Mark Trumbo is Arizona's only player who filed for arbitration and remains without an agreement.