Edler recorded 10 goals and 34 points in 56 games for the Canucks last season, marking his most efficient campaign in terms of points per game since 2010-2011. His 368 career points rank first among defensemen in franchise history.
The 33-year-old also logged a team-high 24:34 of ice time per game and finished 10th among NHL defensemen in that category.
Following the signing, the Canucks have $58.5 million committed to 21 players and a projected $23.5 million to work with.
Edler has played all 13 years of his career in Vancouver after being selected by the Canucks in the third round of the 2004 NHL Draft.