The English club will pay an initial €18.4m with a further €2.2m in bonuses for 25-year-old Traore.
Additionally, Lyon have included a 15% sell-on clause in the deal.
⚡ 𝗕 𝗘 𝗥 𝗧 𝗥 𝗔 𝗡 𝗗 𝗧 𝗥 𝗔 𝗢 𝗥 𝗘 ⚡
— Aston Villa (@AVFCOfficial) September 19, 2020
Traore angled for a move from Lyon following a poor 2019/20 season and a difficult relationship with coach Rudi Garcia.
A number of clubs showed interest in the Burkina Faso international, but his future is back in England.
Traore was on the books of Chelsea from 2013 until 2017 before moving to Lyon for an initial €10m.
In 126 appearances for OL, Traore scored 33 goals and delivered 17 assists.