Alexa controling Sonoff, a different approach
The easy approach is just to use Sonoff native software and and eWeLink Smart Home skill on echo and you are away, instructions in link here. However this means having another dependency on external web service (eWelink) another account, and an extra app on your phone etc.
Another approach which by pass the eWelink is to replace the firmware in Sonoff with Espeasy, have a Nodered server in a Raspi (which can be used for other controls) and using the Alexa node in node red. Echo will discover the Alexa node and we can control the Sonoff via direct http call. While this is technically more complex, once setup it gives more user control and flexibility with no dependency on Sonoff native software. You are in control of the Nodered server, while this is a local control, for voice control there is no benefit having another layer over the web.
Software: Espeasy firmware in Sonoff; Node Red in Raspi
Hardware: Amazon Echo, Raspi, Sonoff