I tend to favour no "for", since last takes a timespan as a direct object, much like take does:
The trip will last 45 minutes.
A rose lasts only a little while.
A journey to Mars on the new shuttle would still take years.
However, you do hear last for X amount of time now and again, and it shows up in books, sometimes with more frequency and sometimes with less.
This usage with for is probably because last is also an intransitive verb. Any verb can have its duration specified in that way:
He played golf for five days straight.
She will go camping for three months.
Here, the amount of time is not objective, but adverbial.
(This would also explain why you can't say "It takes for an X amount of time": unlike last, take has no intransitive variant.)