Каковы преимущества конечных точек VPC в AWS?
Я давно узнал, что если вы хотите, чтобы экземпляр EC2 мог общаться с сервисами AWS, такими как SQS, Kinesis и т. П., Этот экземпляр должен иметь публичный IP-адрес или что-то в VPC, выполняющем NAT,
Когда я впервые услышал о конечных точках VPC в начале этого года, это показалось, что это изменит правила игры - способ получить доступ к этим сервисам из экземпляров, которые имеют только частные IP-адреса. Но тот факт, что единственным поддерживаемым сервисом является S3, кажется действительно ограничивающим. Каждый экземпляр EC2, которым я в данный момент управляю, имеет какую-то другую зависимость от ресурса AWS, не относящегося к S3, который требует, чтобы трафик выходил через публичный IP.
Мне любопытно, есть ли какая-либо другая польза от использования конечной точки VPC для S3 в любом случае, при том понимании, что остальная часть стека все еще будет зависеть от публичных IP-адресов и будет в течение некоторого времени. Есть ли заметное улучшение в скорости / пропускной способности или какие-либо другие преимущества, которые могут перевесить издержки на управление?
3 ответа
Это старый поток, но они только что выпустили конечные точки VPC для DynamoDB. Я надеюсь, что они добавляют их для SQS. Прямо сейчас, поскольку функции Lambda, работающие в VPC, не имеют доступа к Интернету, они не могут получить доступ к каким-либо общедоступным сервисам AWS без настройки шлюза NAT. Поэтому, если вы хотите, чтобы ваши функции Lambda обращались к ресурсу в VPC, например, RDS, и отправляли что-то SQS, SNS, SES, любой другой общедоступной службе AWS без конечной точки VPC или вызывали другую функцию Lambda, вы не сможете.
Если бы они добавили конечные точки VPC для SQS, вы могли бы обращаться к ресурсам VPC с помощью лямбда-функции VPC, отправлять результаты в очередь SQS, а затем иметь общедоступную функцию Lambda, которая отслеживает и использует сообщения очереди, обращаясь к любой общедоступной службе AWS (SNS, SES) как необходимо. В настоящее время я застрял "смотрю" S3/DynamoDB, так как я не хочу нести расходы на управляемый шлюз NAT.
Узлы VPC без публичного IP-адреса должны пройти либо экземпляр шлюза NAT, либо службу NAT, чтобы достичь S3 (на мгновение игнорируя конечные точки VPC). Первый - это ограничение доступности и пропускной способности, второй - стоимость использования одного байта.
При использовании конечной точки VPC ваши частные хосты не должны проходить ни один из них, чтобы добраться до S3, и могут делать это дешевле и потенциально быстрее.
Преимущество конечных точек VPC - это прежде всего безопасность. Возможность хранения / извлечения данных в S3 в закрытом частном VPC является привлекательной для тех, кто не использует AWS для публичного использования.