На этот вопрос сложно ответить, потому что вопрос не должен быть «на каком типе экземпляра я должен строить свой сайт?» а скорее «как мне масштабировать мой сайт?».
Концепция EC2 заключается в том, что вы можете плавно масштабировать веб-сайт без необходимости перенастраивать свое приложение. Наличие большого кластера небольших экземпляров за балансировщиком нагрузки позволит вам иметь более высокую надежность и более равномерную нагрузку, хотя вы можете достичь той же цели с меньшим количеством больших серверов (которые, хотя и эффективны, могут не дать вам много преимуществ из-за размера вашего проекта).
Строго говоря, интерфейсные веб-серверы не должны быть мощными. Я проталкиваю пять миллионов хитов в месяц через одну коробку за $ 20 / месяц в Linode (хотя я потратил более 15 миллионов без проблем). Могу ли я инвестировать больше в мою архитектуру? Несомненно, я мог бы увеличить избыточность, добавив больше зеркальных блоков, я мог бы повысить производительность, добавив коробки в большем количестве центров обработки данных, и мог бы увеличить количество имеющихся у меня блоков, добавив больше памяти и ЦП.
Я хочу сказать, что если у вас есть большие ящики, и вы не используете их полностью, вы тратите свои ресурсы впустую. Если у вас есть небольшие ящики и вы их включаете и выключаете, чтобы приспособиться к вашим потребностям, вы лучше используете свои ресурсы.
Что касается указанной вами архитектуры, то, похоже, вы захотите подключить несколько (небольших) фронтальных веб-серверов к сети за балансировщиком нагрузки. Начните с малого и загружайте больше, так как ваш сайт требует этого. Что касается вашей базы данных, я бы предложил более крупный экземпляр среднего уровня. Убедитесь, что ваши данные помещены в EBS , а не в само хранилище экземпляра. Также может быть целесообразно добавить вторичный подчиненный сервер БД, на который вы реплицируете (для избыточности).
Ключ в том, чтобы внимательно следить за вашими ресурсами. Тратить много денег на серверы может показаться оправданным, но платить за экземпляры EC2, которые остаются неиспользованными, просто неразумно.
Надеюсь, это поможет!