Ryan Vogelsong and the San Francisco Giants have agreed to a two-year contract worth approximately $8.3 million after he became one of the team's most reliable starters and an unlikely All-Star last season.