<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Luis Horvath</title>
    <description>The latest articles on DEV Community by Luis Horvath (@luzma_1).</description>
    <link>https://dev.to/luzma_1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1047542%2F78e82c44-9832-44e1-9219-7cc69d8313d3.png</url>
      <title>DEV Community: Luis Horvath</title>
      <link>https://dev.to/luzma_1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/luzma_1"/>
    <language>en</language>
    <item>
      <title>¡Vamos a bichear! - Dashboard de Ping</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Wed, 12 Mar 2025 21:07:46 +0000</pubDate>
      <link>https://dev.to/aws-espanol/vamos-a-bichear-dashboard-de-ping-390m</link>
      <guid>https://dev.to/aws-espanol/vamos-a-bichear-dashboard-de-ping-390m</guid>
      <description>&lt;h3&gt;
  
  
  Pequeño repaso arquitecturil:
&lt;/h3&gt;

&lt;p&gt;Me gustaría repasar algunos conceptos primero:&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;¿Qué es una Zona de Disponibilidad aka (AZ: Availability Zone)?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Una AZ en AWS es un centro de datos (o un grupo de centros de datos) físicamente separado e independiente dentro de una Región. Las regiones de AWS cuentan con múltiples AZs, con un mínimo de 3 por región.&lt;/p&gt;

&lt;p&gt;Cada AZ dispone de electricidad, refrigeración y redes independientes, lo que garantiza alta disponibilidad y tolerancia a fallos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Puede una subnet formar parte de distintas AZs?&lt;/strong&gt;&lt;br&gt;
No, por defecto, cada subnet o subred, tiene que estar vinculada a una zona de disponibilidad, no se puede expandir una misma subnet entre varias AZs a la vez. &lt;/p&gt;

&lt;p&gt;Si se desea, se pueden desplegar varias subnets (por servicio) y asignarlas a distintas AZs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Por qué se debe de usar distintas subnets en distintas AZs?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Al diseñar arquitecturas que son altamente disponibles, es una buena práctica distribuir las cargas de trabajo segmentando los distintos servicios en diferentes subnets y desplegar estas subnets en distintas AZs para así garantizar la resiliencia.&lt;/p&gt;

&lt;p&gt;Por ejemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Una base de datos debería ubicarse dentro una subnet en una AZ. Si se quiere hacer una arquitectura multi-AZ, habría que utilizar más subnets y desplegar los servicios de las DB, dentro de estas subredes, en otras AZs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Si a nuestro ejemplo añadimos un frontend, este debería de estar desplegado en una subnet distinta a la de la base de datos. &lt;br&gt;
Además tendría que estar desplegado en diferentes AZs, en distintas subnets si se quisiera hacer una arquitectura resiliente multi-AZ.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Siguiendo este principio, mejoramos la seguridad, aumentamos la escalabilidad y aprovechamos las capacidades de resiliencia de AWS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subnets públicas vs privadas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Subnet pública:&lt;/strong&gt; tiene una ruta directa a Internet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ejemplo: Un servidor web se ubica en la subnet pública y está expuesto directamente a Internet. El servidor tiene IP Pública y privada&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Subnet privada:&lt;/strong&gt; No tiene una ruta directa a Internet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ejemplo: Una base de datos se ubica en una subnet privada y no necesita estar expuesta a Internet. La base de datos solo tiene IP Privada&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Es posible permitir que los recursos dentro de una subnet privada se comuniquen con Internet sin que haya acceso desde fuera manteniendo la IP Privada. Para ello, hay que desplegar algunos servicios de red adicionales.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnqe2o7iw9j559ovhdp95.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnqe2o7iw9j559ovhdp95.gif" alt="al turron" width="320" height="230"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Hace unos meses, un amigo me lanzó un reto, el de diseñar la arquitectura de una aplicación. Podría ser la que quisiera...&lt;/p&gt;

&lt;p&gt;Le empecé a dar un par de vueltas para ver cómo se podría arquitecturizar. Lo que empezó como un pequeño proyecto terminó escalando bastante, y esa es la razón por la que estás leyendo este artículo.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Cómo crearías un dashboard de ping?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fhmogjccfczz5dx1ztp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fhmogjccfczz5dx1ztp.jpg" alt="Batman" width="508" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;¡Gracias Batman!, Exacto, ¡la P*** red!&lt;/p&gt;

&lt;p&gt;No se puede empezar a construir la aplicación sin considerar primero la red. Para hacer esto, me miré ante el espejo y y me pregunté cómo sería la arquitectura a nivel de red:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Quiero crear un dashboard de ping resiliente en múltiples AZs, 
con servicios expuestos tanto en subnets públicas como privadas. 
En el futuro, quiero extender algunas partes de la aplicación a
diferentes regiones para expandir las mediciones.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Una vez entendido cómo iba a ser la estructura a nivel de red, es hora de entrar a la de la aplicación:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;El dashboard de ping contará con un servidor web accesible desde    
Internet en una subnet pública, el cual mostrará datos de 
latencia obtenidos desde varias máquinas virtuales ubicadas en 
subnets privadas y utilizadas como sondas (probes).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Funcionamiento de la aplicación:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Las sondas realizarán mediciones de ping a un objetivo específico  
(una URL o una dirección IP) que será enviado por el servidor  
web.

Se registrará el tiempo de respuesta desde AWS hasta el destino 
indicado.

Los datos de latencia serán almacenados en una base de datos.
El servidor web consultará la base de datos y expondrá la 
información a los usuarios finales en un dashboard accesible 
desde la subnet pública.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Con este diseño, garantizamos resiliencia, escalabilidad y la posibilidad de expansión a otras regiones en el futuro.&lt;/p&gt;




&lt;h3&gt;
  
  
  Estructura del VPC (Virtual Private Cloud // La red)
&lt;/h3&gt;

&lt;p&gt;He seleccionado la región &lt;strong&gt;eu-south-2&lt;/strong&gt; (España) y la &lt;strong&gt;red IPv4 10.0.0.0/24.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dado que &lt;strong&gt;no necesito tantas IPs (una /24 contiene 256 IPs), quiero segmentar esta red en subnets más pequeñas y distribuir los servicios en diferentes AZs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hora del &lt;a href="https://jodies.de/ipcalc" rel="noopener noreferrer"&gt;Subnetting!&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Voy a dividir la /24 en /28, lo que nos dará 16 subnets de 16 hosts cada una (11 utilizables, ya que &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/subnet-sizing.html#subnet-sizing-ipv4" rel="noopener noreferrer"&gt;AWS reserva 5&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Asignación de subnets por AZ&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AZ A → Rango: 10.0.0.0/28 - 10.0.0.64/28
    10.0.0.0/28
    10.0.0.16/28
    10.0.0.32/28
    10.0.0.48/28
    10.0.0.64/28

AZ B → Rango: 10.0.0.80/28 - 10.0.0.144/28
    10.0.0.80/28
    10.0.0.96/28
    10.0.0.112/28
    10.0.0.128/28
    10.0.0.144/28

AZ C → Rango: 10.0.0.160/28 - 10.0.0.240/28
    10.0.0.160/28
    10.0.0.176/28
    10.0.0.192/28
    10.0.0.208/28
    10.0.0.224/28
    10.0.0.240/28
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Basándonos en los requerimientos, necesitamos:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Una base de datos en una subnet privada
Una sonda en una subnet privada
Un servidor web en una subnet pública
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Lo que vendría a ser 3 redes por AZ de la lista de arriba&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Por qué no colocar todo en la misma subnet?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Por seguridad. Cada componente debe estar aislado para minimizar el impacto en caso de brecha de seguridad. &lt;/p&gt;

&lt;p&gt;La segmentación en subnets, combinada con reglas de firewall, restringe el acceso de red entre servicios.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dibujo de nuestra arquitectura
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/1iZxtTj.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjljec7kv2cxva3ombo5n.png" alt="network" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Elementos de red esenciales&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internet Gateway
    Necesario para que el servidor web tenga acceso a Internet.
    Se despliega a nivel del VPC, no llega a estar ubicado en una subnet.

NAT Gateway
    Permite que las instancias en subnets privadas accedan a 
    Internet sin exponerse directamente.

    Se despliega en una subnet pública y funciona en combinación     
    con el Internet Gateway.

    Se ha colocado un NAT Gateway por AZ (esto lo podremos  
    optimizar en siguientes iteraciones).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhilyf5nq88rgw67xn4a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhilyf5nq88rgw67xn4a.png" alt="https://i.imgur.com/fpWufEh.png" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Con el cómputo nos hemos topado: EC2
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/bKy8dJj.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6rh2f2pq7lsm5wd4sn6a.png" alt="network3" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selección de instancias&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Probes (sondas) → t3.micro
Servidores web → t3.micro
Load Balancer → Network Load Balancer (NLB)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;En lugar de un solo servidor web, usaremos dos, bajo un NLB, para redistribuir el tráfico entre AZs.&lt;/p&gt;

&lt;p&gt;¿Por qué no tres servidores web?&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Los servidores webs están incluidos dentro de un 
AutoScaling Group (ASG) que se expande entre 
las distintas AZs.

Si el NLB detecta fallos en los healthchecks de 
la aplicación, el ASG redepliega la instancia en la 
misma, o en otra Zona de disponibilidad.

Si una AZ falla, el NLB dejará de enrutar tráfico 
a la AZ caída y el ASG reubicará la carga en otra AZ 
y el NLB apuntará a esta nueva instancia

Las sondas no son críticas, pero la aplicación sí 
lo es, es por eso que podemos permitirnos fallos al 
nivel de las sondas.

El NLB usará una Elastic IP.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h3&gt;
  
  
  Añadiendo la base de Datos
&lt;/h3&gt;

&lt;p&gt;Se ha seleccionado RDS Multi-AZ (MySQL) con:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  Nodo principal
  Réplicas en standby

  Si la DB primaria falla, se activa automáticamente 
  una réplica para hacer el failover.

  Instancia utilizada: db.t3.micro
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h3&gt;
  
  
  Expansión a otras regiones
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/jZeObj5.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6cb68zpou6761689qf6b.png" alt="network5" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Siguiendo el mismo principio, podemos expandir la solución a Frankfurt:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Nueva VPC (10.1.0.0/24)
Subnets públicas y privadas
Probes en cada AZ
NAT Gateway en cada AZ
Internet Gateway
VPC Peering para interconectar ambas regiones
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h3&gt;
  
  
  Medidas de Seguridad
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Session Manager
    Eliminamos puertos abiertos desde el exterior para reducir 
    la superficie de ataque. Nos conectaremos a las instancias,   
    de manera segura, a través de la interfaz web usando 
    session manager. 

Security Groups (SGs) por servicio
    SG del Servidor Web: Acepta tráfico solo desde el NLB.
    SG del NLB: Acepta tráfico de Internet.
    SG de la Base de Datos: Solo acepta tráfico del Servidor
    Web y las Probes.
    SG de las Sondas: Permite tráfico ICMP desde 
    cualquier origen (0.0.0.0/0).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h3&gt;
  
  
  Costes Aproximados por mes
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;8 instancias EC2 t3.micro (encendidas 24h // On Demand) 
= 8 x 8.32 USD = 66.56 USD

2 Internet Gateway = GRATIS
6 NAT Gateways (1 GB de tráfico mensual) 
= 6 x 35.09 USD = 210.54 USD

VPC Peering entre España y Alemania - Cada sonda genera   
aproximadamente 6 MB por día = 180 MB por mes x 6 sondas ≈ 1GB de 
tráfico = 0.04 USD

Network Load Balancer ≈ 20 USD
Elastic IP = 3.65 USD por IP
RDS Multi-AZ (db.t3.micro) = 77.13 USD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Total: &lt;strong&gt;377.92 USD - Factura mensual&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Huella de Carbono estimada&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;40 KgCO₂eq&lt;/strong&gt; (Entre EC2 y el RDS)&lt;/p&gt;




&lt;h3&gt;
  
  
  Vamos a echarle mano a la red:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvjyw8jbfvhi7w3oli566.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvjyw8jbfvhi7w3oli566.gif" alt="norman" width="640" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Podemos eliminar los NAT Gateways que no son indispensables, reduciendo drásticamente los costes. Se puede colocar un solo NAT Gateway en una AZ, permitiendo el acceso a Internet de las instancias en otras zonas de disponibilidad.&lt;/p&gt;

&lt;p&gt;Si este NAT Gateway fallase por cualquier motivo, ninguna instancia dentro de las subredes privadas podrá acceder a Internet hasta que AWS lo recree.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dado que el NAT Gateway es un servicio administrado por AWS, si falla, se volverá a desplegar automáticamente, pero el proceso puede tardar hasta 15 minutos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Una buena estrategia sería crear una función de failover automatizada (usando AWS Lambda) que verifique el estado del Nat Gateway actual y actualice las rutas hacia el otro disponible si comienza a fallar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/t5uxoFU.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuueskqxvjfi9xn7wpaq9.png" alt="network6" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;He mantenido dos NAT Gateways en España para garantizar alta disponibilidad.&lt;/li&gt;
&lt;li&gt;En Alemania he dejado solo uno, ya que no es crítico.

&lt;ul&gt;
&lt;li&gt;Si el NAT Gateway fallase en este caso, habría que esperar a que se vuelva a desplegar.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Vamos a por las Bases de datos:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2ivqiwnda0jpapavot3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2ivqiwnda0jpapavot3.jpg" alt="fallout " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/Wv5mYTR.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4pdklvigziouuzsyu5q.png" alt="network7" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Al eliminar la arquitectura Multi-AZ, ahorraremos más dinero al final del mes. Pero, ¿qué sacrificamos?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Usando la RDS en modo single-AZ, perdemos el SLA del 99.95%.&lt;/li&gt;
&lt;li&gt;Cambia el paradigma para recuperar la base de datos si existe algun fallo.

&lt;ul&gt;
&lt;li&gt;Para los fallos "recuperables" como problemas en la instancia RDS, el RTO (Recovery Time Objective) será inferior a 30 minutos (esto puede variar según el tamaño de la instancia).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Para los fallos no recuperables, como fallos en el volumen de datos EBS:

&lt;ul&gt;
&lt;li&gt;El RTO dependerá del tiempo necesario para iniciar una nueva instancia de RDS y aplicar todos los cambios desde la última copia de seguridad.&lt;/li&gt;
&lt;li&gt;Este proceso debe iniciarse manualmente o automatizarse con un script en Lambda.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Los fallos en la Zona de Disponibilidad requieren una recuperación manual o automatizada mediante restauración en un punto en el tiempo en otra AZ.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Vamos a por las instancias EC2:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/trgXsU3.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvfef52d8sgl6hj4k3oiz.png" alt="network8" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vamos a cambiar el enfoque en nuestra aplicación&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nos hemos cargado el load balancer y la instancia EC2 del servidor web en la AZ B. La IP del NLB ahora la tiene el servidor web.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;¿Cuál es la desventaja de hacer esto?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Amazon supervisa la salud del hardware que contiene la aplicación, pero no vigila si la aplicación está funcionando o no, como lo hacía el Load Balancer.&lt;/li&gt;
&lt;li&gt;Para poder supervisar si la aplicación está levantada y funciona correctamente, tendríamos que usar los health checks de Route53 y funciones de lambda para detectar posibles fallos y automáticamente borrar esa instancia y así poder degradarla y para que el Autoscaling Group la recree de nuevo. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pero hay una cosita más... 🤔&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fng8dj4d66gh6a748fo0a.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fng8dj4d66gh6a748fo0a.gif" alt="what if" width="480" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;¿Qué pasaría si el servidor web automatizase el proceso de encendido de las sondas bajo petición de un usuario a través de la aplicación o en intervalos de tiempo para tomar mediciones y luego las apagase automáticamente?&lt;/p&gt;

&lt;p&gt;Podriamos reducir mucho dinero con este scheduler...&lt;/p&gt;

&lt;h3&gt;
  
  
  Costes aproximados por mes
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Probes: 6 instancias EC2 t3.micro (Operando 1 hora 
por día) = 6 VMs x 0.34 USD (30 horas en el mes) 
= 2.04 USD

Servidor Web: 1 instancia EC2 t3.micro (Operando 24h 
al día) = 8.32 USD

2 Internet Gateways: GRATIS
3 NAT Gateways (2 GB de tráfico mensual) = 105.42 USD
VPC Peering entre España y Alemania:
    Cada probe genera 6 MB por día → 180 MB/mes 
    por probe → 1GB de tráfico total = 0.04 USD
Elastic IP: 3.65 USD por IP
RDS Single-AZ (t3.micro): 50.66 USD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Total: &lt;strong&gt;170.13 USD - Factura mensual // 2.22 veces menos&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Huella de carbono estimada
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;8.991 KgCO₂eq (Entre EC2 y RDS) // 4.45 veces menos&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Tercera iteración: Sujétame el cubata
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwia9mq06ssjx13ucmeoo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwia9mq06ssjx13ucmeoo.png" alt="sbs" width="275" height="275"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Usemos ARM:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9xnrzav6utmedeozvehm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9xnrzav6utmedeozvehm.png" alt="ARM" width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cambiando el tipo de instancia de x86 a ARM Graviton, reduciremos costes, mejoraremos la eficiencia eléctrica y térmica y reduciremos aproximadamente en un 40% la huella de carbono.&lt;/p&gt;

&lt;p&gt;Las instancias t3.micro y db.t3.micro se han cambiado a la familia t4g.micro&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nota&lt;/strong&gt;: En algunos casos, el uso de arquitectura ARM requiere la recompilación de la aplicación. Antes de hacer el cambio y migrar, hay que asegurarse de que es compatible.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://i.imgur.com/Mueihu9.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fri2wc4io7q801px8wvsh.png" alt="network9" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ¿Qué le habéis hecho a la red?
&lt;/h3&gt;

&lt;p&gt;Es posible bajar la factura a nivel de red, haciendo unos simples cambios, pasando del servicio gestionado del NAT gateway, a NAT instances. (Que son instancias EC2 configuradas para enrutar el tráfico hacia el exterior)&lt;/p&gt;

&lt;p&gt;Como comentaba, estamos pasando de un servicio gestionado a construirlo nosotros mismos, puede que esto no sea la mejor opción, ni sea la más eficiente, pero creo que merece la pena mostrar esta posibilidad.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ventajas:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ahorro de costes&lt;/li&gt;
&lt;li&gt;En combinación con Route53 y un AutoScaling group, podemos crear failover automático, creando un sistema resiliente&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Desventajas:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;El máximo throughput es de 5Gbps, tendríamos que monitorear este parámetro para asegurarnos de que no llegamos al límite y empezamos a tirar paquetes. En comparación, los NAT Gateways pueden llegar hasta 100Gbps sin despeinarse.&lt;/li&gt;
&lt;li&gt;Este diseño implica utilizar una Elastic IP por NAT Instance&lt;/li&gt;
&lt;li&gt;No escala por defecto, es necesario gestión manual del servicio.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este es el &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/work-with-nat-instances.html" rel="noopener noreferrer"&gt;tutorial de AWS&lt;/a&gt; sobre cómo configurarlo.&lt;/p&gt;

&lt;p&gt;En nuestro caso, si la NAT instance fallase en España o Alemania, el tiempo de caída, sería el tiempo que se necesite en volver a desplegarse la instancia de EC2. Este es el sacrificio que tengo que hacer para ahorrar costes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Costes aproximados por mes
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sondas: 6 instancias EC2 t4g.micro (Funcionando 1 
hora al día) = 6 VMs x 0.28 USD (30 horas al mes) 
= 1.68 USD

Servidor web: 1 instancia EC2 t4g.micro (Funcionando 
24h al día) = 6.72 USD
Instancias NAT: 2 instancias EC2 t4g.micro (Funcionando 
24h al día) = 13.44 USD

2 Internet Gateway = GRATIS
VPC Peering entre España y Alemania - Cada sonda 
generará aproximadamente 6 MB por día = 180 MB 
al mes x 6 sondas = 1GB de tráfico = 0.04 USD

Elastic IP = 3.65 USD por IP x 3 (2 Instancias NAT 
+ Servidor Web) = 10.95 USD
RDS Single-AZ (db.t4g.micro) = 49.20 USD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Total: 8*&lt;em&gt;2.03 USD - Factura mensual // 4.6 veces menos&lt;/em&gt;*&lt;/p&gt;




&lt;h3&gt;
  
  
  Huella de carbono estimada
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;5.293 KgCO₂eq (Entre EC2 y RDS) // 7.56 veces menos&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Conclusión
&lt;/h3&gt;

&lt;p&gt;Esta es la arquitectura más optimizada en cuanto a recursos, siendo la más eficiente y barata. No ha sido nada fácil de visualizar, pero todo empezó a coger forma cuando empecé a dibujar el problema con papel y boli ;)&lt;/p&gt;

&lt;p&gt;Este ha sido mi aproximación ante este problema, pero seguro que hay muchos más. ¿Qué hubieras hecho diferente? &lt;br&gt;
Te leo en los comentarios&lt;/p&gt;

</description>
      <category>aws</category>
      <category>spanish</category>
      <category>architecture</category>
      <category>networking</category>
    </item>
    <item>
      <title>Let's Architect! - Ping Dashboard</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Tue, 11 Feb 2025 15:01:01 +0000</pubDate>
      <link>https://dev.to/aws-builders/lets-architect-ping-dashboard-35im</link>
      <guid>https://dev.to/aws-builders/lets-architect-ping-dashboard-35im</guid>
      <description>&lt;h3&gt;
  
  
  Small Architecture Re-cap:
&lt;/h3&gt;

&lt;p&gt;Before jumping to the article, I would like to re-cap some concepts:&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What is an Availability Zone (AZ)?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An AZ in AWS is a physically separate and isolated data center (or a group of data centers) within a Region. AWS Regions consist of multiple AZs, with a minimum of 3 AZs per region.&lt;/p&gt;

&lt;p&gt;Each AZ has independent power, cooling, and networking, ensuring high availability and fault tolerance. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Is It Best Practice to Use Different Subnets in Different AZs for Resiliency?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When designing highly available architectures in AWS, it is considered best practice to distribute workloads across multiple Availability Zones while segmenting different services into different subnets. &lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; A Database should be on a subnet and in multiple AZs&lt;/li&gt;
&lt;li&gt; The frontend should be on a different subnet than the Database and also deployed in different AZs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Following this principle, we enhance the security, improve the scalability, and leverage the security&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Public vs Private Subnets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;public subnet&lt;/strong&gt; has a direct route to the internet.&lt;/p&gt;

&lt;p&gt;EG: A web server will be located in the public subnet and will be directly exposed to the internet&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;private subnet&lt;/strong&gt; does not have a direct route to the Internet. &lt;/p&gt;

&lt;p&gt;EG: A database will be located in a private subnet and won´t have to be exposed to the internet&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is possible to allow communication from the resources inside of a private subnet to the Internet, but not the other way around. 
To achieve this, some additional networking services have to be deployed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, yes, let´s jump to it!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnqe2o7iw9j559ovhdp95.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnqe2o7iw9j559ovhdp95.gif" alt="al turron" width="320" height="230"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Some months ago, a friend challenged me to architect an application.&lt;/p&gt;

&lt;p&gt;I selected the topic and started to think about how I could create it, thinking as a solutions architect. The small project escalated, and this is the main reason why you are reading me.&lt;/p&gt;

&lt;h2&gt;
  
  
  How would you create a ping dashboard?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fhmogjccfczz5dx1ztp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fhmogjccfczz5dx1ztp.jpg" alt="Batman" width="508" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you, Batman! Exactly, the network! &lt;/p&gt;

&lt;p&gt;You can't start building the application without considering the &lt;strong&gt;Network scope&lt;/strong&gt;. I looked at myself in the mirror and started designing how the application would be:&lt;/p&gt;

&lt;p&gt;I want to create a &lt;strong&gt;Multi-AZ resilient&lt;/strong&gt; ping dashboard with &lt;strong&gt;services exposed to public and private subnets&lt;/strong&gt;. In the future, I want to &lt;strong&gt;extend&lt;/strong&gt; some parts of my Application &lt;strong&gt;to different regions&lt;/strong&gt; expanding the measurements.&lt;/p&gt;




&lt;p&gt;Now that I know which type of structure the network will have, let's deep dive into the &lt;strong&gt;Application scope&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;The ping dashboard will have a &lt;strong&gt;web server accessible via the Internet&lt;/strong&gt; in a public subnet and &lt;strong&gt;display latency data from several virtual machines&lt;/strong&gt; used as probes &lt;strong&gt;from different private subnets&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;These probes will take ping measurements to a specific target (URL or IP) sent by the webserver&lt;/strong&gt; to understand and measure how long it takes from AWS to reach that destination. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The probes will write&lt;/strong&gt; the data &lt;strong&gt;to a database&lt;/strong&gt;, which will be used by the webserver to expose the data to the end user&lt;/p&gt;




&lt;h3&gt;
  
  
  VPC Structure
&lt;/h3&gt;

&lt;p&gt;I have selected the &lt;strong&gt;eu-south-2 region&lt;/strong&gt; (Spain) and the &lt;strong&gt;IPv4 network 10.0.0.0/24&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Because &lt;strong&gt;I don't need so many IPs (a /24 contains 256 IPs), I want to segregate this network into smaller subnets and place different components inside each AZ (in different subnets.)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's do some &lt;a href="https://jodies.de/ipcalc" rel="noopener noreferrer"&gt;subnetting&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;We will pass from /24 to /28; this means that we will have 16 new networks of 16 hosts each (11 usable because &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/subnet-sizing.html#subnet-sizing-ipv4" rel="noopener noreferrer"&gt;AWS reserves 5 IPs&lt;/a&gt;).  &lt;/p&gt;

&lt;p&gt;I have grouped the networks I will use in the different AZs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AZ A - Networks from the 10.0.0.0/28 - 10.0.0.64/28&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There are 5 available networks in this range; 

&lt;ul&gt;
&lt;li&gt;10.0.0.0/28&lt;/li&gt;
&lt;li&gt;10.0.0.16/28&lt;/li&gt;
&lt;li&gt;10.0.0.32/28&lt;/li&gt;
&lt;li&gt;10.0.0.48/28&lt;/li&gt;
&lt;li&gt;10.0.0.64/28 &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AZ B - Networks from the 10.0.0.80/28 - 10.0.0.144/28&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There are 5 available networks in this range; 

&lt;ul&gt;
&lt;li&gt;10.0.0.80/28&lt;/li&gt;
&lt;li&gt;10.0.0.96/28&lt;/li&gt;
&lt;li&gt;10.0.0.112/28&lt;/li&gt;
&lt;li&gt;10.0.0.128/28&lt;/li&gt;
&lt;li&gt;10.0.0.144/28 &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AZ C - Networks from the 10.0.0.160/28 - 10.0.0.240/28&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There are 6 available networks in this range; 

&lt;ul&gt;
&lt;li&gt;10.0.0.160/28&lt;/li&gt;
&lt;li&gt;10.0.0.176/28&lt;/li&gt;
&lt;li&gt;10.0.0.192/28&lt;/li&gt;
&lt;li&gt;10.0.0.208/28&lt;/li&gt;
&lt;li&gt;10.0.0.224/28 &lt;/li&gt;
&lt;li&gt;10.0.0.240/28 &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Ok, what are we going to build on these networks? &lt;/p&gt;

&lt;p&gt;Based on the specifications, we need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A DB in a private subnet&lt;/li&gt;
&lt;li&gt;A probe in a private subnet&lt;/li&gt;
&lt;li&gt;A Web Server in a public subnet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, &lt;strong&gt;for each AZ, we only need three subnets&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why don't you put everything in the same subnet?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For security reasons, each component should be isolated from the other. If there is a breach, the network and our firewall rules will limit access to resources from network to network. &lt;/p&gt;

&lt;h3&gt;
  
  
  Drawing of our design
&lt;/h3&gt;

&lt;p&gt;I have selected 3 networks for the different AZs of the list from above.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/1iZxtTj.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjljec7kv2cxva3ombo5n.png" alt="network" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looks sexy, isn't it? Let's continue.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If the application needs to be accessed from the Internet, we must deploy an Internet Gateway. The Internet Gateway is a networking component placed in the VPC that grants access to the Internet to the web server; it does not have to be in any subnet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The probes need internet access, and we want to restrict external services from reaching them; using a NAT gateway will be the solution. The NAT gateway must be placed in the public subnet, and in combination with the Internet Gateway, it will grant the Internet flow only from the inside to the outside. A NAT gateway will be placed in each AZ.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhilyf5nq88rgw67xn4a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhilyf5nq88rgw67xn4a.png" alt="https://i.imgur.com/fpWufEh.png" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Is placing one NAT Gateway per AZ necessary? &lt;br&gt;
We will answer this question in the second and third iterations 🌚.&lt;/p&gt;




&lt;h3&gt;
  
  
  Let's add some EC2 instances!
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/bKy8dJj.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6rh2f2pq7lsm5wd4sn6a.png" alt="network3" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I have selected the t3.micro for the probes and the web servers. &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Yes, web servers, we will allocate two web servers under a Network Load Balancer, which will redistribute the traffic between the AZs. Why not three web servers? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We will build the web servers inside an AutoScaling group that expands in different AZs. &lt;/li&gt;
&lt;li&gt;If the ELB detects a failure in the application's health checks, the AutoScaling Group will deploy the web server in the same or in another AZ.&lt;/li&gt;
&lt;li&gt;If the AZ fails, the ELB will stop sending the traffic to that instance, and the AutoScaling Group will automatically re-deploy it to another AZ.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;The networking probes are not crucial; we can afford failure in them, but not in the application itself.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;We will use an Elastic IP to bind the NLB. &lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Let's add the DBs!
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/akzAVZV.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgaf0tyleh9puh2n8mp0r.png" alt="network4" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I have chosen an RDS Multi-AZ MySQL architecture with a master database and two DBs on standby.&lt;/li&gt;
&lt;li&gt;The Master DB updates the replicas automatically.&lt;/li&gt;
&lt;li&gt;If the master DB fails, one of the DBs in Standby will take over.&lt;/li&gt;
&lt;li&gt;The Family of the DB for this simple design is the DB.t3.micro&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Let's expand our network!
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/jZeObj5.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6cb68zpou6761689qf6b.png" alt="network5" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Following the same principle and because we want to extend to other regions for taking measurements, we can create the following services: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A new VPC using the 10.1.0.0/24 in Frankfurt, for example&lt;/li&gt;
&lt;li&gt;A public and private subnet for the probe in each AZ&lt;/li&gt;
&lt;li&gt;A NAT gateway in each AZ&lt;/li&gt;
&lt;li&gt;An Internet Gateway &lt;/li&gt;
&lt;li&gt;The probes&lt;/li&gt;
&lt;li&gt;VPC peering for interconnecting the new region with the main one&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Security Measures
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Session Manager will be used to connect to the web server and the probes. Eliminating any possible attack surface. SSH is disabled by default&lt;/li&gt;
&lt;li&gt;There will be a Security Group (SG) per service.

&lt;ul&gt;
&lt;li&gt;The Web Server SG will allow connections from the NLB&lt;/li&gt;
&lt;li&gt;The NLB will allow connections from the internet&lt;/li&gt;
&lt;li&gt;The Database SG will allow connections coming from the Web Server SG and from the Probes SG&lt;/li&gt;
&lt;li&gt;The Probes SG will allow to send and receive ICMP traffic from everywhere (0.0.0.0) and traffic from the Web Server SG&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Approximate costs per month
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;8 EC2 t3.micro instances (On for 24h // On Demand)  = 8 x 8.32USD = 66.56 USD&lt;/li&gt;
&lt;li&gt;2 Internet Gateway = FREE&lt;/li&gt;
&lt;li&gt;6 NAT Gateways (1 GB of monthly traffic) = 6 x 35.09 USD = 210.54 USD&lt;/li&gt;
&lt;li&gt;VPC Peering between Spain and Germany - Each probe will generate about 6 MB per day = 180 MB per month x 6 probes ≈ 1GB of traffic = 0.04$ USD&lt;/li&gt;
&lt;li&gt;Network Load Balancer ≈ 20 USD&lt;/li&gt;
&lt;li&gt;Elastic IP = 3.65 USD per IP&lt;/li&gt;
&lt;li&gt;RDS Multi-AZ (db.t3.micro) = 77.13 USD &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Total: &lt;strong&gt;377.92 USD - Monthly invoice&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Estimated Carbon footprint&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;40 KgCO₂eq&lt;/strong&gt; (Between EC2 and RDS instances)&lt;/p&gt;




&lt;h2&gt;
  
  
  Second Iteration: Searching for savings
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/jZeObj5.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6cb68zpou6761689qf6b.png" alt="network5" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How could we save some money? &lt;/li&gt;
&lt;li&gt;What are the tradeoffs we must make to make this possible?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhnuhqio56whnsgqbdz7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhnuhqio56whnsgqbdz7.gif" alt="homer" width="640" height="488"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Let's start with the network:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvjyw8jbfvhi7w3oli566.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvjyw8jbfvhi7w3oli566.gif" alt="norman" width="640" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can eliminate the NAT Gateways that are not indispensable, drastically reducing costs. The NAT Gateway can be placed in one AZ, allowing access to the instances from other AZs. &lt;/p&gt;

&lt;p&gt;If this NAT gateway fails for any reason, no instance inside the private subnets can access the Internet until AWS redeploys it. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Because the NAT Gateway is an AWS self-managed service, if it fails, it will be redeployed, but it will take up to 15 minutes to create.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good approach would be to create an automated failover function (using lambda) that checks the health of the current NAT Gateway and updates the routes to a healthy one if that starts to fail. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/t5uxoFU.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuueskqxvjfi9xn7wpaq9.png" alt="network6" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I have kept two NAT Gateways in Spain to ensure high availability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I have left one in the German region because it is not critical.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If the NAT Fails, in this case, I will have to wait until it redeploys&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Let's continue with the DB!:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2ivqiwnda0jpapavot3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2ivqiwnda0jpapavot3.jpg" alt="fallout " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/Wv5mYTR.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4pdklvigziouuzsyu5q.png" alt="network7" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By removing the Multi-AZ approach, we will save more money at the end of the month. But what are our tradeoffs?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RDS Single-AZ does not have the RDS SLA: 99.95%&lt;/li&gt;
&lt;li&gt;Recoverable failures, such as failures with the DB instance. 

&lt;ul&gt;
&lt;li&gt;Are automatically handled within the same AZ, with RTO under 30 minutes (this can vary depending on the instance size).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Unrecoverable failures, such as the EBS volume. 

&lt;ul&gt;
&lt;li&gt;The RTO would be the time it takes to start up a new RDS instance and then apply all the changes since the last backup. &lt;/li&gt;
&lt;li&gt;This has to be manually triggered or automated via a lambda script&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Availability Zone failures require manual or scripted recovery via point-in-time restoration in another AZ.&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Let's end with the EC2:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.imgur.com/trgXsU3.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvfef52d8sgl6hj4k3oiz.png" alt="network8" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will be a paradigm change in our approach.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We have killed the Load balancer and the Web Server instance in the AZ-B. The elastic IP of the NLB has now been delegated to the Webserver&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What is the tradeoff of doing this?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS monitors the health of the hardware but does not keep track of the health of our application as the Load Balancer did. 

&lt;ul&gt;
&lt;li&gt;For this case, we should use Route53 health checks and lambda functions to detect failures in the app by automatically deleting the unhealthy instance and replicating it through the Autoscaling Group. &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;But there is one more thing...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fng8dj4d66gh6a748fo0a.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fng8dj4d66gh6a748fo0a.gif" alt="what if" width="480" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What if the web server automates the process by turning the probes on only when a user requests it through the web interface or at set time intervals to take measurements and then switches them off again afterward?&lt;/p&gt;

&lt;p&gt;We could reduce a lot of money with this automated scheduler...&lt;/p&gt;




&lt;h3&gt;
  
  
  Approximate costs per month
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Probes: 6 EC2 t3.micro instances (Working for 1 hour per day) = 6 VMs x 0.34 USD (30 hours in a month) = 2.04 USD&lt;/li&gt;
&lt;li&gt;Web Server: 1 EC2 t3.micro instance (Working for 24h per day) = 8.32 USD&lt;/li&gt;
&lt;li&gt;2 Internet Gateway = FREE&lt;/li&gt;
&lt;li&gt;3 NAT Gateways (2 GB of monthly traffic) = 105.42 USD&lt;/li&gt;
&lt;li&gt;VPC Peering between Spain and Germany - Each probe will generate about 6 MB per day = 180 MB per month x 6 probes = 1GB of traffic = 0.04$ USD&lt;/li&gt;
&lt;li&gt;Elastic IP = 3.65 USD per IP&lt;/li&gt;
&lt;li&gt;RDS Single-AZ (t3.micro) = 50.66 USD&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Total: &lt;strong&gt;170.13 USD - Monthly invoice&lt;/strong&gt; // &lt;strong&gt;2.22 times less&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Estimated Carbon footprint&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;8.991 KgCO₂eq&lt;/strong&gt; (Between EC2 and RDS instances) // &lt;strong&gt;4.45 times less&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Third Iteration: Hold my Beer
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwia9mq06ssjx13ucmeoo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwia9mq06ssjx13ucmeoo.png" alt="sbs" width="275" height="275"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Let's swap to ARM:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9xnrzav6utmedeozvehm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9xnrzav6utmedeozvehm.png" alt="ARM" width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By changing the EC2 instance type from x86 to ARM Graviton, we will reduce costs, increase electrical efficiency, and reduce the carbon footprint by about 40% compared to the x86 family.&lt;/p&gt;

&lt;p&gt;Therefore, the t3.micro and db.t3.micro have been swapped to the t4g.micro family.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: In some cases, the use of ARM architecture requires re-compilation of some workloads. Before migrating, make sure the whole application is compatible.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://i.imgur.com/Mueihu9.png" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fri2wc4io7q801px8wvsh.png" alt="network9" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  What have you done to the network?
&lt;/h3&gt;

&lt;p&gt;For the sake of saving more money, there is a way to achieve some extra savings by getting rid of the NAT Gateways, but at the cost of adding more overhead to the solution, using NAT Instances instead. &lt;/p&gt;

&lt;p&gt;We are moving from having a managed service to building it ourselves, and maybe this is not the best approach, but it is worth pointing out that this possibility exists.&lt;/p&gt;

&lt;p&gt;Advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cheaper price&lt;/li&gt;
&lt;li&gt;In combination with an AutoScaling group and Route53, we can create automatic failover, building a resilient system.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Disadvantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The maximum throughput is 5Gbps, so we should monitor this parameter to ensure that it does not hit the limit and drop traffic. In comparison, NAT gateways can go up to 100Gbps of throughput.&lt;/li&gt;
&lt;li&gt;This design requires an extra Elastic IP per NAT instance.&lt;/li&gt;
&lt;li&gt;Manual management of the instance; it does not scale by default&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/work-with-nat-instances.html" rel="noopener noreferrer"&gt;AWS Tutorial&lt;/a&gt; on how to configure it.&lt;/p&gt;

&lt;p&gt;In our case, if the NAT instance fails either in Spain or Germany, the downtime will be the time to redeploy it. This is the tradeoff I have chosen.&lt;/p&gt;




&lt;h3&gt;
  
  
  Approximate costs per month
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Probes: 6 EC2 t4g.micro instances (Working for 1 hour per day) = 6 VMs x 0.28 USD (30 hours in a month) = 1.68 USD&lt;/li&gt;
&lt;li&gt;Web Server: 1 EC2 t4g.micro instance (Working for 24h per day) =  6.72 USD&lt;/li&gt;
&lt;li&gt;Nat Instances: 2 EC2 t4g.micro (Working for 24 hours per day) = 13.44 USD&lt;/li&gt;
&lt;li&gt;2 Internet Gateway = FREE&lt;/li&gt;
&lt;li&gt;VPC Peering between Spain and Germany - Each probe will generate about 6 MB per day = 180 MB per month x 6 probes = 1GB of traffic = 0.04$ USD&lt;/li&gt;
&lt;li&gt;Elastic IP = 3.65 USD per IP x 3 (2 NAT Instances + Web Server) = 10.95 USD&lt;/li&gt;
&lt;li&gt;RDS Single-AZ (db.t4g.micro) = 49.20 USD&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Total: 82.03 USD - Monthly invoice&lt;/strong&gt; // &lt;strong&gt;4.6 times less&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Estimated Carbon footprint&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.293 KgCO₂eq&lt;/strong&gt; (Between EC2 and RDS instances) // &lt;strong&gt;7.56 times less&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;This is the most optimized architecture regarding resources, being the most efficient and cheapest. It was not easy to visualize, but everything started to become smooth when I started drawing the problem with paper and a pen. &lt;/p&gt;

&lt;p&gt;This is my approach to this problem, but there are plenty of solutions. What would you have done differently? I read you in the comments.&lt;/p&gt;

&lt;p&gt;PS: Should AWS promote this type of exercise for the community and hold architecture contests?&lt;/p&gt;

</description>
      <category>aws</category>
      <category>finops</category>
      <category>architecture</category>
      <category>networking</category>
    </item>
    <item>
      <title>¿Qué es MACsec, y por qué es importante?</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Thu, 16 Jan 2025 16:47:40 +0000</pubDate>
      <link>https://dev.to/aws-espanol/que-es-macsec-y-por-que-es-importante-45ak</link>
      <guid>https://dev.to/aws-espanol/que-es-macsec-y-por-que-es-importante-45ak</guid>
      <description>&lt;p&gt;El mes pasado aprobé la certificación de AWS Advanced Networking. Y sí, hay que llevar vaselina, no porque los temas sean muy amplios, si no por la profundidad de lo que se te pregunta.&lt;/p&gt;

&lt;p&gt;Uno de los temas a evaluar, es MACsec en distintos escenarios. Pero, ¿qué es MACsec?&lt;/p&gt;

&lt;p&gt;Antes de hablar sobre ello, primero deberíamos entender qué es el servicio Direct Connect, también conocido como DX. Pero antes, veamos un par de ejemplos 👀.&lt;/p&gt;




&lt;p&gt;¿A cuántos os ha pasado esto en el pasado? 😂&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9awlg4xrsqrx2k5a6v9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9awlg4xrsqrx2k5a6v9t.png" alt="Fun Image" width="797" height="301"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Imagina que eres el arquitecto de redes responsable de la noche de ventas del Black Friday para una empresa online con muchos 0s en ventas. &lt;/p&gt;

&lt;p&gt;Tienes cargas de trabajo repartidas entre tu infraestructura de on-premises y AWS. &lt;/p&gt;

&lt;p&gt;Tu aplicación depende de conectividad VPN. &lt;/p&gt;

&lt;p&gt;Las rebajas empiezan, pero algunos sistemas empiezan a fallar por timeouts; poco a poco, nada funciona, y los clientes no pueden navegar ni comprar...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjnxbl51w5i4b0q10l6x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjnxbl51w5i4b0q10l6x.jpg" alt="Fun Image 2" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora imagínate la cantidad de pasta que la empresa va a perder por un segundo si los sistemas fallan en medio de una campaña grande de ventas. Estamos hablando de millones de euros o dólares en beneficios... &lt;/p&gt;

&lt;p&gt;Tu jefe tendrá este temazo en la cabeza, para tu último 1&amp;amp;1.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/fPQpF6kIAW4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;El servicio de Direct Connect crea conexiones de red dedicadas entre la infraestructura on-premises de los clientes en los centros de datos y AWS, evitando el uso de la internet pública.&lt;/p&gt;

&lt;p&gt;Este servicio nació en 2011 para solucionar la falta de control y transparencia en las cargas de trabajo híbridas que surgía al usar VPN a través del internet público.&lt;/p&gt;

&lt;p&gt;Imagina que vas por una autopista privada donde tu información se mueve sin atascos, a la velocidad que tu elijas. Técnicamente hablando, te estarías conectando directamente hacia AWS mediante fibra óptica. Ya no dependes del internet público, y además cuentas con un SLA.&lt;/p&gt;

&lt;p&gt;He preparado una pequeña comparación con los pros y contras de cada servicio.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;VPN Por internet&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldwj61li5cwev1osa0zm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldwj61li5cwev1osa0zm.png" alt="VPN" width="566" height="212"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;En un escenario híbrido en la nube, el VPN es la forma más rápida de lograr conectarnos, pero tiene algunos inconvenientes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La conexión está Cifrada, pero no es privada; fluye a través de internet&lt;/li&gt;
&lt;li&gt;No hay SLAs de extremo a extremo&lt;/li&gt;
&lt;li&gt;Riesgo de DDoS&lt;/li&gt;
&lt;li&gt;Latencia impredecible:  No hay control sobre el enrutamiento; esto impacta la latencia&lt;/li&gt;
&lt;li&gt;Ancho de banda limitado: hasta 1.25 Gbps por flow (Puede escalar con el uso de un transit gateway y ECMP)&lt;/li&gt;
&lt;li&gt;Barato de configurar, pero caro de usar. El tráfico de descarga se encarece mucho después de cierto volumen de datos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqfhjruih0mmkza0xhmo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqfhjruih0mmkza0xhmo.png" alt="Separator" width="102" height="32"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Direct Connect&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdkcxjla1yjmrw1nm198.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdkcxjla1yjmrw1nm198.png" alt="AWS Direct Connect" width="698" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Esta solución no es la más rápida ni la más barata de desplegar; es más complicada de diseñar, pero ofrece algunas ventajas como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La conexión está libre de ataques DDoS, está fuera del internet público&lt;/li&gt;
&lt;li&gt;La conexión es privada, pero no está cifrada por defecto (posibilidad de cifrado con MACsec 👀 o IPsec)&lt;/li&gt;
&lt;li&gt;Latencia predecible y estable&lt;/li&gt;
&lt;li&gt;Alto ancho de banda – desde 50 Mbps hasta 400 Gbps
Puedes usar LACP para crear un LAG y agrupar enlaces juntos trabajando como uno solo (hasta 4 veces 10GE y 2 veces 100GE)&lt;/li&gt;
&lt;li&gt;Solución rentable después de cierto volumen de datos descargados ya que el tráfico es más barato&lt;/li&gt;
&lt;li&gt;Se pueden lograr arquitecturas resilientes avanzadas (con un diseño adecuado)&lt;/li&gt;
&lt;li&gt;Conexión respaldada por un SLA de nivel empresarial&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;¿Qué elegir: VPN o Direct Connect?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Esto dependerá de las necesidades de la empresa; normalmente el SLA, la latencia, el ancho de banda y el tiempo de implementación son algunos de los factores que te pueden ayudar a tomar la decisión final.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/architecture/new-whitepaper-selecting-designing-your-hybrid-connectivity-model/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmwr3kprl07kx6qzm3ju.jpg" alt="Direct Connect vs VPN" width="604" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La resiliencia y el SLA son factores críticos en nuestro ejemplo. Así que está clarísimo por qué tendríamos que haber tenido este Direct Connect en lugar de depender del VPN.&lt;/p&gt;




&lt;p&gt;El servicio de Direct Connect viene en dos versiones: Hosteada o Dedicada.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Conexiones Hosteadas: es una VLAN proporcionada por un partner de conectividad de AWS. El partner al tener los puertos contra AWS levantados, vende la "capacidad" en base a las necesidades del cliente. Estas VLANs empiezan desde 50Mbps hasta 25 Gbps. Permite mucha más flexibilidad que una conexión dedicada en cuanto a anchos de banda&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conexiones dedicadas: es un puerto físico entero para el cliente contra AWS. Requiere que el cliente esté físicamente en un centro de datos donde AWS ofrezca el servicio de  Direct Connect. Los anchos de banda disponibles son 1, 10, 100 y 400 GE.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;center&gt;Ok, ¿pero qué coj**** es MACsec?&lt;/center&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2uiperq4hv60sdodx82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2uiperq4hv60sdodx82.png" alt="Flork meme" width="400" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MACsec (802.1AE) significa &lt;strong&gt;Media Access Control Security.&lt;/strong&gt;&lt;br&gt;
Es un cifrado punto a punto de Capa 2, que añade una capa de seguridad extra en los Direct Connects Dedicados (no hosteados).&lt;/p&gt;

&lt;p&gt;MACsec está disponible en algunas &lt;a href="https://aws.amazon.com/directconnect/locations/" rel="noopener noreferrer"&gt;localizaciones&lt;/a&gt;, pero no todas están soportados. Este cifrado está disponible únicamente para puertos de 10, 100 y 400GE.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;MACsec da:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Confidencialidad: cifrando la información que se envía (el payload se cifra).&lt;/li&gt;
&lt;li&gt;Integridad de los datos: añadiendo mecanismos adicionales para asegurar que los datos no puedan ser modificados durante el tránsito sin ser detectados.&lt;/li&gt;
&lt;li&gt;Autenticidad del origen de los datos: ambas partes pueden ver que los frames han sido enviados por el otro dispositivo y verificarlo.&lt;/li&gt;
&lt;li&gt;Replay protection: los atacantes no pueden capturar y reenviar frames antiguos para engañar al sistema.&lt;/li&gt;
&lt;li&gt;Super alta velocidad: está diseñado para funcionar a lo que de el puerto&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Conceptos de MACsec:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;El MACsec Key Agreement Protocol (MKA) gestiona el descubrimiento de sistemas, la autenticación y la generación de claves de cifrado&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ambos routers deben estar asociados con una Connectivity Association Key (CAK) y un Connection Key Name (CKN). La CAK es una clave secreta compartida, mientras que el CKN es un identificador para la CAK. La misma CAK/CKN debe configurarse en ambos dispositivos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Secure Association Key (SAK): Esta es la clave generada por el MKA utilizando el par CKN/CAK proporcionado. La SAK generada cifra el payload del frame.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;Secure Channel: Cada router crea un Canal Seguro para enviar tráfico al otro participante. Dado que son unidireccionales, un canal se usa para enviar y el otro para recibir. Los Canales Seguros se asignan un Identificador, el Secure Channel Identifier (SCI).&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;¿Cómo MACsec encapsula un frame?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;MACsec modifica los Ethernet frames, insertando un Security Tag (SecTAG) y un Integrity Check Value (ICV). El Ethertype y el Payload se encapsulan y cifran mediante la SAK.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybuqlptifioy7m8k60ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybuqlptifioy7m8k60ip.png" alt="macsec" width="800" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El SecTAG contiene información sobre el Número de Paquete (Packet Number), el Secure Channel Identifier (SCI) utilizado para enviar tráfico entre los dispositivos, y otros flags de control.&lt;/p&gt;

&lt;p&gt;El ICV permite al dispositivo receptor verificar la integridad y autenticidad del frame. Si, por alguna razón, se recibe un valor diferente al esperado, el frame será descartado.&lt;/p&gt;

&lt;p&gt;La información (Payload) no puede ser descifrada sin la SAK, y con todos estos mecanismos, el intercambio de información es seguro.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;¿Cómo funciona?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://info.support.huawei.com/info-finder/encyclopedia/en/MACsec.html" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nokkubudygtpl4nwe4k.png" alt="MACsec process" width="394" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MACsec realiza tres fases :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Negociación de sesión:&lt;/strong&gt; Ambos routers usarán MKA y generarán la misma SAK para cifrar la información. Huawei tiene una excelente guía en cómo se negocia la sesión en este paso: &lt;a href="https://support.huawei.com/enterprise/en/doc/EDOC1100305698/fad79914/understanding-macsec" rel="noopener noreferrer"&gt;MACsec Key System&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Comunicación segura&lt;/strong&gt;: El emisor usa la SAK para cifrar los datos, y el receptor la usa para descifrarlos. Si el frame ha sido alterado, o el número del paquete es repetido o incorrecto, el frame será descartado.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mantenimiento de la sesión&lt;/strong&gt;: El protocolo MKA define un temporizador de sesión (session keepalive). Si, después del límite, no hay comunicación entre los dispositivos, la sesión se declarará insegura y el proceso de negociación comenzará de nuevo. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;¿Cómo se configura?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tan fácil como seguir la guía de &lt;a href="https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-macsec-dedicated.html" rel="noopener noreferrer"&gt;5 pasos&lt;/a&gt; de AWS.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;¿A quién le puede interesar esto?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Las empresas que manejan información sensible o confidencial requieren cifrado punto a punto para evitar la interceptación de datos y asegurar la integridad de la información durante su transmisión.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;¿Cuales son los pros comparado con VPN IPsec?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debido a que la información está cifrada en Capa 2, MACsec escala desde megabits hasta terabits por segundo. Con MACsec, podemos alcanzar velocidades cercanas al ancho de banda total del puerto.&lt;/li&gt;
&lt;li&gt;MACsec es más fácil de configurar y gestionar que un VPN IPsec.&lt;/li&gt;
&lt;li&gt;MACsec funciona en la Capa 2, siendo agnóstico a los protocolos de capas superiores. Las aplicaciones y configuraciones de red no necesitan estar al tanto de MACsec.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;¿Y las contras?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;MACsec requiere Direct Connect Dedicado, que tiene costos iniciales más altos que usar una VPN por internet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dado que MACsec solo está disponible en DX Dedicados, debes de encontrarte en un PoP (Punto de Presencia) de AWS para el servicio de Direct Connect. También puedes depender de un partner de conectividad capaz de extender los frames MACsec desde tu PoP hasta AWS, como &lt;a href="https://www.de-cix.net/en/services/macsec" rel="noopener noreferrer"&gt;DE-CIX&lt;/a&gt;. Esto limita la flexibilidad en comparación con IPsec, que funciona sobre cualquier conexión a internet. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Aunque MACsec sea un estándar, no todos los dispositivos de red lo soportan. Esto puede incluir en costes para adquirir nuevos equipos que sean compatibles.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MACsec es un cifrado punto a punto que solo protege el enlace entre dos dispositivos. Si tus datos viajan más allá del Direct Connect, MACsec no puede asegurarlos.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;En conclusión, &lt;strong&gt;MACsec proporciona la seguridad que le faltaba al servicio de Direct Connect,&lt;/strong&gt; &lt;strong&gt;cifrando en Capa 2&lt;/strong&gt; y &lt;strong&gt;garantizando la integridad y privacidad de los datos&lt;/strong&gt; &lt;strong&gt;a través de conexiones dedicadas a toda velocidad.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Es la alternativa perfecta&lt;/strong&gt; &lt;strong&gt;al VPN para conexiones de alto ancho de banda.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ahora que sabes cómo asegurar tus cargas de trabajo híbridas, evita hacer esto en tu aplicación 🌚&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1psw83cxbva288qmsad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1psw83cxbva288qmsad.png" alt="Meme" width="800" height="815"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si te gustó este artículo, dale ❤️ y asegúrate de seguirme en dev.to, ¡nos vemos en mi próxima ida de olla!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>networking</category>
      <category>directconnect</category>
      <category>spanish</category>
    </item>
    <item>
      <title>What is MACsec, and why is it important?</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Thu, 16 Jan 2025 16:47:38 +0000</pubDate>
      <link>https://dev.to/aws-builders/what-is-macsec-and-why-is-it-important-k73</link>
      <guid>https://dev.to/aws-builders/what-is-macsec-and-why-is-it-important-k73</guid>
      <description>&lt;p&gt;Last month, I cleared up the AWS Advanced Networking certification. &lt;br&gt;
It was a challenging exam, where the topics were not too broad but too deep.&lt;/p&gt;

&lt;p&gt;Diving through the Direct Connect service, you will be asked about MACsec in different scenarios. But what is MACsec? &lt;/p&gt;

&lt;p&gt;Before discussing it, we should understand the Direct Connect service, aka the DX service. But first, let's go through a couple of examples 👀&lt;/p&gt;



&lt;p&gt;How many of you have experienced this in the past? 😂&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9awlg4xrsqrx2k5a6v9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9awlg4xrsqrx2k5a6v9t.png" alt="Fun Image" width="797" height="301"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Imagine you are the networking architect responsible for Black Friday's sales night of an important e-commerce. &lt;/p&gt;

&lt;p&gt;You have workloads between your on-premises and AWS, and your app relies on VPN Connectivity. The sales are starting, and some systems are failing because of timeouts; slowly, nothing is working, and the customers can't navigate through the website...  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjnxbl51w5i4b0q10l6x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjnxbl51w5i4b0q10l6x.jpg" alt="Fun Image 2" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagine for one second the amount of money big e-commerce companies can lose if their systems fail during sales time. We are speaking about millions of dollars/euros of lost revenue, and your boss will have this banger in the head for your last 1&amp;amp;1.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/fPQpF6kIAW4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;The Direct Connect service creates dedicated network connections between customers on-premises in a Data Center and AWS, outside the public internet. &lt;/p&gt;

&lt;p&gt;It was born in 2011 to end the lack of control and transparency of hybrid workloads caused by using VPN through the public internet. &lt;/p&gt;

&lt;p&gt;Imagine having a private highway where your information flows and where there are no traffic jams. Technically speaking, you are directly connected from your router to the edge router of AWS using fiber. You no longer rely on the public internet to connect there, and you have SLA. &lt;/p&gt;

&lt;p&gt;I have crafted a small comparison of the pros and cons of each service. &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;VPN Over the Internet&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldwj61li5cwev1osa0zm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldwj61li5cwev1osa0zm.png" alt="VPN" width="566" height="212"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In a hybrid-cloud scenario, VPN is the fastest way to achieve the goal, but there are some downsides if you have to rely on the solution:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;      The connection is Encrypted, but it is not private; it flows through the internet &lt;/li&gt;
&lt;li&gt;No end-to-end SLAs&lt;/li&gt;
&lt;li&gt;DDoS risk&lt;/li&gt;
&lt;li&gt;  Unpredictable latency - There is no control over the routing; this impacts the latency&lt;/li&gt;
&lt;li&gt;  Limited throughput – up to 1.25 Gbps per flow - (It can scale with the use of a transit gateway and ECMP) &lt;/li&gt;
&lt;li&gt;  Low setup costs but high egress traffic costs after a certain amount of data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqfhjruih0mmkza0xhmo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqfhjruih0mmkza0xhmo.png" alt="Separator" width="102" height="32"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Direct Connect&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdkcxjla1yjmrw1nm198.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdkcxjla1yjmrw1nm198.png" alt="AWS Direct Connect" width="698" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This solution is not the fastest/cheapest to deploy; it is more complicated to design, but it provides some advantages like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DDoS free - the connection is outside of the public internet&lt;/li&gt;
&lt;li&gt;Private Connection but not encrypted by default (possibility of MACsec 👀 or IPsec encryption)&lt;/li&gt;
&lt;li&gt;  Predictable and Stable latency&lt;/li&gt;
&lt;li&gt;  High throughput – from 50Mbps up to 400Gbps&lt;/li&gt;
&lt;li&gt;You can use LACP to create a LAG and bundle links together working as one (up to 4 times 10GE and 2 times 100GE)&lt;/li&gt;
&lt;li&gt;  Cost-effective solution after a certain amount of downloaded/egress data&lt;/li&gt;
&lt;li&gt;      Advanced resilient architectures can be achieved  (with a proper design)&lt;/li&gt;
&lt;li&gt;  Connection backed with an enterprise-grade SLA&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;What to choose: Direct Connect or VPN?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This will depend on the company's needs; SLA, latency, bandwidth, and time to deploy are some factors that will help you make the final decision. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/architecture/new-whitepaper-selecting-designing-your-hybrid-connectivity-model/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmwr3kprl07kx6qzm3ju.jpg" alt="Direct Connect vs VPN" width="604" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Resiliency and SLA are critical factors in our example. So, it's crystal clear why we should have had this type of setup rather than relying on a connection that doesn't have SLA, and we can't control.&lt;/p&gt;




&lt;p&gt;The Direct Connect service comes in two flavors: Hosted or Dedicated. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hosted Connections&lt;/strong&gt;: VLANs provided over an AWS Direct Connect partner. The partner owns and manages the physical connection. The customer can create VLANs that start at 50 Mbps and continue to 25 Gbps.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated Connection&lt;/strong&gt;: physical port provisioned directly to a customer. It requires setting up a cross-connect at an AWS Direct Connect location (extra charges) per port. The available bandwidths are 1, 10, 100, and 400 GE.&lt;/li&gt;
&lt;/ul&gt;




&lt;center&gt;Okay, but what is MACsec?&lt;/center&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2uiperq4hv60sdodx82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2uiperq4hv60sdodx82.png" alt="Flork meme" width="400" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MACsec (802.1AE) stands for &lt;strong&gt;Media Access Control Security&lt;/strong&gt;. &lt;br&gt;
It is a point-to-point Layer 2 encryption, which adds an extra security layer at Dedicated Direct Connects.&lt;/p&gt;

&lt;p&gt;MACsec is available at some &lt;a href="https://aws.amazon.com/directconnect/locations/" rel="noopener noreferrer"&gt;locations&lt;/a&gt;, but not all of them are supported. &lt;br&gt;
This encryption is available for ports of 10, 100, and 400GE.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;MACsec provides:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Confidentiality: by encrypting the information that is sent (the payload is encrypted).&lt;/li&gt;
&lt;li&gt;Data Integrity: by adding additional fields to ensure that data cannot be modified in transit without being detected.&lt;/li&gt;
&lt;li&gt;Data Origin authenticity: both parties can see that frames have been sent by the other trusted peer in a MACsec relationship.&lt;/li&gt;
&lt;li&gt;Replay protection: attackers cannot capture and resend old frames to trick the system&lt;/li&gt;
&lt;li&gt;Super high-speed encrypted throughput: it is designed to work at near-line-rate speeds&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;MACsec Concepts:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The MACsec Key Agreement Protocol (MKA) manages peer discovery, authentication, and encryption key generation.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Both routers must be associated with a Connectivity Association Key (CAK) and a Connection Key Name (CKN). The CAK is a shared secret key, while the CKN is an identifier for the CAK. The same CAK/CKN must be configured on both devices. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Secure Association Key (SAK): This is the key generated by the MKA using the CKN/CAK pair provided. The generated SAK encrypts the frame payload. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;Secure Channel: Each router creates a Secure Channel to send traffic to the other participant. Because they are unidirectional, one channel is used to send and the other to receive. The Secure Channels are assigned an Identifier, the Secure Channel Identifier (SCI).&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;MACsec encapsulation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;MACsec modifies the ethernet frames by inserting a Security Tag (SecTAG) and an Integrity Check Value (ICV). The Ethertype and the Payload are encapsulated and encrypted by the SAK.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybuqlptifioy7m8k60ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybuqlptifioy7m8k60ip.png" alt="macsec" width="800" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The SecTAG contains information about the Packet Number (PN), the Secure Channel Identifier (SCI) used to send traffic between the devices, and other control flags.&lt;/p&gt;

&lt;p&gt;The ICV allows the receiving device to verify the integrity and authenticity of the frame. If, for any reason, a different value than the expected is received, the frame will be dropped. &lt;/p&gt;

&lt;p&gt;The information (Payload) can not be decrypted without the SAK, and with all these mechanisms, the exchange of information is secure. &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;How does it work?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://info.support.huawei.com/info-finder/encyclopedia/en/MACsec.html" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nokkubudygtpl4nwe4k.png" alt="MACsec process" width="394" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The MACsec interaction process consists of three phases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Session Negotiation&lt;/strong&gt;: Both routers will use MKA to authenticate peers and generate the same SAK to encrypt the information. For a detailed view of this step, Huawei has a great guide: &lt;a href="https://support.huawei.com/enterprise/en/doc/EDOC1100305698/fad79914/understanding-macsec" rel="noopener noreferrer"&gt;MACsec Key System&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Secure Communication&lt;/strong&gt;: The sender uses the SAK to encrypt the data, and the receiver uses it to decrypt it. If the frame has been tampered, or the packet number is repeated or incorrect, the frame will be dropped.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Session keepalive&lt;/strong&gt;: The MKA protocol defines a session keepalive timer. If, after a time, there is no communication between the devices, the session will be declared as insecure, and the negotiation process kick again. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;How is the setup?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It´s as easy as following the &lt;a href="https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-macsec-dedicated.html" rel="noopener noreferrer"&gt;5-step&lt;/a&gt; guide from AWS.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Who is the target?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Companies that handle sensitive or confidential information require point-to-point encryption to prevent data snooping and ensure the integrity of the information during transmission.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What are the pros compared to an IPsec VPN?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Because the information is encrypted at Layer 2, MACsec scales from megabits to terabits per second. With MACsec, we can reach near-line-rate speeds.&lt;/li&gt;
&lt;li&gt;The MACsec is easier to set up and manage than IPsec VPN.&lt;/li&gt;
&lt;li&gt;MACsec works at Layer 2, being agnostic to higher-layer protocols. Applications and networking configurations don´t need to be aware of MACsec.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What are the cons?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;MACsec requires Dedicated Direct Connect, which has upfront higher costs than using a standard VPN over the internet. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Since MACsec is only supported on Dedicated DX, you must colocate in an AWS DX PoP (Point of Presence) or rely on a connectivity partner capable of extending MACsec frames to AWS locations like &lt;a href="https://www.de-cix.net/en/services/macsec" rel="noopener noreferrer"&gt;DE-CIX&lt;/a&gt;. This limits flexibility compared to IPsec, which works over any internet connection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;While MACsec is a standard, not all networking hardware supports it. This may require upgrades to compatible gear to support this technology.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MACsec is a point-to-point encryption that only protects the link between two devices. If your data travels beyond Direct Connect, MACsec can’t secure it.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;In conclusion, &lt;strong&gt;MACsec provides a powerful security solution for AWS Direct Connect&lt;/strong&gt;, offering &lt;strong&gt;Layer 2 encryption&lt;/strong&gt; that ensures data integrity and privacy over dedicated connections at near-line-rate speeds.  It is the &lt;strong&gt;perfect alternative to IPsec VPNs for high throughput connections&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Now that you know how to secure your hybrid workloads, avoid doing this in your application 🌚 &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1psw83cxbva288qmsad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1psw83cxbva288qmsad.png" alt="Meme" width="800" height="815"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you liked this article, give it some ❤️ and make sure to follow me on dev.to, see you in the next networking article!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>networking</category>
      <category>security</category>
      <category>directconnect</category>
    </item>
    <item>
      <title>Optimize your IPv4 workloads in AWS and save money on the way!</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Thu, 01 Feb 2024 19:23:25 +0000</pubDate>
      <link>https://dev.to/aws-builders/optimize-your-ipv4-workloads-in-aws-and-save-money-on-the-way-26pm</link>
      <guid>https://dev.to/aws-builders/optimize-your-ipv4-workloads-in-aws-and-save-money-on-the-way-26pm</guid>
      <description>&lt;center&gt;
Cover image by &lt;a href="https://unsplash.com/@sanderweeteling?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Sander Weeteling&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/teal-bookeh-lights-KABfjuSOx74?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;
&lt;/center&gt;




&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kxzz6korx3xxg0xgfs5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kxzz6korx3xxg0xgfs5.png" alt="aws logo" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS &lt;a href="https://aws.amazon.com/es/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/" rel="noopener noreferrer"&gt;announced in July 2023&lt;/a&gt; that it would charge all Public IPv4 addresses beginning February 1, 2024.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Until now, AWS only charged Public IPv4 addresses when they were unassigned, and some people think it's terrible that AWS is trying to gain more money ... &lt;/p&gt;

&lt;p&gt;But other people like us think that's not a big deal and is an excellent opportunity to save IPv4 addresses. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We have a big problem with IPv4 Addresses&lt;/strong&gt;; when DARPA (Defense Advanced Research Projects Agency) wrote the protocol in 1981, nobody thought that 4.294.967.296 IPs would be exhausted on the feature.&lt;/p&gt;

&lt;p&gt;At that time, personal computers were rare, the Web didn't exist, and nobody could imagine the idea of smartphones. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In 2011&lt;/strong&gt;, &lt;strong&gt;IANA&lt;/strong&gt; (Internet Assigned Numbers Authority) &lt;strong&gt;assigned the last IPv4 address blocks&lt;/strong&gt;. If you need an IPv4 address, you will buy it from anyone with an IPv4 address without using it, which creates a lot of problems for any company that needs an IPv4.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At the end of 1995&lt;/strong&gt;, the Internet Engineering Task Force &lt;strong&gt;(IETF) started to write a new protocol (IPv6)&lt;/strong&gt; because they knew at that moment that IPv4 addresses would be exhausted in a few years. Internet was in early adoption (Few people use it).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The adoption of IPv6 is too slow.&lt;/strong&gt; Many Telecommunications Companies use IPv6, and we, as users of them, use IPv6. Still, &lt;strong&gt;many companies that publish services on the Internet don't use it because it is a hard change to implement quickly&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That's the reason for this change. &lt;strong&gt;We need to use fewer IPv4 addresses; if AWS doesn't charge, we will continue using many IPv4 addresses&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And the big questions that you may be asking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How many IPv4 addresses are we using on AWS? &lt;/li&gt;
&lt;li&gt;How much will AWS charge me? &lt;/li&gt;
&lt;li&gt;How can we save IPv4 easily without using IPv6?&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How to list the IPv4 Space in use
&lt;/h2&gt;

&lt;p&gt;Some time ago, &lt;strong&gt;AWS released a tool&lt;/strong&gt; for &lt;strong&gt;listing, analyzing, and auditing the public IPv4 space&lt;/strong&gt; being &lt;strong&gt;used&lt;/strong&gt;. This tool is called &lt;a href="https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html" rel="noopener noreferrer"&gt;&lt;strong&gt;Amazon VPC IP Address Management&lt;/strong&gt;&lt;/a&gt; (IPAM).&lt;/p&gt;

&lt;p&gt;Before deepening dive into this topic, &lt;strong&gt;we must differentiate four types of public IPv4 addresses in AWS&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses" rel="noopener noreferrer"&gt;EC2 public IP addresses&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;: &lt;br&gt;
Public IPv4 addresses are taken from an Amazon pool and are only associated with the EC2 instances. When stopping, hibernating, or terminating the instance, the IP gets released back to the pool, and you cannot reuse it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#ip-addressing-eips" rel="noopener noreferrer"&gt;Elastic IP addresses&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;: &lt;br&gt;
Public IPv4 addresses that can be allocated to your account. They can be associated and disassociated from instances as required. They are allocated until you choose to release them (from the account &amp;amp; not the service)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#pricing" rel="noopener noreferrer"&gt;Service-managed public IPv4 addresses&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
AWS internet-faced-managed services deployed in your account:&lt;br&gt;
Elastic Load Balancers, NAT Gateways, AWS Global Accelerator, AWS Site-to-Site VPN...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;BYOIP addresses&lt;/strong&gt;&lt;/em&gt; &lt;br&gt;
AWS will not charge you for bringing your own IP Space&lt;br&gt;
These IPs can be used in pools to assign to your EC2 instances or NAT Gateways.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Having this in our mind, it is time to use the &lt;a href="https://docs.aws.amazon.com/vpc/latest/ipam/view-public-ip-insights.html" rel="noopener noreferrer"&gt;&lt;em&gt;&lt;strong&gt;Amazon VPC IPAM to check the public IPv4&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; space that is in use and its resources. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log in to your AWS account.&lt;/li&gt;
&lt;li&gt;Search for &lt;strong&gt;Amazon VPC IP Address Manager&lt;/strong&gt; in the search bar.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsb1yuwfbca7pbbfo4th1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsb1yuwfbca7pbbfo4th1.png" alt="Picture 1" width="800" height="216"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8wkvr17y906j3odokm9p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8wkvr17y906j3odokm9p.png" alt="Picture 2" width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on &lt;strong&gt;“Create IPAM”&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select the &lt;strong&gt;marked options&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feyj0bzdnlkz4s2exee63.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feyj0bzdnlkz4s2exee63.png" alt="Picture 3" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Free Tier will perform the checks on your organization for public IPv4 usage&lt;/li&gt;
&lt;li&gt;The Advanced Tier will check on your organization for both public and private IP addresses, at a cost&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyz1mftdxpc359yn81kvs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyz1mftdxpc359yn81kvs.png" alt="Picture 4" width="800" height="815"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can add a name tag or a description to it - optional&lt;/li&gt;
&lt;li&gt;Click on “&lt;strong&gt;Add All Regions&lt;/strong&gt;” to perform a report on our global infrastructure&lt;/li&gt;
&lt;li&gt;Click on &lt;strong&gt;“Create IPAM.”&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After some minutes, you will be able to see a report with all the IPv4s your organization is using under the &lt;strong&gt;Public IP Insights menu&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhtpa9wd5tasn1yi3hbci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhtpa9wd5tasn1yi3hbci.png" alt="Picture 5" width="800" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For each IPv4 in use, AWS will bill &lt;strong&gt;$0.005&lt;/strong&gt; per hour; this means 0.005 x 8760 hours in a year = &lt;strong&gt;$43.8 per year for each IPv4&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you have 10 IPs in use, you will pay &lt;strong&gt;$438&lt;/strong&gt; for this IP space.&lt;br&gt;
If you have 100… it will sum to &lt;strong&gt;$4380&lt;/strong&gt; &lt;br&gt;
If you have 1000… well... &lt;strong&gt;add another 0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjp189gkooobfa3mf1nzr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjp189gkooobfa3mf1nzr.png" alt="meme" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;Your face before and after using the IPAM tool.&lt;/center&gt;




&lt;h2&gt;
  
  
  How can I reduce the IPv4 usage?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  To use a Load Balancer
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5g0ol72ig99r9wxr0w4q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5g0ol72ig99r9wxr0w4q.jpg" alt="meme2" width="598" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using a Load Balancer to expose our application is an AWS Best practice and reduces the number of Public IPs; instead of using one IP for every EC2, we will use one IP per subnet where the ALB is deployed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9lbtnz8op4uktw4f4934.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9lbtnz8op4uktw4f4934.png" alt="picture 6" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You improve your availability because the ALB is working on a high availability setup.&lt;/li&gt;
&lt;li&gt;You strengthen your scalability using Auto Scaling groups as a target of Load Balancer.&lt;/li&gt;
&lt;li&gt;You can offload SSL using certificates on Load Balancer.&lt;/li&gt;
&lt;li&gt;Your security can be better using WAF rules.&lt;/li&gt;
&lt;li&gt;You can use HTTP or HTTPS ports using ALB or any TCP ports using NLB.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost (Not too much, but add cost to your solution)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  To use a Load Balancer doing a reverse proxy
&lt;/h3&gt;

&lt;p&gt;Using a Load Balancer to expose our application is an AWS Best practice and reduces the number of Public IPs; instead of using one IP for every EC2, we will use one IP per subnet where the ALB is deployed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2zx5424d56wfyebtviv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2zx5424d56wfyebtviv.png" alt="picture 7" width="600" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What happens if we deploy a lot of Load Balancers with few servers? That is a problem because we are wasting a lot of IPs (and Load Balancers)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Since 2017, AWS has supported&lt;/strong&gt; using an &lt;a href="https://aws.amazon.com/es/blogs/aws/new-host-based-routing-support-for-aws-application-load-balancers/" rel="noopener noreferrer"&gt;Application Load Balancer like a reverse proxy&lt;/a&gt;. This is a remarkable improvement because we can use one load balancer for multiple target groups depending on the host header with your requested URL.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftoz1q5e5jd6zxzbk8trg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftoz1q5e5jd6zxzbk8trg.png" alt="picture 8" width="800" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this feature, you can use only a load balancer for your entire application.&lt;/p&gt;

&lt;p&gt;But what happens with the encryption? We need to use multiple certificates, one per URL.&lt;br&gt;
You could use the same DNS zone and a wildcard. Still, it is not a very good idea, and security teams don't like wildcard certificates (Exist some security issues with wildcard certificates …)&lt;br&gt;
But we can use another cool &lt;a href="https://aws.amazon.com/es/blogs/aws/new-application-load-balancer-sni/" rel="noopener noreferrer"&gt;ALB feature like SNI&lt;/a&gt; (Server Name Indicator) that permits using multiple certificates for different DNS names in the same ALB.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce the number of Public IPs used by our applications&lt;/li&gt;
&lt;li&gt;We Reduce the number of ALBs used by our applications.&lt;/li&gt;
&lt;li&gt;We are saving costs because fewer ALBs and public IPs mean fewer costs for us.&lt;/li&gt;
&lt;li&gt;We Centralize the management of ALBs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We Create a dependency on other teams. If we have multiple stacks to manage every application, we create a dependency with the stack that contains the centralized ALB.&lt;/li&gt;
&lt;li&gt;It could be a problem using WAF because WAF rules are the same for all applications, and some rules must be more specific.&lt;/li&gt;
&lt;li&gt;The solution only works on a multi-account deployment. ALB can send requests to target groups in the same account but not to target groups in other accounts. ALB permits sending requests to other accounts' IPs (If private connectivity exists), but that does not allow elasticity.
We can use a reverse proxy server mount on an EC2, but it is not a managed solution and creates more operational overhead.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  To use a Bastion
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0gojnkxrpf8pveajka0i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0gojnkxrpf8pveajka0i.png" alt="picture 9" width="720" height="720"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using a Bastion host is a typical solution to access your cloud servers; instead of adding a public IP address to any server that we manage, we create a Bastion Host with a public IP and log into this Bastion Host using SSH or RDP (Depending on our Bastion Hosts OS). From this bastion, we can jump to our EC2 or RDS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3cdl2vtcig55onalan53.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3cdl2vtcig55onalan53.png" alt="picture 10" width="800" height="739"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is a secure way to access your resources because we can limit the scope of our security group by adding only the public IPs we use from our corporate network or individual public IPs from our internet connection.&lt;/p&gt;

&lt;p&gt;From our Bastion Host, we can access any EC2, RDS, ECS, EKS, etc.&lt;br&gt;
We only need to add our Bastion Host security group or IP to the security groups for the instances we need access.&lt;/p&gt;

&lt;p&gt;We can access our VPC, but we can also access other VPCs if we implement VPC peering or deploy a Transit Gateway topology.&lt;br&gt;
These interconnections between VPCs allow us to centralize our Bastion host and reduce and simplify our management infrastructure.&lt;/p&gt;

&lt;p&gt;That method is easy to use; Bastion Host is something usual on on-prem; we can use different access keys, different OS users, log access, etc.&lt;/p&gt;

&lt;p&gt;Also, if we need a more secure way to access, we can use a Client VPN instead of connecting directly to our Bastion Hosts using SSH or RDP.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsxu2dn4051rj5ouhuj3a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsxu2dn4051rj5ouhuj3a.png" alt="picture 11" width="800" height="911"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We reduce the number of Public IPs used for managing instances. &lt;/li&gt;
&lt;li&gt;We improved security because we had fewer entrance points to our servers.&lt;/li&gt;
&lt;li&gt;We need to maintain fewer instances for management.&lt;/li&gt;
&lt;li&gt;Baston Host is a familiar topology for IT infrastructure.&lt;/li&gt;
&lt;li&gt;We can log access to the Bastion host and audit the activity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We need an EC2 for management. &lt;/li&gt;
&lt;li&gt;We must manage and audit security groups to limit access to our Bastion Host. &lt;/li&gt;
&lt;li&gt;We can have considerable exposure to our infrastructure if someone gains access to our Bastion Host. &lt;/li&gt;
&lt;li&gt;We can receive SSH brute force attacks and must protect ourselves from them.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  To use the Session Manager
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh9vs5eg22qbyvep639pg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh9vs5eg22qbyvep639pg.png" alt="picture 12" width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html" rel="noopener noreferrer"&gt;AWS  Systems Manager Session Manager (SSM)&lt;/a&gt; is a way to access our EC2 like an SSH but without SSH and with many benefits of AWS security out of the box.&lt;/p&gt;

&lt;p&gt;To use the AWS Systems Manager Session Manager, we need to accomplish some tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We need to have the SSM agents installed on our instances (If we use an AMI from AWS,  the agent is installed by default).&lt;/li&gt;
&lt;li&gt;The Instance needs access to the SSM endpoint using a NAT Gateway or deploying an AWS private endpoint.&lt;/li&gt;
&lt;li&gt;We need to add an Instance profile with permissions to SSM to permit the EC2 to execute some API calls to SSM services.&lt;/li&gt;
&lt;li&gt;We need permission to use SSM on our IAM user or IAM role.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can follow &lt;a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html" rel="noopener noreferrer"&gt;AWS Documentation&lt;/a&gt; to configure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1oof8dgg3moc72qb4xsr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1oof8dgg3moc72qb4xsr.png" alt="picture 13" width="556" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This access method permits one to log on to an instance without using SSH and use our IAM credentials.&lt;br&gt;
That's very useful because we can use the IAM Identity Center and centralize access to our systems using our IdP credentials instead of Linux Local credentials.&lt;br&gt;
Also, if we use IAM Identity Center or IAM Roles, we are using &lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html" rel="noopener noreferrer"&gt;temporary security credentials&lt;/a&gt; that significantly improve our security. Those credentials rotate very often (they are only active for a few hours or less if we choose). If someone stole these credentials, they would be revoked automatically when the token expires, and we can also revoke the credentials immediately.&lt;/p&gt;

&lt;p&gt;If we use Windows servers, we can use &lt;a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet.html" rel="noopener noreferrer"&gt;AWS Systems Manager Fleet Manager&lt;/a&gt;, which uses a similar system but for RDP connections.&lt;/p&gt;

&lt;p&gt;Also, we can use a mixture using SSM with a private Bastion Host.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhlp0qgyeigccagkluh7t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhlp0qgyeigccagkluh7t.png" alt="picture 14" width="696" height="1100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is the same method as if we are using a Bastion Host but without exposure to our Bastion Host on the Internet. &lt;/p&gt;

&lt;p&gt;However, SSM is unusable for some people because they need to use X11 on remote servers or upload files using SCP or their terminal instead of the AWS console or AWS CLI.&lt;/p&gt;

&lt;p&gt;But we are lucky; SSM has a feature named &lt;a href="https://aws.amazon.com/es/blogs/aws/new-port-forwarding-using-aws-system-manager-sessions-manager/" rel="noopener noreferrer"&gt;Port Forwarding&lt;/a&gt; that permits us to create a tunnel from our computer to the Bastion Hosts and connect to other servers directly. It is like an SSH tunnel and is very powerful. We can access our RDS servers or private websites without publishing them. We can also forward X11 and use the remote displays.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We don't need to use Public IPs &lt;/li&gt;
&lt;li&gt;We use IAM credentials with temporary credentials instead of Linux credentials or SSH keys.&lt;/li&gt;
&lt;li&gt;We can use our IdP credentials to log on to EC2 instances.&lt;/li&gt;
&lt;li&gt;We use an HTTPs encrypted connection encrypted by AWS.&lt;/li&gt;
&lt;li&gt;We don't expose servers on the internet.&lt;/li&gt;
&lt;li&gt;We can audit logs and actions.&lt;/li&gt;
&lt;li&gt;We can explore logs on Cloudwatch and create metrics and alarms.&lt;/li&gt;
&lt;li&gt;We can revoke credentials automatically.&lt;/li&gt;
&lt;li&gt;We can use the port forwarding feature to create secure tunnels&lt;/li&gt;
&lt;li&gt;The solution doesn't have any cost; SSM is free.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We must use AWS CLI or AWS console to connect to servers.&lt;/li&gt;
&lt;li&gt;The method is more complex and needs to be more familiar to users.&lt;/li&gt;
&lt;li&gt;We need to install agents and create Instance profiles.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  To use private EC2 Instance connect
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9cg0mdwyda6x64jyab9t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9cg0mdwyda6x64jyab9t.jpg" alt="picture 15" width="360" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The service EC2 instance connect allows you to connect to your public/private EC2 instances by establishing an SSH session through the browser.  The Instance Connect API will publish a one-time use SSH public key to the EC2 instance metadata, which will remain for 60 seconds.&lt;/p&gt;

&lt;p&gt;If the instance has the &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html" rel="noopener noreferrer"&gt;EC2 instance connect installed&lt;/a&gt;, an SSH daemon will pull the public key information from the instance metadata for authentication in this timeframe.&lt;/p&gt;

&lt;p&gt;The SSH connection will be established using the one-time use private key that the Instance Connect API generated at the time of the request.&lt;br&gt;
IAM backs the service; no user who doesn´t have access to this service will be allowed to connect. For more information on how the service works, follow the &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-eic.html" rel="noopener noreferrer"&gt;user guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Initially, the EC2 instance connect was meant to connect to EC2 instances with a public IP address. In &lt;a href="https://aws.amazon.com/blogs/compute/secure-connectivity-from-public-to-private-introducing-ec2-instance-connect-endpoint-june-13-2023/" rel="noopener noreferrer"&gt;June of 2023&lt;/a&gt;, AWS released an update on this service, allowing users to connect to the EC2 instances with Private IP through the internet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3081nxfsz69wscmlmki.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3081nxfsz69wscmlmki.png" alt="picture 16" width="800" height="672"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To perform this task, create an EC2 instance Connect Endpoint in a private subnet in your VPC. This endpoint acts as a private tunnel connecting from the internet to your private instances. You can connect to different subnets inside the VPC using the same endpoint. &lt;br&gt;
(If you connect to an instance in a different AZ from the Endpoint, &lt;a href="https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer_within_the_same_AWS_Region" rel="noopener noreferrer"&gt;some charges may apply&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Here, you can find a &lt;a href="https://medium.com/@prateek.malhotra004/connect-using-ec2-instance-connect-endpoint-1f6fc9243f02" rel="noopener noreferrer"&gt;how-to guide&lt;/a&gt; on connecting using the EIC Endpoint to a private IPv4 instance. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can connect to your instances from the internet without an internet gateway.&lt;/li&gt;
&lt;li&gt;The access for creating and using the EC2 Instance connect endpoints can be restricted/granted through IAM policies and permissions.&lt;/li&gt;
&lt;li&gt;Improve the security by having a centralized access control to EC2 instances and removing the need to manage the SSH keys.&lt;/li&gt;
&lt;li&gt;Removes the need for a Bastion host.&lt;/li&gt;
&lt;li&gt;CloudTrail tracks all the events.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It does not support IPv6 addresses.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  To Migrate to IPv6
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimv17nygc8gaga6sqtgs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimv17nygc8gaga6sqtgs.jpg" alt="picture17" width="800" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since 2011, AWS has been promoting &lt;a href="https://aws.amazon.com/vpc/ipv6/" rel="noopener noreferrer"&gt;IPv6&lt;/a&gt;; every year, AWS has been adding and adapting more services to use this technology.&lt;br&gt;&lt;br&gt;
Networking compatibility modes supported by AWS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IPv4-only mode&lt;/strong&gt;: Your resources can communicate over IPv4; if they communicate with IPv6, it will require an interoperability layer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IPv6-only mode&lt;/strong&gt;: Your resources can communicate over IPv6; if they communicate with IPv6, it will require an interoperability layer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dual-stack mode&lt;/strong&gt;: Your resources can communicate over IPv4 and IPv6.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Under this &lt;a href="https://docs.aws.amazon.com/vpc/latest/userguide/aws-ipv6-support.html" rel="noopener noreferrer"&gt;article&lt;/a&gt;, you will find the list of services that can use IPv6.&lt;br&gt;
For more information on how to design an IPv6 network, follow the &lt;a href="https://docs.aws.amazon.com/whitepapers/latest/ipv6-on-aws/designing-an-ipv6-aws-cloud-network.html" rel="noopener noreferrer"&gt;Best Practices runbook&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce costs by stopping using IPv4&lt;/li&gt;
&lt;li&gt;Eliminates the need for translation mechanisms (NAT), removing performance overheads of translations, simplifying the routing of packets&lt;/li&gt;
&lt;li&gt;IPv6 adds more security, using IPsec as a &lt;a href="https://www.redhat.com/sysadmin/ipv6-packets-and-ipsec" rel="noopener noreferrer"&gt;standard&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not all the services support IPv6&lt;/li&gt;
&lt;li&gt;An architecture analysis should be done before implementing/adapting anything.&lt;/li&gt;
&lt;/ul&gt;




&lt;h6&gt;
  
  
  Article created for the AWS Community Builders by:
&lt;/h6&gt;

&lt;h6&gt;
  
  
  &lt;a href="https://linktr.ee/michel8585" rel="noopener noreferrer"&gt;Miguel Angel Muñoz Sanchez&lt;/a&gt;
&lt;/h6&gt;

&lt;h6&gt;
  
  
  &lt;a href="https://www.linkedin.com/in/luismariahorvathmayor/" rel="noopener noreferrer"&gt;Luis Maria Horvath Mayor&lt;/a&gt;
&lt;/h6&gt;

</description>
      <category>aws</category>
      <category>networking</category>
      <category>costeffective</category>
      <category>ipv4</category>
    </item>
    <item>
      <title>Ahorra hasta 3 veces *más* dinero en la migración de un Cloud hacia AWS...</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Thu, 19 Oct 2023 15:19:03 +0000</pubDate>
      <link>https://dev.to/aws-espanol/ahorra-hasta-3-veces-mas-dinero-en-la-migracion-de-un-cloud-hacia-aws-6m2</link>
      <guid>https://dev.to/aws-espanol/ahorra-hasta-3-veces-mas-dinero-en-la-migracion-de-un-cloud-hacia-aws-6m2</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1is8e2z2jrsi4xdd6g4o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1is8e2z2jrsi4xdd6g4o.jpg" alt="Old man yells at a cloud" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;¿Alguna vez has usado &lt;strong&gt;un proveedor de servicios Cloud&lt;/strong&gt;, convencido/coartado de que era una buena idea, y &lt;strong&gt;te  arrepentiste&lt;/strong&gt;?&lt;/em&gt; &lt;em&gt;¿Estás considerando mover &lt;strong&gt;los datos de tus aplicaciones&lt;/strong&gt; &lt;strong&gt;a otro Cloud como AWS&lt;/strong&gt;?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Subir todo a la nube es fácil, no pagamos nada por los datos que subimos (ingress), la transferencia es gratuita.&lt;/p&gt;

&lt;p&gt;Pero amig@ mío, en el momento en el que tienes cierta cantidad de datos en el Cloud y tienes que bajarlos, ahí se complica la cosa... &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7tm0c3xpgv0hmsl99u8g.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7tm0c3xpgv0hmsl99u8g.gif" alt="Money counting" width="720" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Todo el &lt;strong&gt;tráfico de descarga&lt;/strong&gt; (egress data) &lt;strong&gt;se factura y cobra en la mayoría de Clouds&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;No hay duda de que migrar 20 GB es una tarea fácil, pero cuando tienes un volúmen de datos más grande (por ejemplo, +100 TB), deberías de saber qué opciones tienes...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5shktl1f88zrmevecum.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5shktl1f88zrmevecum.jpeg" alt="Snowball" width="680" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS lanzó el servicio &lt;a href="https://aws.amazon.com/snowball/" rel="noopener noreferrer"&gt;Snowball&lt;/a&gt; algunos años atrás para migrar cantidades enormes de datos desde on-prem hacia el Cloud de AWS. &lt;br&gt;
Microsoft tiene el mismo servicio (Azure Data Box), y Google también (Transfer Appliance)...&lt;/p&gt;

&lt;p&gt;Todos estos dispositivos tienen algo en común, y es que &lt;strong&gt;no puedes mandarlos a un Cloud para migrarte del Cloud A al Cloud B&lt;/strong&gt;, esto no funciona así...&lt;/p&gt;

&lt;p&gt;¿Qué opciones tenemos si queremos migrar de un Cloud a otro?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjp223xg6p07k1h1v6xsl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjp223xg6p07k1h1v6xsl.png" alt="VPN Logo" width="512" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usar IPsec VPN a través del internet público:&lt;/strong&gt; Opción recomendada por el 95% de los mortales; es lo que recomendarán usar cuando tengas que migrar datos de un CSP a otro. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Retos con VPN&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;El coste del tráfico de descarga a partir de cierta cantidad de datos es muy elevado&lt;/li&gt;
&lt;li&gt;El caudal está limitado &lt;/li&gt;
&lt;li&gt;El tráfico viaja a través de internet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;¿Y si te digo que &lt;strong&gt;hay otra manera de hacer esta migración, ahorrando hasta 3 veces más dinero en relación al tráfico de descarga&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frx63mcv81wsbk9dk74u9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frx63mcv81wsbk9dk74u9.png" alt="Multi Cloud" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usar un Cloud ROUTER:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Muchos partners de conectividad han desarrollado este tipo de   &lt;a href="https://www.de-cix.net/en/services/cloudrouter" rel="noopener noreferrer"&gt;solución&lt;/a&gt; para tener un &lt;strong&gt;hub de enrutamiento centralizado&lt;/strong&gt; para operaciones &lt;strong&gt;multi-cloud&lt;/strong&gt; y &lt;strong&gt;multi-cloud híbridas&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Con el uso de esta tecnología, te puedes ahorrar mucho dinero en la migración ya que el &lt;strong&gt;coste de transferencia de datos&lt;/strong&gt; es &lt;strong&gt;mucho menor&lt;/strong&gt; para una &lt;strong&gt;conexión privada&lt;/strong&gt; &lt;strong&gt;que&lt;/strong&gt; usando &lt;strong&gt;VPN&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No necesitas estar presente en un centro de datos&lt;/strong&gt; para montar una arquitectura &lt;strong&gt;multi-cloud&lt;/strong&gt;. Todo está preparado, no necesitas hacer nada más.&lt;/p&gt;

&lt;p&gt;El Cloud ROUTER &lt;strong&gt;unifica los distintos servicios de conectividad privada&lt;/strong&gt; de los diferentes Clouds (AWS Direct Connect, Azure ExpressRoute, Google Interconnect...), y los interconecta de manera fácil y rápida. &lt;/p&gt;

&lt;p&gt;Dependiendo de la configuración, puedes crear conexiones de alto rendimiento desde los Clouds y migrar los datos en horas o minutos. &lt;/p&gt;

&lt;p&gt;Vamos a &lt;strong&gt;comparar los distintos precios de descarga para AWS, Google, y Azure.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4f2atm8pdku98bra74m0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4f2atm8pdku98bra74m0.png" alt="AWS Logo" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transferencia de datos usando &lt;a href="https://aws.amazon.com/vpn/pricing/" rel="noopener noreferrer"&gt;VPN&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8vwy0ccp1hsk31ho12kb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8vwy0ccp1hsk31ho12kb.png" alt="Data Transfer VPN2" width="800" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transferencia de datos usando &lt;a href="https://aws.amazon.com/directconnect/pricing/" rel="noopener noreferrer"&gt;Direct Connect&lt;/a&gt;: 
Datos localizados en Europa, saliendo por una localización de Direct Connect en Europa -&amp;gt; &lt;strong&gt;$0.0200 por GB&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdghinqay5ifyxx3kcgob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdghinqay5ifyxx3kcgob.png" alt="Google logo" width="800" height="123"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transferencia de datos usando &lt;a href="https://cloud.google.com/vpc/network-pricing#internet_egress" rel="noopener noreferrer"&gt;VPN&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjeu1j01uh1bci4nh9leu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjeu1j01uh1bci4nh9leu.png" alt="Data Transfer Google" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transferencia de datos usando &lt;a href="https://cloud.google.com/vpc/network-pricing#interconnect-pricing/" rel="noopener noreferrer"&gt;Google Interconnect&lt;/a&gt;: 
Datos saliendo por una conexión de Google Interconnect en Europa -&amp;gt; &lt;strong&gt;$0.0200 por GiB&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3s7eypheqe23rcbltlca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3s7eypheqe23rcbltlca.png" alt="Azure Logo" width="800" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transferencia de datos usando &lt;a href="https://azure.microsoft.com/en-us/pricing/details/bandwidth/" rel="noopener noreferrer"&gt;VPN&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fregnwowyugf1y2wdkmql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fregnwowyugf1y2wdkmql.png" alt="DTO Azure" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transferencia de datos usando &lt;a href="https://azure.microsoft.com/en-us/pricing/details/expressroute/" rel="noopener noreferrer"&gt;Express Route&lt;/a&gt;: 
Datos en Europa, saliendo por una conexión de Express Route en Europa -&amp;gt; &lt;strong&gt;$0.025 por GB&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Como podéis observar, el VPN es mucho más caro a la hora de transferir datos que con una conexión privada. &lt;br&gt;
Hagamos un pequeño ejercicio...&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faqt507bqfvk4jwivppiy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faqt507bqfvk4jwivppiy.jpg" alt="migration" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  Agárrense los machos, se viene la migración...
&lt;/h6&gt;




&lt;p&gt;&lt;strong&gt;Ejercicio&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Somos un arquitecto de redes, y nuestro amable CTO nos manda la tarea de &lt;strong&gt;migrar&lt;/strong&gt; desde &lt;strong&gt;Azure hacia AWS&lt;/strong&gt;. Tenemos que migrar unos &lt;strong&gt;180 TB&lt;/strong&gt; de datos de nuestro &lt;strong&gt;Azure Blob Storage&lt;/strong&gt; hacia &lt;strong&gt;nuestro bucket en AWS S3&lt;/strong&gt;. &lt;br&gt;
Nuestros datos se encuentran en Europa. &lt;/p&gt;

&lt;p&gt;Hagamos el cálculo; para ello voy a usar la calculadora de  &lt;a href="https://azure.microsoft.com/en-us/pricing/calculator/" rel="noopener noreferrer"&gt;Azure&lt;/a&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Transferencia de Datos - 180TB&lt;/th&gt;
&lt;th&gt;Precio&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;via Internet&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$10,768.80&lt;/strong&gt;*&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;via Express Route&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$4,608.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h6&gt;
  
  
  Los primeros 100GB de tráfico de descarga por internet son gratis*
&lt;/h6&gt;

&lt;p&gt;Si comparamos las cantidades, usando Express Route, es &lt;strong&gt;2.33 veces más barato&lt;/strong&gt; que usando internet para transferir los datos. &lt;/p&gt;




&lt;p&gt;Hagamos el mismo ejemplo, pero con &lt;a href="https://cloud.google.com/products/calculator" rel="noopener noreferrer"&gt;Google&lt;/a&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Transferencia de Datos - 180TB&lt;/th&gt;
&lt;th&gt;Precio&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;via Internet&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$11,571.20&lt;/strong&gt;*&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;via Google Interconnect&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$3,686.40&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h6&gt;
  
  
  Los primeros 200GB de tráfico de descarga por internet son gratis*
&lt;/h6&gt;

&lt;p&gt;&lt;strong&gt;Es 3.14 veces más barato&lt;/strong&gt; realizar la migración usando &lt;strong&gt;Google Interconnect&lt;/strong&gt; que yendo por &lt;strong&gt;internet&lt;/strong&gt; para la transferencia de datos.&lt;/p&gt;




&lt;p&gt;¿Y qué pasaría si hiciéramos el mismo cálculo con &lt;a href="https://calculator.aws/#/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;?:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Transferencia de Datos - 180TB&lt;/th&gt;
&lt;th&gt;Precio&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;via Internet&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$13.107,20&lt;/strong&gt;*&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;via Direct Connect&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$3686,40&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h6&gt;
  
  
  Los primeros 100GB de tráfico de descarga por internet son gratis*
&lt;/h6&gt;

&lt;p&gt;&lt;strong&gt;Resulta que es 3.55 veces más barato&lt;/strong&gt; hacer la migración con &lt;strong&gt;Direct Connect que&lt;/strong&gt; moviendo los datos &lt;strong&gt;a través del internet público.&lt;/strong&gt; &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Estos cálculos no incluyen los costes relacionados del Express Route/Google Interconnect/Direct Connect ni los servicios relacionados como PrivateLink o el Cloud Router...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;La &lt;strong&gt;solución completa&lt;/strong&gt;, con los costes relacionados &lt;strong&gt;es más barata que si se migrase a través del internet público&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Para más información acerca de precios, pregunta a tu partner de conectividad para tu caso en concreto.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Conclusiones finales&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Es esencial saber qué opciones tenemos cuando hacemos una migración de este tipo; cuantas más tengamos, mejor.&lt;/p&gt;

&lt;p&gt;Con el uso de este tipo de tecnologías, el hacer una migración de Clouds see simplifica, asegurando el máximo rendimiento y minimizando costes.&lt;/p&gt;

&lt;p&gt;Espero que hayas disfrutado de este artículo; te leo en los comentarios 😁&lt;/p&gt;

</description>
      <category>aws</category>
      <category>migracion</category>
      <category>multicloud</category>
      <category>ahorro</category>
    </item>
    <item>
      <title>Save up to 3 times *more* money when migrating from a Cloud to AWS...</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Thu, 19 Oct 2023 10:20:43 +0000</pubDate>
      <link>https://dev.to/aws-builders/save-up-to-3-times-more-money-when-migrating-from-a-cloud-to-aws-1cp3</link>
      <guid>https://dev.to/aws-builders/save-up-to-3-times-more-money-when-migrating-from-a-cloud-to-aws-1cp3</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1is8e2z2jrsi4xdd6g4o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1is8e2z2jrsi4xdd6g4o.jpg" alt="Old man yells at a cloud" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Have you ever &lt;strong&gt;used a Cloud Service Provider&lt;/strong&gt; (CSP), convinced that it was a good idea, and &lt;strong&gt;you regretted it&lt;/strong&gt;?&lt;/em&gt; &lt;em&gt;Are you considering &lt;strong&gt;moving your application's data&lt;/strong&gt; &lt;strong&gt;to another CSP like AWS&lt;/strong&gt;?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Uploading everything to the Cloud is easy because the data that goes in (ingress) is free of charge... &lt;/p&gt;

&lt;p&gt;But my friend, from the moment you have a certain amount of data in the Cloud and have to download it, it is when the stuff gets challenging...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7tm0c3xpgv0hmsl99u8g.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7tm0c3xpgv0hmsl99u8g.gif" alt="Money counting" width="720" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All the &lt;strong&gt;egress traffic&lt;/strong&gt; (downloaded data) &lt;strong&gt;is getting billed in most of the CSPs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;There is no doubt that moving 20 GB is an easy task, but when you have logs or information that is considerably big (for example, +100 TB), you should know what options you have.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5shktl1f88zrmevecum.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5shktl1f88zrmevecum.jpeg" alt="Snowball" width="680" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS released the &lt;a href="https://aws.amazon.com/snowball/" rel="noopener noreferrer"&gt;Snowball service&lt;/a&gt; some years ago for migrating vast amounts of data from on-prem to the AWS Cloud. Microsoft has its service (Azure Data Box), and Google too (Transfer Appliance)...&lt;/p&gt;

&lt;p&gt;These devices have some in common, and &lt;strong&gt;you can not ship them to a CSP for migrating from Cloud A to Cloud B&lt;/strong&gt;. This doesn´t work. &lt;/p&gt;

&lt;p&gt;What options are left if we migrate from one CSP to another?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjp223xg6p07k1h1v6xsl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjp223xg6p07k1h1v6xsl.png" alt="VPN Logo" width="512" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To use IPsec VPN through the internet:&lt;/strong&gt; It will be recommended by 95% of the population; it is the way to go for these cases where we have to move data from one CSP to another. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges with VPN&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Huge Egress traffic costs at a certain amount of data&lt;/li&gt;
&lt;li&gt;Limited throughput&lt;/li&gt;
&lt;li&gt;The traffic gets exposed to the internet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What if I tell you that there is &lt;strong&gt;another way to perform this task, saving up to three times the money in terms of data transfer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frx63mcv81wsbk9dk74u9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frx63mcv81wsbk9dk74u9.png" alt="Multi Cloud" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To use a Cloud ROUTER:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many connectivity partners have developed this &lt;a href="https://www.de-cix.net/en/services/cloudrouter" rel="noopener noreferrer"&gt;solution&lt;/a&gt; to have a &lt;strong&gt;centralized routing hub for&lt;/strong&gt; serving &lt;strong&gt;multi-cloud&lt;/strong&gt; and &lt;strong&gt;hybrid-multi-cloud&lt;/strong&gt; operations. &lt;/p&gt;

&lt;p&gt;With this technology, you can save much money for migrating because the &lt;strong&gt;data transfer price&lt;/strong&gt; is &lt;strong&gt;much lower&lt;/strong&gt; for a &lt;strong&gt;private connection&lt;/strong&gt; &lt;strong&gt;than&lt;/strong&gt; via &lt;strong&gt;VPN&lt;/strong&gt;. The best part is that you don´t need any equipment in the Data Center for a multi-cloud setup; everything has been set.&lt;/p&gt;

&lt;p&gt;The Cloud ROUTER unifies the different Cloud private connectivity services (AWS Direct Connect, Azure ExpressRoute, Google Interconnect...), and it interconnects them in a fast &amp;amp; easy way. &lt;/p&gt;

&lt;p&gt;Depending on the setup, you can create high throughput connections from the CSPs and migrate the data in hours or minutes. &lt;/p&gt;

&lt;p&gt;Let´s &lt;strong&gt;compare the standard egress traffic prices&lt;/strong&gt; for AWS, Google, and Azure.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4f2atm8pdku98bra74m0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4f2atm8pdku98bra74m0.png" alt="AWS Logo" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Transfer Out using &lt;a href="https://aws.amazon.com/vpn/pricing/" rel="noopener noreferrer"&gt;VPN&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8vwy0ccp1hsk31ho12kb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8vwy0ccp1hsk31ho12kb.png" alt="Data Transfer VPN2" width="800" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Transfer Out using &lt;a href="https://aws.amazon.com/directconnect/pricing/" rel="noopener noreferrer"&gt;Direct Connect&lt;/a&gt;: Data located in Europe, leaving to a DX location in Europe -&amp;gt; &lt;strong&gt;$0.0200 per GB&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdghinqay5ifyxx3kcgob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdghinqay5ifyxx3kcgob.png" alt="Google logo" width="800" height="123"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Transfer Out using &lt;a href="https://cloud.google.com/vpc/network-pricing#internet_egress" rel="noopener noreferrer"&gt;VPN&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjeu1j01uh1bci4nh9leu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjeu1j01uh1bci4nh9leu.png" alt="Data Transfer Google" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Transfer Out using &lt;a href="https://cloud.google.com/vpc/network-pricing#interconnect-pricing/" rel="noopener noreferrer"&gt;Google Interconnect&lt;/a&gt;: Data leaving over an Interconnect connection in Europe -&amp;gt; &lt;strong&gt;$0.0200 per GiB&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3s7eypheqe23rcbltlca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3s7eypheqe23rcbltlca.png" alt="Azure Logo" width="800" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Transfer Out using &lt;a href="https://azure.microsoft.com/en-us/pricing/details/bandwidth/" rel="noopener noreferrer"&gt;VPN&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fregnwowyugf1y2wdkmql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fregnwowyugf1y2wdkmql.png" alt="DTO Azure" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Transfer Out using &lt;a href="https://azure.microsoft.com/en-us/pricing/details/expressroute/" rel="noopener noreferrer"&gt;Express Route&lt;/a&gt;: Data from EU leaving over an Express Route connection in Europe -&amp;gt; &lt;strong&gt;$0.025 per GB&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;As you can see, going via VPN is much more expensive than going privately; let´s do a small exercise.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faqt507bqfvk4jwivppiy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faqt507bqfvk4jwivppiy.jpg" alt="migration" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exercise&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We are a networking architect, and our CTO brings us the task of &lt;strong&gt;migrating&lt;/strong&gt; from Azure towards AWS. We have &lt;strong&gt;180 TB&lt;/strong&gt; of data &lt;strong&gt;from&lt;/strong&gt; our &lt;strong&gt;Azure Blob Storage&lt;/strong&gt;, and we have to migrate them &lt;strong&gt;to AWS S3&lt;/strong&gt;. &lt;br&gt;
Our data is located in Europe.&lt;/p&gt;

&lt;p&gt;Let´s do the calculation; we will use the &lt;a href="https://azure.microsoft.com/en-us/pricing/calculator/" rel="noopener noreferrer"&gt;Azure Pricing Calculator&lt;/a&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Data Transfer - 180TB&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;via Internet&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$10,768.80&lt;/strong&gt;*&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;via Express Route&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$4,608.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h6&gt;
  
  
  The first 100GB of traffic through the public internet are for free*
&lt;/h6&gt;

&lt;p&gt;If we compare the amount, going with an Express Route connection, is &lt;strong&gt;2.33 times cheaper&lt;/strong&gt; than using the internet for the data transfer. &lt;/p&gt;




&lt;p&gt;Let´s do the same exercise with &lt;a href="https://cloud.google.com/products/calculator" rel="noopener noreferrer"&gt;Google&lt;/a&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Data Transfer - 180TB&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;via Internet&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$11,571.20&lt;/strong&gt;*&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;via Google Interconnect&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$3,686.40&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h6&gt;
  
  
  The first 200GB of traffic through the public internet are for free*
&lt;/h6&gt;

&lt;p&gt;&lt;strong&gt;It is 3.14 times cheaper&lt;/strong&gt; to do the migration &lt;strong&gt;via a Google Interconnect&lt;/strong&gt; than &lt;strong&gt;using the internet&lt;/strong&gt; in terms of data transfer&lt;/p&gt;




&lt;p&gt;And what about if we do the same exercise using  &lt;a href="https://calculator.aws/#/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;?:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Data Transfer - 180TB&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;via Internet&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$13.107,20&lt;/strong&gt;*&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;via Direct Connect&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$3686,40&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h6&gt;
  
  
  The first 100GB of traffic through the public internet are for free*
&lt;/h6&gt;

&lt;p&gt;&lt;strong&gt;It is 3.55 times cheaper&lt;/strong&gt; to do the migration &lt;strong&gt;with Direct Connect&lt;/strong&gt; than &lt;strong&gt;moving the data through the internet&lt;/strong&gt; in terms of data transfer&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;These calculations do not include the related costs of the Express Route/Google Interconnect/Direct Connect and its related services like PrivateLink or the Cloud ROUTER...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The &lt;strong&gt;full solution&lt;/strong&gt;, with the side costs &lt;strong&gt;is cheaper than using the public internet&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For more information on the prices, ask your connectivity partner for a quote.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the usage of this type of new technology, doing a cloud migration gets simplified, in terms of efficiency, performance, and costs. &lt;/p&gt;

&lt;p&gt;It is essential to know which options we have; being flexible is the key, especially in something so critical as a Cloud 2 Cloud Migration.&lt;/p&gt;

&lt;p&gt;I hope you have enjoyed this article; I read you in the comments 😁&lt;/p&gt;

</description>
      <category>aws</category>
      <category>migration</category>
      <category>multicloud</category>
      <category>costeffective</category>
    </item>
    <item>
      <title>Midiendo la latencia hacia la nueva región de AWS España (eu-south-2 en Zaragoza)</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Tue, 12 Sep 2023 08:14:05 +0000</pubDate>
      <link>https://dev.to/aws-espanol/midiendo-la-latencia-hacia-la-nueva-region-de-aws-espana-eu-south-2-en-zaragoza-db</link>
      <guid>https://dev.to/aws-espanol/midiendo-la-latencia-hacia-la-nueva-region-de-aws-espana-eu-south-2-en-zaragoza-db</guid>
      <description>&lt;p&gt;A principios de año, me encontraba en el AWS re-cap en Madrid para conocer las novedades del re:Invent del 2022 y para ver de primera mano la presentación de la nueva región de AWS de España en Zaragoza.&lt;/p&gt;

&lt;p&gt;En la sesión de preguntas, hice una pregunta acerca de las latencias desde Madrid hasta Zaragoza.&lt;/p&gt;

&lt;p&gt;Antes de meternos y profundizar un poco... ¿qué es la &lt;strong&gt;latencia&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;La latencia es un término utilizado para describir &lt;strong&gt;el retardo de tiempo en un medio de transmisión&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;En el vacío, la luz viaja a 299.792.458 metros por segundo.  Esto equivale a 299,792 metros por microsegundo (µs) o 3,34µs por kilómetro.&lt;/p&gt;

&lt;p&gt;En la fibra óptica, la luz viaja más despacio por la refracción. Lo que nos da una medición aproximada de 5µs por kilómetro.&lt;/p&gt;

&lt;p&gt;Quería saber cuál es la latencia (RTT --&amp;gt; De ida y vuelta) para un cliente en España que quiera utilizar el servicio de &lt;a href="https://aws.amazon.com/es/directconnect/" rel="noopener noreferrer"&gt;Direct Connect&lt;/a&gt; desde &lt;a href="https://aws.amazon.com/directconnect/locations/" rel="noopener noreferrer"&gt;Interxion MAD&lt;/a&gt;, hasta Zaragoza, al nuevo clúster de AWS.&lt;/p&gt;

&lt;p&gt;Zaragoza está a unos 320 km de Madrid (aproximadamente), el clúster no está en la misma área metropolitana, como se puede observar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw8zrm85yyrlukuyusnbs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw8zrm85yyrlukuyusnbs.png" alt="Image description" width="492" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mi pregunta tiene un poco de mala leche, porque no se tratan de los km de fibra que tiene que atravesar la luz, sino también del número de dispositivos de red por los que debe pasar el flujo de datos hasta llegar al destino.&lt;/p&gt;

&lt;p&gt;Se me dijo "&lt;strong&gt;aproximadamente menos de 10ms&lt;/strong&gt;" como respuesta.&lt;/p&gt;

&lt;p&gt;Después de muchos meses, decidí resolver la ecuación y hacer esta medición; somos ingenieros y nos gusta la precisión ;)&lt;/p&gt;

&lt;p&gt;Intentaré que la solución sea sencilla y que lo podamos entender; empecemos:&lt;/p&gt;

&lt;p&gt;Para realizar esta medición, he creado la siguiente infraestructura en AWS:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1nzoezw68gn8d5li2ua.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj1nzoezw68gn8d5li2ua.png" alt="Image description" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La idea detrás de este diseño es poder acceder a mi Host Privado 1 en la subred privada vía SSH desde el bastión, que está accesible en desde internet, en la subnet pública. &lt;/p&gt;

&lt;p&gt;(También podría haber usado una &lt;a href="https://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html" rel="noopener noreferrer"&gt;IP elástica&lt;/a&gt; directamente para el Host Privado, simplificando el diseño, sin tener que crear un bastion host ni dos subnets distintas...)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqsa6w05925dw36mefq8l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqsa6w05925dw36mefq8l.png" alt="Image description" width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visto así, parece fácil, ¿verdad?&lt;/p&gt;

&lt;p&gt;Ahora imagina replicar la misma infraestructura utilizando una dirección de red diferente pero manteniendo la misma configuración.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0os3kuiazy8wz4bh4jy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0os3kuiazy8wz4bh4jy.png" alt="Image description" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora que tenemos estas dos infraestructuras, ¿cómo podemos interconectarlas?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F40hn9crnyfzk8xv2k6mg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F40hn9crnyfzk8xv2k6mg.png" alt="Image description" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Utilizando el &lt;a href="https://aws.amazon.com/es/directconnect/" rel="noopener noreferrer"&gt;Servicio de Direct Connect (DX)&lt;/a&gt; y con la ayuda de un &lt;a href="https://aws.amazon.com/es/directconnect/partners/?partner-solutions-cards.sort-by=item.additionalFields.partnerNameLower&amp;amp;partner-solutions-cards.sort-order=asc&amp;amp;awsf.partner-solutions-filter-location=*all" rel="noopener noreferrer"&gt;socio/partner&lt;/a&gt; de interconexión. Para este laboratorio, utilizaré a DE-CIX.&lt;/p&gt;

&lt;p&gt;Interconectaremos el VPC1 con una conexión DX hosteada, en una ubicación donde AWS y el partner están presentes → en Interxion Madrid.&lt;/p&gt;

&lt;p&gt;Haremos lo mismo con la VPC2 utilizando otra conexión DX que termine en el mismo DC (en Interxion MAD).&lt;/p&gt;

&lt;p&gt;Una vez interconectados, haremos un ping desde el Host Privado 1, al Host Privado 2 para medir el camino hasta Madrid desde Zaragoza.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quizás os preguntaréis, ¿cómo vais a interconectar las dos  DXcon? ¿Tienes allí un rack con dispositivos de networking para enrutar y hacer mediciones?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La respuesta a la última pregunta es sí y no; utilizaremos el &lt;a href="https://www.de-cix.net/en/about-de-cix/news/de-cix-cloudrouter-interconnection-made-easy" rel="noopener noreferrer"&gt;Cloud Router&lt;/a&gt; de DE-CIX para interconectar las dos Conexiones de AWS en Interxion.&lt;/p&gt;

&lt;p&gt;El Cloud Router es una instancia VRF (Virtual Routing &amp;amp; Forwarding) ejecutada en un equipo de red de grado carrier. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmxpj0qqieevtfld7dd3g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmxpj0qqieevtfld7dd3g.png" alt="Image description" width="800" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyhi7h0n81qw17bqppsxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyhi7h0n81qw17bqppsxq.png" alt="Image description" width="480" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si enviamos un ping desde el Host Privado 1 al Host Privado 2, el ping fluye de Zaragoza a Madrid y de Madrid a Zaragoza, terminando en el Host Privado 2 y volviendo al Host Privado 1.&lt;/p&gt;

&lt;p&gt;Como queremos obtener la latencia de medio camino (sólo de Zaragoza a Madrid), debemos dividirla por dos si realizamos un ping. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Medidas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He realizado dos ejecuciones de ping con diferentes tamaños de ventana para realizar las mediciones. Como podéis ver, la latencia puede variar un poco. Esto depende de la ruta que esté tomando AWS dentro de su backbone. Parece que hay dos formas diferentes de llegar al destino, una con menos latencia que la otra.&lt;/p&gt;

&lt;p&gt;También, debido a que hay diferentes zonas de disponibilidad (AZs), la latencia puede variar dependiendo de donde se encuentren nuestros recursos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tamaño de ventana 128K - Ejecución 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5mg91tvqq7w463i5jikb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5mg91tvqq7w463i5jikb.png" alt="Image description" width="568" height="464"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Avg = 11,934 / 2 = &lt;strong&gt;5,967 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tamaño de ventana 128K - Ejecución 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdewrrdlliyhpp1y0cai4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdewrrdlliyhpp1y0cai4.png" alt="Image description" width="568" height="684"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Avg= 16.441 / 2 = &lt;strong&gt;8.2205 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tamaño de ventana 256K - Ejecución 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7mgv1yc6gasrp71z5r2n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7mgv1yc6gasrp71z5r2n.png" alt="Image description" width="568" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Promedio = 11.928 / 2 = &lt;strong&gt;5.964 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tamaño de ventana 256K - Ejecución 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famxvo3u1pxf9xavyr4q6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famxvo3u1pxf9xavyr4q6.png" alt="Image description" width="568" height="728"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Promedio = 16.451 / 2 = &lt;strong&gt;8.2255 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tamaño de ventana 512K - Ejecución 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6blns52zfmbhn579khuo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6blns52zfmbhn579khuo.png" alt="Image description" width="568" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Promedio = 11.946 / 2 = &lt;strong&gt;5.973 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tamaño de ventana 512K - Ejecución 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplmpyeyo5ujhfb59mcfj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplmpyeyo5ujhfb59mcfj.png" alt="Image description" width="568" height="766"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Promedio = 16,452 / 2 = &lt;strong&gt;8,226 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tamaño de ventana 1024K - Ejecución 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xeslnwru6xwag16w7bs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xeslnwru6xwag16w7bs.png" alt="Image description" width="568" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Promedio = 11.975 / 2 = &lt;strong&gt;5.9875 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tamaño de ventana 1024K - Ejecución 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgospjz0lvk91gnkhqo6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgospjz0lvk91gnkhqo6.png" alt="Image description" width="568" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjqy4ir2teusl0vufoskh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjqy4ir2teusl0vufoskh.png" alt="Image description" width="568" height="172"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Promedio = 16,492 / 2 = &lt;strong&gt;8,246 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Media de las muestras tomadas:&lt;/strong&gt;&lt;br&gt;
Ejecución 1 ≈ &lt;strong&gt;5,97 ms&lt;/strong&gt;&lt;br&gt;
Ejecución 2 ≈ &lt;strong&gt;8,23 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusión&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La respuesta a mi pregunta &lt;strong&gt;varía y depende&lt;/strong&gt;; depende por la ruta interna del backbone de AWS pase y dónde estén tus recursos; pero &lt;strong&gt;objetivamente no son 10ms, son 6 u 8 ms (aprox.) para llegar a la nube desde Madrid a Zaragoza.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>directconnect</category>
      <category>networking</category>
      <category>español</category>
      <category>aws</category>
    </item>
    <item>
      <title>Considerations before creating a hybrid infrastructure with AWS</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Mon, 03 Apr 2023 22:58:49 +0000</pubDate>
      <link>https://dev.to/aws-builders/considerations-before-creating-a-hybrid-infrastructure-with-aws-4j2f</link>
      <guid>https://dev.to/aws-builders/considerations-before-creating-a-hybrid-infrastructure-with-aws-4j2f</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is a Hybrid Architecture?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;hybrid architecture&lt;/strong&gt; &lt;strong&gt;combines computing resources&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;including local infrastructure&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;and &lt;em&gt;cloud-based services&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;This is typically done by companies that &lt;strong&gt;want to leverage the benefits of cloud computing while still maintaining control&lt;/strong&gt; over specific digital &lt;strong&gt;data&lt;/strong&gt; &lt;strong&gt;or applications&lt;/strong&gt; that they prefer to keep &lt;strong&gt;on-premises&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“The tricky part in making a hybrid car wasn´t sticking a battery and an electric motor into a petrol-powered car. Getting the two systems to work seamlessly and harmoniously was the critical innovation.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Gregor Hohpe - Cloud Strategy: A decision-based approach to Successful Cloud Migration    &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of hybrid setups&lt;/strong&gt;&lt;br&gt;
Gregor, also created a &lt;a href="https://architectelevator.com/cloud/hybrid-cloud/#hybrid-cloud-ways-to-slice-the-elephant" rel="noopener noreferrer"&gt;great article&lt;/a&gt; pointing different scenarios for hybrid architectures. 8 types of scenarios are identified:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhybmdi90d2c9ew0zna4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhybmdi90d2c9ew0zna4.png" alt="hybrid cloud scenarios" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let´s pick the &lt;strong&gt;Workload Demand strategy&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Companies can benefit from the cloud's elasticity to increase the capacity of their services at a burst, when is needed. Another benefit is the Cloud billing model, you pay for what you use, when you use it&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine the scenario where you are the solutions architect in a company that sells online tickets for the last concert of a famous group, let´s say Rammstein. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7i9sfso5cwlrt2li79o3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7i9sfso5cwlrt2li79o3.png" alt="Exercise description" width="512" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You are going to receive so many requests when the tickets are on sale, it will look like you are receiving a DDoS attack.&lt;/p&gt;

&lt;p&gt;You are in charge, nothing can fail, the reputation of the company is at your hand and you don´t want that your server room looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1scycjn7noyl6fei1p5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1scycjn7noyl6fei1p5.jpg" alt="This is fine" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If &lt;strong&gt;you build a proper hybrid architecture&lt;/strong&gt;, &lt;em&gt;you can overcome any overload problem and avoid any disaster or chance to offer a bad service for your end customers&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The following image is a simplified version of a hybrid architecture solution for our example →&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwc1xywezkdfrd14jzh3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwc1xywezkdfrd14jzh3i.png" alt="Hybrid Architecture" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this architecture, we extend and distribute the application between the different EC2 instances and the on-premise hardware using the &lt;a href="https://aws.amazon.com/directconnect/?nc1=h_ls" rel="noopener noreferrer"&gt;Direct Connect&lt;/a&gt; service. These EC2 instances are part of autoscaling groups in different AZs that will scale out at a burst based on our defined rules of HW utilization.&lt;/p&gt;

&lt;p&gt;Thanks to the elasticity of the cloud, this design will scale out and scale in once you are sold out with the tickets.&lt;/p&gt;

&lt;p&gt;If, for example, you would have used VPN instead of the Direct Connect service, you may end up having synchronization issues if there is high latency between the on-premises and the cloud. How can you keep communication almost in real time with a bad latency?.&lt;/p&gt;

&lt;p&gt;In the end, you will have customers who will have a bad experience and this will negatively impact your image as an architect and your employer. This scenario could be avoided&lt;/p&gt;

&lt;p&gt;Not all hybrid architectures require the exact requirements; for this one, low latency is a must.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Considerations&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;What options do I have to create a hybrid cloud infrastructure?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;VPN Over the internet&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldwj61li5cwev1osa0zm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldwj61li5cwev1osa0zm.png" alt="VPN" width="566" height="212"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In a hybrid-cloud scenario, VPN is the fastest way to achieve the goal, but there are some downsides if you have to rely on the solution:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;      The connection is Encrypted, but it is no private - DDoS risk&lt;/li&gt;
&lt;li&gt;  Unpredictable latency&lt;/li&gt;
&lt;li&gt;  Limited throughput – up to 1.25 Gbps - (It can scale with the use of a transit gateway)&lt;/li&gt;
&lt;li&gt;  Low setup costs but high egress traffic costs after a certain amount of data&lt;/li&gt;
&lt;li&gt;  No end-to-end SLAs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AWS Direct Connect&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdkcxjla1yjmrw1nm198.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdkcxjla1yjmrw1nm198.png" alt="AWS Direct Connect" width="698" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Direct Connect is a private way to connect your on-premises infrastructure with a fiber optic connection to AWS inside a data center. This solution is not the fastest/cheapest to deploy; it is more complicated to design, but it provides some advantages like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Extra security (connection outside of the public internet) but not encrypted by default, (possibility of &lt;a href="https://docs.aws.amazon.com/directconnect/latest/UserGuide/MACsec.html" rel="noopener noreferrer"&gt;MACsec encryption&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;  Lowest possible latency&lt;/li&gt;
&lt;li&gt;  High throughput – from 50Mbps up to 100Gbps&lt;/li&gt;
&lt;li&gt;  Cost-effective solution after a certain amount of data&lt;/li&gt;
&lt;li&gt;  Enterprise-grade SLA&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What to choose: Direct Connect or VPN?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This will depend on the company's needs; SLA, latency, bandwidth, and time to deploy are some factors that will help you make the final decision. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/whitepapers/latest/hybrid-connectivity/connectivity-type-selection-summary.html" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmwr3kprl07kx6qzm3ju.jpg" alt="Direct Connect vs VPN" width="604" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Planning and implementing a network design&lt;/strong&gt; that meets your business needs and requirements &lt;strong&gt;is essential&lt;/strong&gt; to ensure a successful hybrid cloud deployment in AWS. &lt;em&gt;Not doing a proper analysis can negatively impact the business in all aspects.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Networking is the key to success&lt;/strong&gt;: &lt;em&gt;Strong networking, seamless integration&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Measuring latencies for the new region of AWS Spain (eu-south-2)</title>
      <dc:creator>Luis Horvath</dc:creator>
      <pubDate>Mon, 03 Apr 2023 21:53:01 +0000</pubDate>
      <link>https://dev.to/aws-builders/measuring-latencies-for-the-new-region-of-aws-spain-eu-south-2-kpd</link>
      <guid>https://dev.to/aws-builders/measuring-latencies-for-the-new-region-of-aws-spain-eu-south-2-kpd</guid>
      <description>&lt;p&gt;Some months ago, I was at the AWS re-cap event in Madrid to view all the Highlights from the re:Invent 2022 and the presentation of the new region of AWS Spain in Zaragoza. &lt;/p&gt;

&lt;p&gt;In the Q&amp;amp;A session, I asked a question regarding latencies.&lt;/p&gt;

&lt;p&gt;Before deeping dive, what is &lt;strong&gt;latency&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Latency is a term used to describe a &lt;strong&gt;time delay in a transmission medium&lt;/strong&gt;.  &lt;em&gt;In free space, light travels at 299,792,458 meters per second.  This equates to 299.792 meters per microsecond (µs) or 3.34µs per kilometer.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;I wanted to know what the latency is for a Spanish customer using Direct Connect to get transported from the&lt;/em&gt; &lt;a href="https://aws.amazon.com/directconnect/locations/" rel="noopener noreferrer"&gt;DX locations&lt;/a&gt; located in Madrid &lt;em&gt;(located either in Interxion or Equinix) to Zaragoza, to the new cluster in Spain.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Considering a straight line, Zaragoza is around 320 km away from Madrid. It is not in the same metropolitan area&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3wq4rv9ubo555oefc3g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3wq4rv9ubo555oefc3g.png" alt="Distance from Zaragoza to Madrid" width="492" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What I asked is a tricky question, because it's not just about the distance of the various fiber routes with the travel speed of light, but also the number of network devices the data stream must pass through to the cloud of AWS Spain.&lt;/p&gt;

&lt;p&gt;I got as an answer &lt;strong&gt;an estimation of less than 10ms&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;After many months, I decided to resolve this equation and do this measurement; &lt;strong&gt;we are engineers and like precision ;)&lt;/strong&gt;. I will try to keep the solution simple; let´s get started:&lt;/p&gt;

&lt;p&gt;To perform this measurement, I created the following infrastructure in AWS:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0w7m3rn3iyjj8vb0t92.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0w7m3rn3iyjj8vb0t92.png" alt="Architecture" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The idea behind this infrastructure is to access my Private Host 1 in the private subnet via SSH from the bastion host, which is available from the internet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0qx2yvp3g45ogw7kvme.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0qx2yvp3g45ogw7kvme.png" alt="console from the ec2 instance" width="800" height="334"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Looks easy, right?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Imagine replicating the same infrastructure using a different IP space but keeping the same configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft8qjmspm26uy3hserhhy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft8qjmspm26uy3hserhhy.png" alt="Replicated Architecture with a different IP Space" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that we have these two infrastructures in place, how can we interconnect them for performing this measurement?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftqfjhz7x4b8h50ejpv9j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftqfjhz7x4b8h50ejpv9j.png" alt="AWS DX Service" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using the &lt;a href="https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html" rel="noopener noreferrer"&gt;Direct connect Service (DX)&lt;/a&gt;, with the help of an interconnection partner. This is the list of &lt;a href="https://aws.amazon.com/directconnect/partners/?partner-solutions-cards.sort-by=item.additionalFields.partnerNameLower&amp;amp;partner-solutions-cards.sort-order=asc&amp;amp;awsf.partner-solutions-filter-location=*all" rel="noopener noreferrer"&gt;partners&lt;/a&gt;; for this lab, I will use DE-CIX.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;We will interconnect the VPC1 with a DX connection to a location where AWS and the partner are present → Interxion MAD2, in Madrid.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;We will do the same with the VPC2 using another DX connection ending in the same DC.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Once they are interconnected, we will ping from Private Host 1, to Private Host 2 for measuring the path until Madrid from Zaragoza.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Maybe you will be asking, how will you interconnect one DXcon with the other DXcon?&lt;/em&gt; &lt;em&gt;Do you have a rack there for routing and doing measurements?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The answer to the last question is yes and no; we will use the DE-CIX CloudROUTER to interconnect the two AWS Direct Connections in Interxion. &lt;/p&gt;

&lt;p&gt;This Cloud Router is a VRF (Virtual Routing &amp;amp; Forwarding) instance executed in carrier-grade networking gear. It extends where it is needed, in this case, to the Interxion MAD2 location where the partner and AWS are present.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2e9tospdko966l77o9xk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2e9tospdko966l77o9xk.png" alt="Final architecture with the CloudRouter" width="800" height="551"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If we want to interconnect two instances in different VPCs, we use a VPC Peering connection in AWS.&lt;/p&gt;

&lt;p&gt;For this exercise, because we want to measure the path until Madrid, we do this architecture using the DE-CIX services.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh31q49cekj8t3s8uw2gn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh31q49cekj8t3s8uw2gn.png" alt="Final architecture seen from the map" width="480" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we send a ping from Private Host 1 to Private Host 2, the ping flows from Zaragoza to Madrid and from Madrid to Zaragoza, ending in Private Host 2 and returning to Private Host 1.&lt;/p&gt;

&lt;p&gt;Because we want to get the latency of half path (from Zaragoza to Madrid only), we must divide it by two if we perform a ping.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Measurements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I´ve done two ping runs with different window sizes to perform the measurements. As you can see, the latency can vary a little bit. This depends on the route AWS is taking inside its backbone. It seems there are two different ways to reach the destiny, one with less latency than the other. &lt;/p&gt;

&lt;p&gt;Also, because there are different availability zones (AZs), the latency can vary depending on where our resources are located.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Window size 128K – Run 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjdmanchnppiuaam0tsha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjdmanchnppiuaam0tsha.png" alt="Window size 128K – Run 1" width="568" height="464"&gt;&lt;/a&gt;Avg = 11.934 / 2 = &lt;strong&gt;5.967 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Window size 128K – Run 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9rxyujbkzj1dy821bv5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9rxyujbkzj1dy821bv5.png" alt="Window size 128K – Run 2" width="568" height="684"&gt;&lt;/a&gt; Avg= 16.441 / 2 = &lt;strong&gt;8.2205 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Window size 256K – Run 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvxyxm7yfsvvcnftyzy5n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvxyxm7yfsvvcnftyzy5n.png" alt="Window size 256K – Run 1" width="568" height="450"&gt;&lt;/a&gt; Avg = 11.928 / 2 = &lt;strong&gt;5.964 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Window size 256K – Run 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfw7bbqccglnnwbn2y78.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfw7bbqccglnnwbn2y78.png" alt="Window size 256K – Run 2" width="568" height="728"&gt;&lt;/a&gt; Avg = 16.451 / 2 = &lt;strong&gt;8.2255 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Window size 512K – Run 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F64u5f03y5x9byn1hop4s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F64u5f03y5x9byn1hop4s.png" alt="Window size 512K – Run 1" width="568" height="516"&gt;&lt;/a&gt; Avg = 11.946 / 2 = &lt;strong&gt;5.973 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Window size 512K – Run 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gho55w815s8uqzuapu0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gho55w815s8uqzuapu0.png" alt="Window size 512K – Run 2" width="568" height="766"&gt;&lt;/a&gt; Avg = 16.452 / 2 = &lt;strong&gt;8.226 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Window size 1024K – Run 1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7pzzh0u1deu3ur4g8czz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7pzzh0u1deu3ur4g8czz.png" alt="Window size 1024K – Run 1" width="568" height="552"&gt;&lt;/a&gt; Avg = 11.975 / 2 = &lt;strong&gt;5.9875 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Window size 1024K – Run 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5pp710olfeypen80x3kd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5pp710olfeypen80x3kd.png" alt="Window size 1024K – Run 2" width="568" height="430"&gt;&lt;/a&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06ykkrhqub3brmgpyxsa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06ykkrhqub3brmgpyxsa.png" alt="Window size 1024K – Run 2" width="568" height="172"&gt;&lt;/a&gt; Avg = 16.492 / 2 = &lt;strong&gt;8.246 ms&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average of the taken samples:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Run 1 ≈ &lt;strong&gt;5.97 ms&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Run 2 ≈ &lt;strong&gt;8.23 ms&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The answer to my question &lt;strong&gt;depends&lt;/strong&gt;; &lt;em&gt;it depends on which internal path of the AWS backbone you land and where your resources are;&lt;/em&gt; &lt;strong&gt;you will get either 6 or 8 ms (approx.) to reach the cloud from Madrid to Zaragoza.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Personal thoughts&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;This mini-lab was fun to do; &lt;em&gt;having the opportunity to integrate cloud connections with this technology is a grand experiment &lt;strong&gt;that everyone should try.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In the future, I could prepare another lab for migrating from one cloud to AWS using high bandwidth DX Connections in combination with the Cloud Router and measuring the throughput.&lt;/em&gt; &lt;strong&gt;What do you think?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I read you in the comments :D &lt;/p&gt;

</description>
      <category>directconnect</category>
      <category>aws</category>
      <category>networking</category>
      <category>spain</category>
    </item>
  </channel>
</rss>
