AWS Virtual Private Cloud (VPC)
El servicio VPC brinda la capacidad de aprovisionar redes aisladas lógicamente en AWS. Con VPC, se puede diseñar, crear y administrar todos los aspectos de las redes en la nube de AWS. Al crear una VPC, se comienza por crear un rango de direcciones IPv4 y / o IPv6 que luego se puede dividir en subredes. También se tiene la capacidad de configurar todos los aspectos del enrutamiento y controlar cómo y dónde se conectan puertas de enlace de red. La VPC es el entorno principal que proporciona aislamiento de red lógica y agrupación de recursos, como las instancias de Elastic Compute Cloud (EC2) o Elastic Container Service (ECS), y otros servicios de AWS a los que se requiere conectar a través de rangos de IP privados. Con los siguientes beneficios:
- Capacidad de lanzar instancias en una subred
- Capacidad para definir intervalos de direcciones IP personalizados dentro de cada subred (privada y público)
- Capacidad de configurar tablas de ruteo entre subredes
- Capacidad para configurar puertas de enlace a Internet y adjuntarlas a subredes
- Capacidad de crear una red de recursos en capas
- Ampliación de nuestra red con acceso controlado vpn/vpg
- Capacidad de utilizar grupos de seguridad y ACL de red de subred
VPC networks
Al crear una VPC, siempre se especifica un rango de red para la VPC. Este rango está limitado a tamaños entre / 28 y / 16 según la definición de direccionamiento de red Classless Inter-Domain Routing (CIDR). Luego, cada red de VPC se puede subdividir en subredes. El direccionamiento en VPC tiene como valor predeterminado IPv4, pero IPv6 y dual stacks se pueden ejecutar en una VPC si es necesario. Al ejecutar IPv6 o dual stack, debemos ser conscientes de las implicaciones del protocolo y sus efectos sobre cómo el tráfico pasará a Internet y viceversa.
Al crear una red, debemos ser conscientes de la cantidad aproximada de direcciones que consumiremos en cada VPC y cada subred. Esto es importante ya que el proceso de aprovisionamiento en VPC es irreversible: cuando aprovisionamos una red, no podemos cambiarla. Debemos intentar asegurarnos de que diseñemos la VPC con espacio suficiente para que nuestra aplicación se ejecute y posiblemente crezca con el tiempo.
También se debe considerar que habrá algunos servicios ejecutándose en la VPC que están reservados por AWS; por ejemplo, se consumirá una dirección IP para la puerta de enlace de Internet (IGW), el servicio DHCP, la puerta de enlace NAT y las direcciones reservadas que AWS mantiene sin usar para servicios futuros.
Private y public subnets
AWS define dos tipos de subredes que se pueden crear dentro de una red de VPC: pública y privada. Por diseño, la única diferencia que hace que una subred sea pública en lugar de privada es que las instancias que se ejecutan en una red pública podrán acceder a Internet de forma predeterminada y también se harán públicas al adjuntarles una IP pública o elástica. La subred pública también se identificaría fácilmente ya que tendrá un IGW adjunto y una ruta para todas las direcciones que apuntan al IGW.
Podemos pensar en una subred pública como una especie de DMZ en términos de red clásicos. La subred está oculta a la vista pública a través de un enrutador (el IGW) con reglas DNAT 1: 1 adjuntas que asignan las IP públicas o elásticas a las IP de nuestras instancias que se ejecutan en la subred.
Las redes privadas están completamente aisladas de cualquier acceso a Internet de forma predeterminada, pero pueden comunicarse con cualquier instancia que se ejecute en todas las subredes que existen en la VPC. También podemos controlar el tráfico entre todas las subredes a través de las listas de control de acceso a la red (NACL) de la VPC y definir reglas que evitarán que ciertas subredes se comuniquen entre sí. Las subredes privadas también pueden conectarse a otras redes a través de una puerta de enlace NAT que permitirá el tráfico saliente, así como a través de una puerta de enlace VPN o una conexión de Direct Connect que permitirá que las subredes privadas se comuniquen sin sistemas en las instalaciones.
Public, elastic, y private IPs
Cuando usamos redes IPv4 y hemos creado algunos recursos en una subred de VPC, necesitaremos que estén disponibles en Internet. Se puede adjuntar un IGW a la subred y hacerlo público. Una vez que hayamos activado algunas instancias en la subred, podemos adjuntar una dirección IP pública o una dirección IP elástica.
Las direcciones IP públicas se obtienen de uno o más grupos de direcciones IP públicas controladas por AWS y se adjuntan a la instancia de forma aleatoria cada vez que se inicia una instancia. Cuando una instancia que usa una dirección IP pública falla y se vuelve a crear o se apaga y se reinicia, no mantendrá la misma dirección IP pública.
Esta es probablemente la mayor ventaja de las IP elásticas. Una dirección IP elástica está asociada con su cuenta y es persistente. Esto significa que tiene la capacidad de asignar la IP elástica a su instancia para retener la dirección cuando se apaga y reinicia, o puede adjuntar la misma IP elástica que la instancia fallida estaba usando a una instancia que fue recreada.
Componentes de redes de VPC
La propia VPC está diseñada para contener servicios que se ejecutan dentro de AWS en una red privada. El diseño se basa en un enfoque estándar IPv4 para la creación de redes con NAT. El diseño también es compatible con IPv6. Básicamente, el objetivo de la VPC es ofrecer un entorno de red privada donde se pueda conectar instancias virtuales, contenedores, servicios de AWS y otras VPC a través de direcciones IP privadas. Para realizar la conexion, usaremos los siguientes componentes de red:
- Elastic Network Interface (ENI)
- Routing NAT e internet access
- VPC endpoints y PrivateLink
- VPC peering
ENI
El ENI es un adaptador de red virtual que nos permite conectar sistemas operativos, contenedores y otros componentes a una VPC. Cuando se crea una instancia EC2, se crea un tipo especial de ENI y se le adjunta permanentemente. Esta ENI también se denomina interfaz de red principal y se mostrará como eth0 en instancias de Linux o Conexión de área local en instancias de Windows. La interfaz de red principal tiene todas las características de una ENI, excepto que no puede separarse de la instancia con la que se creó.
La arquitectura impulsada por eventos hereda algunos principios del estilo de integración de mensajería, como mencionamos anteriormente. La arquitectura impulsada por eventos tiene tres componentes principales: productores de eventos, enrutadores de eventos y consumidores de eventos. Los productores publican eventos en el enrutador, los enrutadores manejan el filtrado y el envío de eventos a los consumidores suscritos, y los consumidores reciben el evento, lo analizan y lo transforman en un formato adecuado para sus necesidades, y luego lo usan, generalmente para actualizar su propia versión de los datos o para disparar la lógica posterior. Las plataformas de procesamiento de flujo, los ESB modernos o los buses de enrutamiento de eventos como CometD se utilizan generalmente como enrutadores.
VPC endpoints y PrivateLink
Hay ciertas situaciones en las que necesitamos servicios en subredes privadas sin acceso a Internet para poder conectarnos a un servicio de AWS como S3, SQS, KMS y DynamoDB. También podríamos colocar instancias en una subred pública, pero con el requisito de que no se pasen datos dentro de la aplicación a través del espacio IP público. En ambos casos, podemos implementar un endpoint de VPC para conectar un servicio a la VPC y permitir la comunicación con el servicio dentro de un espacio de IP privado. Las conexiones de enpoint de VPC vienen en dos tipos diferentes:
- Gateway endpoints
- Interface endpoints
Routing, NAT, e internet access
Para permitir el acceso desde redes privadas a Internet, necesitaremos configurar un dispositivo que nos permitirá conectarnos a Internet. Hay varios escenarios dentro de AWS que determinarán el tipo de dispositivo que usaremos para conectarnos a Internet.
Conexión de subredes públicas a Internet
Al usar IPv4, estaremos conectando un IGW a la subred pública, lo que nos permitirá asignar IP públicas y elásticas a través de NAT 1: 1 a nuestras instancias. Esto significa que cualquier tráfico que ingrese a la IP pública o elástica será dirigido por el IGW a la dirección IP interna de la instancia (la dirección IP se obtendrá del rango de IP de la subred). Cuando se usa IPv6, las direcciones se asignan directamente a las instancias en la subred pública y, al conectar un IGW, permitimos que el tráfico entre y salga de esas instancias.
Conexión de subredes privadas a Internet
Para conectar una subred privada IPv4 a Internet, podemos usar un NAT Gateway. El NAT Gateway permitirá que todo el tráfico saliente pase a Internet y se utiliza cuando requerimos que las instancias de la subred privada accedan a Internet..
VPC Peering
Cuando operamos una aplicación grande que se extiende a través de VPC o regiones, a veces tenemos el requisito de conectar esa aplicación a través de una conexión privada. Siempre tenemos la opción de crear conexiones VPN entre VPC, pero eso requerirá que mantengamos la configuración de los dispositivos VPN y garanticemos la seguridad de los mismos.
Una forma más sencilla de conectar VPC es mediante el intercambio de tráfico de VPC. Una interconexión de VPC es una conexión de red entre dos VPC que le permite enrutar el tráfico entre ellas de forma privada y tener la capacidad de conectar instancias en subredes privadas dentro de VPC independientes para comunicarse directamente.
Comentarios
Publicar un comentario