Acceder a Amazon S3 desde una subred privada de VPC


12

Si tengo una VPC ejecutándose y algunos servidores ubicados en la parte privada de esa red que procesan backend descargando archivos de amazon s3, ¿puedo acceder a S3 internamente para acceder a esos archivos? ¿O tengo que acceder a Internet público a través de NAT, descargar archivos s3 a través de https y procesar de esa manera?


Consulte mi respuesta en stackoverflow.com/questions/25539057/… para ver una forma de hacerlo, aunque mi respuesta se relaciona más con la configuración de un depósito S3 para que SOLO se pueda acceder desde una VPC específica, por lo que solo puede responder parcialmente a su pregunta.
Eddie

Respuestas:


29

Con un nombre de usuario como "Internet", espero que sepas esto. Pero como preguntaste ...

:)

Los VPC son verdaderamente privados. Solo el tráfico que permita explícitamente puede transitar los límites de la VPC.

Por lo tanto, dentro de una VPC, las instancias que necesitan acceso a recursos externos deben tener asignado un EIP (en cuyo caso pueden acceder a recursos externos utilizando la infraestructura de AWS) o debe proporcionar un host NAT (en cuyo caso todas las salidas de tráfico el VPC a través de su propio NAT).

Si opta por proporcionar su propio host NAT, recuerde que deberá deshabilitar la verificación de origen / destino en esa instancia, así como agregar una ruta predeterminada a su subred privada, apuntando al host NAT.

ACTUALIZACIÓN (2015-05-10): a partir del 11 de mayo de 2015, AWS ha lanzado un "VPC Endpoint" para S3 , que permite el acceso a S3 directamente desde una VPC sin tener que pasar por un servidor proxy o una instancia NAT. Afortunadamente, por respeto a la naturaleza verdaderamente privada de VPC, esta función está desactivada de manera predeterminada, pero se puede activar fácilmente usando la consola de AWS o mediante su API.


¿Qué tal el control de acceso? Cuando el tráfico llega a través de la instancia NAT, ¿cómo funcionan las políticas de bucket de S3 (dado que el origen es NAT, ¿cómo puede S3 saber qué rol o usuario solicita los datos)?
Tuukka Mustonen

@TuukkaMustonen La única preocupación es si tiene políticas basadas en IP de origen. En ese caso, deberá utilizar la IP pública de la instancia NAT como la IP de origen.
filipenf

2

Si su instancia está en la subred pública de VPC, entonces:

  • Debes tener una dirección IP pública asignada a tu instancia
  • O debe tener una IP elástica asignada a su instancia

Si su instancia está en una subred privada de VPC, entonces:

  • Debe tener un dispositivo NAT ejecutándose en una subred pública. Para que la instancia en la subred privada de VPC pueda acceder a Internet a través de NAT y acceder a S3. Puede usar AWS VPC NAT o puede configurar el suyo propio (google para esto en caso de que quiera configurar su propio NAT)

En pocas palabras, para acceder a S3, debe poder acceder a Internet.


FYI: según mi actualización anterior, ya no se requiere acceso a Internet.
EEAA

0

-3

No tiene que "salir" y volver "entrar" o cambiar nada sobre la forma de transferir datos dentro de las regiones de AWS. Sin cargo por una transferencia hacia / desde cubos en la misma región . Tienes que pagar por el almacenamiento.


Esto no responde a la pregunta del OP.
EEAA

No está claro que se refiera a una red fuera de AWS. Gracias por el dv!
quadruplebucky

Te estás perdiendo el punto. Tiene instancias EC2 en una subred VPC privada. Por defecto, estos no tienen acceso a nada fuera de esa VPC. Entonces, como dije en mi respuesta, necesitará tomar una de dos opciones para darles acceso a S3. No tiene nada que ver con si las redes están dentro o fuera de AWS, sino que tiene que ver con acceder fuera de su VPC.
EEAA

@quadruplebucky, dejo en claro que estoy accediendo a la "Internet pública" para obtener archivos a través de HTTPS.
Internet

Voy a postrarme aquí, no tengo un perro en esta pelea. EEAA respondió a su pregunta. Pagas si cruzas regiones.
quadruplebucky
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.