My dictionary considers them synonyms. Both mean to block or prevent something e.g a fallen tree obstructing traffic, an allergy impeding my breathing.
I would more likely use 'obstruct' more often in everyday language, as it feels more common to me, but I often hear both.
People (even native speakers) often say 'impede' when they mean 'impair', which has more of a sense of 'weakening' something, e.g 'I drank too much alcohol and this impaired my ability to think'