Доступ к Amazon S3 из частной подсети VPC


12

Если у меня работает VPC и некоторые серверы, расположенные в частной части этой сети, которые выполняют внутреннюю обработку, загружая файлы из amazon s3, могу ли я получить внутренний доступ к S3 для доступа к этим файлам? Или я должен получить доступ к общедоступному Интернету через NAT, загружать файлы s3 через https и обрабатывать таким образом?


См. Мой ответ на stackoverflow.com/questions/25539057/… для одного способа сделать это, хотя мой ответ больше относится к настройке корзины S3 так, чтобы к ней можно было получить доступ ТОЛЬКО от определенного VPC, так что он может только частично ответить на ваш вопрос.
Эдди

Ответы:


29

С таким именем пользователя, как «Интернет», я ожидаю, что вы это знаете. Но так как вы спросили ...

:)

VPC действительно частные. Только трафик, который вы явно разрешаете, может проходить через границы VPC.

Таким образом, внутри VPC экземплярам, ​​нуждающимся в доступе к внешним ресурсам, необходимо либо назначить EIP (в этом случае они могут получить доступ к внешним ресурсам с помощью инфраструктуры AWS), либо вам необходимо предоставить узел NAT (в этом случае весь трафик выходит из сети). VPC через собственный NAT).

Если вы решите предоставить свой собственный узел NAT, помните, что вам нужно отключить проверку источника / адреса в этом экземпляре, а также добавить маршрут по умолчанию в вашу частную подсеть, указывающий на узел NAT.

ОБНОВЛЕНИЕ (2015-05-10): По состоянию на 11 мая 2015 года AWS выпустила « конечную точку VPC» для S3 , которая позволяет получать доступ к S3 напрямую из VPC без необходимости проходить через прокси-хост или экземпляр NAT. К счастью, из-за уважения к действительно частной природе VPC, эта функция по умолчанию отключена, но ее легко включить с помощью консоли AWS или через их API.


Как насчет контроля доступа? Когда трафик поступает через NAT-экземпляр, как работают политики сегмента S3 (поскольку источником является NAT, как S3 может знать, какую роль или пользователь запрашивает данные)?
Туукка Мустонен

@TuukkaMustonen Единственная проблема, если у вас есть политики, основанные на IP источника. В этом случае вам нужно использовать общедоступный IP-адрес экземпляра NAT в качестве исходного IP-адреса.
filipenf

2

Если ваш экземпляр находится в публичной подсети VPC, тогда:

  • Либо у вас должен быть публичный IP-адрес, назначенный вашему экземпляру
  • ИЛИ у вас должен быть эластичный IP, назначенный вашему экземпляру

Если ваш экземпляр находится в частной подсети VPC, тогда:

  • Вам необходимо иметь устройство NAT, работающее в общедоступной подсети. Так что экземпляр в частной подсети VPC может получить доступ к Интернету через NAT и получить доступ к S3. Вы можете использовать AWS VPC NAT или настроить свой собственный (Google для этого, если вы хотите настроить свой собственный NAT)

Итог, чтобы получить доступ к S3, Вы должны иметь доступ к интернету.


К вашему сведению: согласно моему обновлению выше, доступ в интернет больше не требуется.
EEAA


-3

Вам не нужно «выходить» и возвращаться «в» или что-либо менять в способе передачи данных в регионах AWS. Без комиссии за перевод в / из ведра в том же регионе . Вы должны заплатить за хранение.


Это не отвечает на вопрос ОП.
EEAA

Не ясно, что он имеет в виду сеть за пределами AWS. Спасибо за видео!
quadruplebucky

Вы упускаете суть. У него есть экземпляры EC2 в частной подсети VPC. По умолчанию они не имеют доступа ни к чему, кроме этого VPC. Итак, как я уже сказал в своем ответе, ему нужно будет воспользоваться одним из двух вариантов, чтобы предоставить им доступ к S3. Это не имеет никакого отношения к тому, находятся ли сети внутри или вне AWS, скорее, это имеет отношение к доступу вне его VPC.
EEAA

@quadruplebucky, я даю понять, что я получаю доступ к «общедоступному интернету» для получения файлов по HTTPS.
Интернет

Я собираюсь поклониться здесь, у меня нет собаки в этом бою. EEAA ответило на ваш вопрос. Вы платите, если вы пересекаете регионы.
quadruplebucky
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.