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


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


9
2018-02-26 23:01


Источник


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


Ответы:


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

:)

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

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

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

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


26
2018-02-26 23:15



Как насчет контроля доступа? Когда трафик поступает через NAT-экземпляр, как работают политики пакета S3 (поскольку источник является NATted, как S3 может знать, какую роль или пользователь запрашивает данные)? - Tuukka Mustonen
@TuukkaMustonen Единственное беспокойство - если у вас есть политики, основанные на исходном IP-адресе. В этом случае вам необходимо использовать открытый IP-адрес экземпляра NAT в качестве исходного IP-адреса. - filipenf


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

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

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

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

Внизу, для доступа к S3, вы должны иметь доступ к Интернету.


2
2018-03-07 07:19



FYI: за мое обновление выше, доступ в Интернет больше не требуется. - EEAA♦


SInce несколько дней назад вы теперь можете получить доступ к S3 через свой VPC без использования NAT или публичного IP-адреса.

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html?sc_ichannel=em&sc_icountry=global&sc_icampaigntype=launch&sc_icampaign=em_137702700&sc_idetail=em_332195307&ref_=pe_411040_137702700_31


0
2018-05-14 02:46





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


-3
2018-02-26 23:24



Это не отвечает на вопрос ОП. - EEAA♦
Непонятно, что он ссылается на сеть вне AWS. Спасибо за dv! - quadruplebucky
Вам не хватает смысла. У него экземпляры EC2 в частной подсети VPC. По умолчанию у них нет доступа к что-нибудь вне этого VPC. Итак, как я сказал в своем ответе, ему нужно будет сделать один из двух вариантов, чтобы дать им доступ к S3. Это не имеет никакого отношения к тому, есть ли сети внутри или вне AWS, скорее, это связано с доступом за пределы его VPC. - EEAA♦
Понял, спасибо. - quadruplebucky
@quadruplebucky, я поясняю, что я обращаюсь к «общедоступному интернету», чтобы получить файлы через HTTPS. - The Internet