In all fairness, the answer is simple:
you wasted a ton of gold into armor.
Armor decreases damage by a % in a decreasing manner: while 100 armor reduces damage by 50%, 200 armor reduces only by 2/3.
Also this means that the enemy had chance to abuse your weakness with magic damage, that negated 4 of your items! plus some of that was hp% in magic, so here it is.
You needed to buy more mr, earlier and to get more hp and less armor. Iceborn is OK, frozen hearth should have been picked onlòy as a 4-5th item else they could abuse early of your weakness. Never buy more than 2 armor items, even if the enemy team is full AD since with a LW they can deny pretty much a big part of it ( in this case was not even necessary!)
I suggest you getting banshee ( after spirit) or mikael as mr choice (mikael has pretty good utility for teamfights, since you are most times always able to use it safely on allies), getting only 2 items for armor ( or 3 if you really need ninja tabi) and an hp item like warmog ( absurd health regeneration while in ulti! also it allows you to postpone his usage and the need to cast it all the time. hp is not always wasted on nasus).
I don' t like randuin, if you have frozen heart that is enough.
To give you an example: me and a friend were premade bot, he was sona. He build a bit of ap and went top against a nasus that farmed all the time with the opposing laner disconnected, and he builded somewhat like you. he got deleted in matter of seconds, and sona got wards and all the stuff for supporting.