Start at least 3 months before, so you can take breaks when necessary.
You can do different things for initial prep -- I used an online tutor, and found it effective (and much more affordable.) However, afterwards, you should definitely work through at least the 15 most recent exams to really solidify your skills. The more you do, the better. Start out untimed, then gradually increase your speed and endurance.