<?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: Francisco Escobar</title>
    <description>The latest articles on DEV Community by Francisco Escobar (@franciscojeg78).</description>
    <link>https://dev.to/franciscojeg78</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%2F1043635%2F665db84f-4fdb-4e17-b114-a4971d8fa315.jpg</url>
      <title>DEV Community: Francisco Escobar</title>
      <link>https://dev.to/franciscojeg78</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/franciscojeg78"/>
    <language>en</language>
    <item>
      <title>El Arte de Diagramar en AWS: Guía Visual para Arquitectos e Ingenieros</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Sat, 21 Mar 2026 18:50:43 +0000</pubDate>
      <link>https://dev.to/aws-builders/el-arte-de-diagramar-en-aws-guia-visual-para-arquitectos-e-ingenieros-443j</link>
      <guid>https://dev.to/aws-builders/el-arte-de-diagramar-en-aws-guia-visual-para-arquitectos-e-ingenieros-443j</guid>
      <description>&lt;h2&gt;
  
  
  Tabla de Contenidos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Introducción&lt;/li&gt;
&lt;li&gt;El Ecosistema de Herramientas del Arquitecto&lt;/li&gt;
&lt;li&gt;Las Leyes de Contención en AWS&lt;/li&gt;
&lt;li&gt;Arquitectura Monocapa: El Prototipo&lt;/li&gt;
&lt;li&gt;El Motor de Alta Disponibilidad&lt;/li&gt;
&lt;li&gt;Arquitectura de Tres Capas: El Estándar Empresarial&lt;/li&gt;
&lt;li&gt;Anatomía de un Flujo Serverless&lt;/li&gt;
&lt;li&gt;Matriz de Arquitecturas: Eligiendo el Modelo Correcto&lt;/li&gt;
&lt;li&gt;La Mente del Arquitecto: El Flujo Completo&lt;/li&gt;
&lt;li&gt;El Toque Final: Documentación Integrada&lt;/li&gt;
&lt;li&gt;Conclusión&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducción
&lt;/h2&gt;

&lt;p&gt;Si alguna vez te sentaste frente a draw.io o Lucidchart a "dibujar tu arquitectura" y terminaste con un plato de espaguetis de flechas sin sentido... este artículo es para ti.&lt;/p&gt;

&lt;p&gt;Diagramar en AWS no es solo arrastrar íconos al lienzo. Es un ejercicio de &lt;strong&gt;pensamiento arquitectónico&lt;/strong&gt; donde cada caja, cada flecha y cada borde cuenta una historia sobre cómo fluyen los datos, cómo se aíslan los componentes y cómo sobrevive tu sistema cuando algo falla.&lt;/p&gt;

&lt;p&gt;En esta guía vamos a recorrer desde las herramientas que necesitas hasta los patrones arquitectónicos más comunes, pasando por las reglas de contención que todo diagrama profesional debe respetar.&lt;/p&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  El Ecosistema de Herramientas del Arquitecto
&lt;/h2&gt;

&lt;p&gt;Antes de dibujar la primera línea, necesitas dos cosas: &lt;strong&gt;los activos correctos&lt;/strong&gt; y &lt;strong&gt;el lienzo adecuado&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Los Activos
&lt;/h3&gt;

&lt;p&gt;Para mantener un estándar profesional, evita íconos genéricos. AWS publica un paquete oficial de íconos de arquitectura que puedes descargar buscando &lt;strong&gt;"&lt;a href="https://aws.amazon.com/architecture/icons/" rel="noopener noreferrer"&gt;AWS architecture icons&lt;/a&gt;"&lt;/strong&gt;. Este paquete incluye kits para PowerPoint (PPTX) y archivos SVG que puedes usar directamente en tus herramientas de diagramación.&lt;/p&gt;

&lt;h3&gt;
  
  
  El Lienzo
&lt;/h3&gt;

&lt;p&gt;Las dos plataformas certificadas más populares son:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://app.diagrams.net/" rel="noopener noreferrer"&gt;draw.io&lt;/a&gt;&lt;/strong&gt; — Gratuita y open source. Asegúrate de habilitar el paquete "AWS 2026" en la sección "Más formas" (&lt;em&gt;More shapes&lt;/em&gt;) para acceder a las versiones más recientes de los íconos.&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%2Fscpkilnsu9h7076dl4ye.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%2Fscpkilnsu9h7076dl4ye.png" alt="Image draw" width="686" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.lucidchart.com/pages/es/landing?utm_source=google&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=_chart_es_tier1_mixed_search_brand_exact_&amp;amp;km_CPC_CampaignId=1487565747&amp;amp;km_CPC_AdGroupID=56488588774&amp;amp;km_CPC_Keyword=lucidchart&amp;amp;km_CPC_MatchType=e&amp;amp;km_CPC_ExtensionID=&amp;amp;km_CPC_Network=g&amp;amp;km_CPC_AdPosition=&amp;amp;km_CPC_Creative=284415987027&amp;amp;km_CPC_TargetID=kwd-33511936169&amp;amp;km_CPC_Country=9198254&amp;amp;km_CPC_Device=c&amp;amp;km_CPC_placement=&amp;amp;km_CPC_target=&amp;amp;gad_source=1&amp;amp;gad_campaignid=1487565747&amp;amp;gbraid=0AAAAADLdSjBP1LchZX-AiNjnhQ5-9cjWQ&amp;amp;gclid=CjwKCAjwg_nNBhAGEiwAiYPYA1hhKr2CgaUXYMUcOCuuZHVqcoSOidV64eHduec6J6x1xbx-fo-WYhoCdxEQAvD_BwE" rel="noopener noreferrer"&gt;Lucidchart&lt;/a&gt;&lt;/strong&gt; — Opción premium con colaboración en tiempo real y bibliotecas de AWS integradas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Las Leyes de Contención en AWS
&lt;/h2&gt;

&lt;p&gt;Antes de colocar un solo servidor, debes trazar los cimientos. Toda infraestructura AWS sigue una &lt;strong&gt;jerarquía estricta de aislamiento y red&lt;/strong&gt; que debe reflejarse en los grupos y marcos de tu diagrama.&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%2Fyux1q1hamvee15e2ppis.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%2Fyux1q1hamvee15e2ppis.jpg" alt="Image 2" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Este es el &lt;strong&gt;Modelo de Contención&lt;/strong&gt;, de afuera hacia adentro:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Cuenta AWS
  └── Región
        └── VPC (Virtual Private Cloud)
              └── Zonas de Disponibilidad (AZs)
                    ├── Subred Pública
                    ├── Subred Privada
                    └── Subred Privada
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cada nivel de esta jerarquía representa un &lt;strong&gt;límite de aislamiento&lt;/strong&gt;. Tu diagrama debe mostrar claramente estos límites usando marcos anidados, porque si alguien no puede distinguir qué está en una subred pública vs. privada con solo mirar el diagrama, entonces el diagrama no está cumpliendo su función.&lt;/p&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Arquitectura Monocapa: El Prototipo
&lt;/h2&gt;

&lt;p&gt;Esta es la arquitectura más simple posible. Ideal para pruebas o aplicaciones &lt;strong&gt;muy simples&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Todo el sistema — interfaz, lógica y base de datos — reside en &lt;strong&gt;una sola instancia EC2&lt;/strong&gt; dentro de una subred pública, accesible a través de un Internet Gateway.&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%2Flanfn4knjb365ct71o6y.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%2Flanfn4knjb365ct71o6y.jpg" alt="Image 3" width="800" height="287"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flujo del diagrama
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Usuario → Internet Gateway → EC2 (Frontend + Lógica + Base de Datos)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Componentes
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Componente&lt;/th&gt;
&lt;th&gt;Ubicación&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;EC2 (subred pública)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lógica de negocio&lt;/td&gt;
&lt;td&gt;EC2 (subred pública)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Base de datos&lt;/td&gt;
&lt;td&gt;EC2 (subred pública)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Contenedores del diagrama
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VPC&lt;/strong&gt; → marco exterior (línea continua verde)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AZ&lt;/strong&gt; → marco intermedio (línea punteada azul)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subred Pública&lt;/strong&gt; → marco interior (línea continua naranja)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Advertencia:&lt;/strong&gt; Esta arquitectura tiene alta vulnerabilidad. Si la Zona de Disponibilidad falla, la aplicación entera se cae. No tiene redundancia ni escalabilidad. Úsala solo para prototipos rápidos.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  El Motor de Alta Disponibilidad
&lt;/h2&gt;

&lt;p&gt;Para sobrevivir a caídas de infraestructura, la arquitectura debe evolucionar. Se introducen dos componentes clave:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Application Load Balancer (ALB):&lt;/strong&gt; Distribuye el tráfico entre múltiples Zonas de Disponibilidad.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto Scaling Group (ASG):&lt;/strong&gt; Crea nuevas instancias automáticamente ante picos de demanda.&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%2Fmfjwpu0crxudwauxn7cg.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%2Fmfjwpu0crxudwauxn7cg.jpg" alt="Image 4" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Falla Única vs. Alta Disponibilidad
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Sin HA:&lt;/strong&gt; Un usuario llega al Internet Gateway → una sola EC2 en una sola AZ. Si esa AZ cae, todo cae.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Con HA:&lt;/strong&gt; El usuario llega al ALB → este distribuye tráfico a instancias EC2 en la Zona A y la Zona B. El Auto Scaling Group gestiona la cantidad de instancias según la demanda.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cómo diagramarlo
&lt;/h3&gt;

&lt;p&gt;La clave visual es mostrar &lt;strong&gt;dos Zonas de Disponibilidad lado a lado&lt;/strong&gt;, cada una con sus propias instancias EC2, y el ALB como punto de entrada centralizado. El Auto Scaling Group se representa como un marco que envuelve las instancias EC2 que administra.&lt;/p&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Arquitectura de Tres Capas: El Estándar Empresarial
&lt;/h2&gt;

&lt;p&gt;Aquí se separan los componentes para &lt;strong&gt;maximizar la seguridad&lt;/strong&gt;. Solo los servidores web residen en la subred pública. La lógica de negocio y la base de datos se ocultan en subredes privadas, protegidas del acceso directo a 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%2Fcf65u016i6ejuew6a29w.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%2Fcf65u016i6ejuew6a29w.jpg" alt="Image 5" width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Las tres capas
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Capa&lt;/th&gt;
&lt;th&gt;Componente&lt;/th&gt;
&lt;th&gt;Subred&lt;/th&gt;
&lt;th&gt;Acceso&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Web&lt;/td&gt;
&lt;td&gt;EC2 Web Server&lt;/td&gt;
&lt;td&gt;Pública&lt;/td&gt;
&lt;td&gt;Expuesta vía ALB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aplicación&lt;/td&gt;
&lt;td&gt;EC2 Application Server&lt;/td&gt;
&lt;td&gt;Privada 1&lt;/td&gt;
&lt;td&gt;Solo accesible desde la capa web&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Base de Datos&lt;/td&gt;
&lt;td&gt;Amazon RDS&lt;/td&gt;
&lt;td&gt;Privada 2&lt;/td&gt;
&lt;td&gt;Solo accesible desde la capa de aplicación&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Flujo del diagrama
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Usuario → Internet Gateway → ALB → EC2 Web Server (Subred Pública)
                                        ↓
                                   EC2 App Server (Subred Privada 1)
                                        ↓
                                   Amazon RDS (Subred Privada 2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Alta disponibilidad incluida
&lt;/h3&gt;

&lt;p&gt;Cada capa se replica en dos AZs. La base de datos usa &lt;strong&gt;replicación sincrónica&lt;/strong&gt; entre la instancia primaria (Database) y la instancia de respaldo (Standby) en la segunda AZ.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Tip para el diagrama:&lt;/strong&gt; Usa columnas para representar las AZs y filas para las capas. Esto crea una grilla visual intuitiva donde es fácil identificar tanto la redundancia horizontal como la separación de capas vertical.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Anatomía de un Flujo Serverless
&lt;/h2&gt;

&lt;p&gt;Desaparecen los servidores físicos y las subredes complejas. El arquitecto ahora &lt;strong&gt;orquesta servicios administrados&lt;/strong&gt;. El usuario carga la web estática desde S3 vía CloudFront, y las interacciones se procesan mediante APIs que disparan funciones Lambda conectadas a DynamoDB.&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%2Fdefl3zzwwa1y4se03p0s.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%2Fdefl3zzwwa1y4se03p0s.jpg" alt="Image 6" width="800" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  El flujo paso a paso
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Paso&lt;/th&gt;
&lt;th&gt;Origen&lt;/th&gt;
&lt;th&gt;Destino&lt;/th&gt;
&lt;th&gt;Descripción&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Usuario&lt;/td&gt;
&lt;td&gt;Amazon Route 53&lt;/td&gt;
&lt;td&gt;Resolución DNS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;CloudFront&lt;/td&gt;
&lt;td&gt;Amazon S3&lt;/td&gt;
&lt;td&gt;Sirve el frontend estático (HTML/Assets)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;Amazon API Gateway&lt;/td&gt;
&lt;td&gt;Llamadas al backend&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;API Gateway&lt;/td&gt;
&lt;td&gt;AWS Lambda&lt;/td&gt;
&lt;td&gt;Ejecución de código (Node.js/Python)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Lambda&lt;/td&gt;
&lt;td&gt;Amazon DynamoDB&lt;/td&gt;
&lt;td&gt;Operación de base de datos vía IAM Role&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Cómo diagramarlo
&lt;/h3&gt;

&lt;p&gt;A diferencia de las arquitecturas con EC2, aquí &lt;strong&gt;no dibujas VPCs ni subredes&lt;/strong&gt; (a menos que Lambda esté configurada dentro de una VPC). El flujo es lineal de izquierda a derecha, numerando cada paso para guiar al lector.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; Los diagramas serverless se leen como una línea de tiempo. Numera cada conexión para que la secuencia sea obvia.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Matriz de Arquitecturas: Eligiendo el Modelo Correcto
&lt;/h2&gt;

&lt;p&gt;Un buen diagrama comienza con la &lt;strong&gt;elección correcta del patrón&lt;/strong&gt;. Evalúa los requisitos de disponibilidad, el presupuesto de mantenimiento y la necesidad de escalabilidad antes de arrastrar el primer ícono al lienzo.&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%2Fzst3w70y2skied3b5l8x.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%2Fzst3w70y2skied3b5l8x.jpg" alt="Image7" width="800" height="329"&gt;&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;Criterio&lt;/th&gt;
&lt;th&gt;Monocapa&lt;/th&gt;
&lt;th&gt;Tres Capas&lt;/th&gt;
&lt;th&gt;Serverless&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Complejidad de configuración&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Baja&lt;/td&gt;
&lt;td&gt;Alta&lt;/td&gt;
&lt;td&gt;Media&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Esfuerzo de mantenimiento&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Alto&lt;/td&gt;
&lt;td&gt;Alto&lt;/td&gt;
&lt;td&gt;Bajo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Escalabilidad&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Manual / Limitada&lt;/td&gt;
&lt;td&gt;Automática (Auto Scaling)&lt;/td&gt;
&lt;td&gt;Infinita y Nativa&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Servicios clave&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;EC2&lt;/td&gt;
&lt;td&gt;EC2, RDS, ALB&lt;/td&gt;
&lt;td&gt;Lambda, API Gateway, DynamoDB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Caso de uso ideal&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Prototipos rápidos&lt;/td&gt;
&lt;td&gt;Aplicaciones empresariales tradicionales&lt;/td&gt;
&lt;td&gt;Microservicios modernos&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;La tabla anterior no es solo una referencia técnica — es la &lt;strong&gt;primera decisión&lt;/strong&gt; que defines antes de abrir tu herramienta de diagramación.&lt;/p&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  La Mente del Arquitecto: El Flujo Completo
&lt;/h2&gt;

&lt;p&gt;Dibujar no es el primer paso. El diseño efectivo de arquitecturas AWS requiere un enfoque sistemático donde la lógica empresarial dicta la ubicación espacial de cada componente en el lienzo.&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%2Fuk4o5idce8synhbgdyo3.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%2Fuk4o5idce8synhbgdyo3.jpg" alt="Image 8" width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Los 6 pasos del flujo
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Definir Requisitos&lt;/strong&gt; — ¿Alta disponibilidad? ¿Serverless? ¿Cuál es el presupuesto?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configurar Herramientas&lt;/strong&gt; — Seleccionar draw.io o Lucidchart y cargar los íconos oficiales 2025.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trazar Cimientos&lt;/strong&gt; — Dibujar los límites de VPC, Región y AZs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ubicar Cómputo y Datos&lt;/strong&gt; — Posicionar EC2, Lambda, RDS en sus subredes correspondientes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mapear el Flujo&lt;/strong&gt; — Conectar con flechas desde el usuario hasta la base de datos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anotar y Documentar&lt;/strong&gt; — Añadir numeración, etiquetas y descripciones.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;La clave es que los pasos 1 y 2 ocurren &lt;strong&gt;antes&lt;/strong&gt; de tocar el lienzo. Si te saltas la fase de requisitos, terminarás redibujando todo.&lt;/p&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  El Toque Final: Documentación Integrada
&lt;/h2&gt;

&lt;p&gt;Un diagrama profesional debe &lt;strong&gt;explicarse por sí mismo&lt;/strong&gt;. No te limites a conectar líneas. Agrega:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Etiquetas claras&lt;/strong&gt; en cada componente&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Roles de seguridad (IAM)&lt;/strong&gt; cuando sean relevantes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secuencias numeradas&lt;/strong&gt; para indicar el orden del flujo 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%2Fflkiwqpx72dipxdxjssd.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%2Fflkiwqpx72dipxdxjssd.jpg" alt="Image 9" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Por ejemplo, en un flujo serverless, una anotación como &lt;em&gt;"La función Lambda (Python) asume un rol de IAM para consultar datos en DynamoDB"&lt;/em&gt; transforma una simple flecha entre dos íconos en una &lt;strong&gt;historia comprensible&lt;/strong&gt; para cualquier persona del equipo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🎯 &lt;strong&gt;El objetivo final no es solo dibujar infraestructura, sino contar la historia de cómo fluyen los datos.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;⬆️&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Diagramar arquitecturas AWS es una habilidad que combina pensamiento técnico con comunicación visual. Recuerda estas reglas fundamentales:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Usa siempre los íconos oficiales&lt;/strong&gt; — la profesionalidad empieza por los activos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Respeta la jerarquía de contención&lt;/strong&gt; — Cuenta → Región → VPC → AZ → Subred.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Elige el patrón antes de dibujar&lt;/strong&gt; — Monocapa, Tres Capas o Serverless.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sigue el flujo sistemático&lt;/strong&gt; — Requisitos → Herramientas → Cimientos → Cómputo → Flujo → Documentación.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documenta dentro del diagrama&lt;/strong&gt; — Etiquetas, roles IAM y secuencias numeradas.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Un buen diagrama no solo describe tu infraestructura: la &lt;strong&gt;defiende&lt;/strong&gt;, la &lt;strong&gt;comunica&lt;/strong&gt; y la &lt;strong&gt;documenta&lt;/strong&gt; para todo tu equipo.&lt;/p&gt;




&lt;p&gt;¿Te resultó útil esta guía? Déjame un 🦄 o un 💬 con tu experiencia diagramando en AWS.&lt;/p&gt;

&lt;p&gt;Si quieres profundizar en algún patrón específico o ver un caso práctico con draw.io, házmelo saber en los comentarios.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sígueme para más contenido sobre AWS y arquitectura cloud.&lt;/strong&gt; ☁️&lt;/p&gt;

</description>
      <category>aws</category>
      <category>networking</category>
      <category>architecture</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Estrategias de Migración a AWS: Dominando las 7 Rs para una Transformación Real</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Fri, 27 Feb 2026 18:43:43 +0000</pubDate>
      <link>https://dev.to/aws-builders/estrategias-de-migracion-a-aws-dominando-las-7-rs-para-una-transformacion-real-5dh7</link>
      <guid>https://dev.to/aws-builders/estrategias-de-migracion-a-aws-dominando-las-7-rs-para-una-transformacion-real-5dh7</guid>
      <description>&lt;p&gt;Migrar a la nube no es un interruptor que se enciende; es un espectro de decisiones estratégicas. Según el &lt;strong&gt;AWS Cloud Adoption Framework (CAF)&lt;/strong&gt;, existen siete caminos comunes para mover aplicaciones. Elegir el equivocado no solo infla la factura mensual, sino que puede heredar deudas técnicas del entorno &lt;em&gt;on-premise&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;En este artículo, profundizamos en cada una de las &lt;strong&gt;7 Rs&lt;/strong&gt;, analizando cuándo usarlas y qué servicios de AWS te ayudarán en el proceso.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Rehost (Lift and Shift)
&lt;/h2&gt;

&lt;p&gt;Consiste en mover la aplicación tal cual, de un servidor físico o virtual a una instancia de &lt;strong&gt;Amazon EC2&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Detalle Técnico:&lt;/strong&gt; Se utilizan herramientas como &lt;strong&gt;AWS Application Migration Service (MGN)&lt;/strong&gt; para automatizar la replicación a nivel de bloque. No hay cambios en el código ni en el sistema operativo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caso de Uso:&lt;/strong&gt; Cuando el objetivo es la rapidez (ej. cierre de un centro de datos en 3 meses) o cuando la aplicación es tan compleja que no se tiene el conocimiento para modificarla.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reto:&lt;/strong&gt; Es la estrategia con menor ROI inicial, ya que no se aprovecha la elasticidad de la nube.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Relocate (Hypervisor-Level Shift)
&lt;/h2&gt;

&lt;p&gt;Mueve la infraestructura a nivel de hipervisor sin impactar las operaciones. Es exclusivo para entornos de &lt;strong&gt;VMware&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Detalle Técnico:&lt;/strong&gt; Utilizas &lt;strong&gt;VMware Cloud on AWS&lt;/strong&gt;. Esto permite mover cientos de máquinas virtuales (VMs) en minutos manteniendo las mismas IPs y configuraciones de red.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caso de Uso:&lt;/strong&gt; Ideal para empresas que quieren una nube híbrida o necesitan evacuar servidores rápidamente sin riesgos de compatibilidad.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Replatform (Lift, Tinker and Shift)
&lt;/h2&gt;

&lt;p&gt;Aquí introduces optimizaciones mínimas para reducir la carga operativa sin cambiar la arquitectura central del código.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ejemplo Pro:&lt;/strong&gt; Migrar un cluster de base de datos autogestionado en Linux a &lt;strong&gt;Amazon RDS&lt;/strong&gt;. O mover una aplicación web a &lt;strong&gt;AWS Elastic Beanstalk&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ventaja:&lt;/strong&gt; Eliminas el "trabajo pesado indiferenciado" (parches de SO, backups, alta disponibilidad) desde el día uno.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Refactor / Re-architect
&lt;/h2&gt;

&lt;p&gt;Es la estrategia más ambiciosa. Implica rediseñar la aplicación para que sea &lt;strong&gt;Cloud-Native&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Detalle Técnico:&lt;/strong&gt; Romper un monolito en microservicios usando &lt;strong&gt;Amazon EKS (Kubernetes)&lt;/strong&gt; o adoptar un enfoque &lt;strong&gt;Serverless&lt;/strong&gt; con &lt;strong&gt;AWS Lambda&lt;/strong&gt; y &lt;strong&gt;Amazon DynamoDB&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caso de Uso:&lt;/strong&gt; Cuando la aplicación actual no puede escalar para satisfacer la demanda o cuando el costo de mantenimiento &lt;em&gt;on-premise&lt;/em&gt; es insostenible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resultado:&lt;/strong&gt; Máxima agilidad y eficiencia de costos a largo plazo.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Repurchase (Drop and Shop)
&lt;/h2&gt;

&lt;p&gt;Abandonar la licencia actual y comprar una solución distinta, usualmente un modelo SaaS.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ejemplo:&lt;/strong&gt; Cambiar una solución de recursos humanos personalizada por &lt;strong&gt;Workday&lt;/strong&gt;, o usar el &lt;strong&gt;AWS Marketplace&lt;/strong&gt; para adquirir versiones nativas de software de seguridad (como Fortinet o Checkpoint) ya integradas con AWS.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. Retain (Revisit)
&lt;/h2&gt;

&lt;p&gt;Significa mantener ciertas aplicaciones en el entorno actual. No todas las cargas de trabajo pertenecen a la nube pública (aún).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Por qué:&lt;/strong&gt; Aplicaciones que requieren latencia de microsegundos con hardware local, cumplimiento normativo estricto o aplicaciones que planeas retirar en menos de un año y no valen el esfuerzo de migración.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  7. Retire
&lt;/h2&gt;

&lt;p&gt;Identificar activos que ya no proporcionan valor al negocio y apagarlos.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Estrategia:&lt;/strong&gt; Durante el descubrimiento con herramientas como &lt;strong&gt;AWS Application Discovery Service&lt;/strong&gt;, es común encontrar servidores "huérfanos" que nadie reclama. Apagarlos libera presupuesto para los proyectos de Refactor.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📊 Matriz de Decisión: ¿Cuál elegir?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Estrategia&lt;/th&gt;
&lt;th&gt;Velocidad&lt;/th&gt;
&lt;th&gt;Esfuerzo Técnico&lt;/th&gt;
&lt;th&gt;Valor Cloud&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Rehost&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;⚡ Muy Alta&lt;/td&gt;
&lt;td&gt;🛠️ Bajo&lt;/td&gt;
&lt;td&gt;📉 Bajo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Replatform&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;🚀 Alta&lt;/td&gt;
&lt;td&gt;🛠️ Medio&lt;/td&gt;
&lt;td&gt;📈 Medio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Refactor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;🐢 Baja&lt;/td&gt;
&lt;td&gt;🛠️ Muy Alto&lt;/td&gt;
&lt;td&gt;💎 Máximo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Repurchase&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;⚡ Alta&lt;/td&gt;
&lt;td&gt;🛠️ Bajo&lt;/td&gt;
&lt;td&gt;📈 Medio&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  ❓ Preguntas Frecuentes (FAQ) sobre Migraciones a AWS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. ¿Cuál es la estrategia más económica?
&lt;/h3&gt;

&lt;p&gt;A corto plazo, &lt;strong&gt;Retire&lt;/strong&gt; (porque dejas de pagar de inmediato) y &lt;strong&gt;Rehost&lt;/strong&gt; (por el bajo costo de implementación). Sin embargo, a largo plazo, &lt;strong&gt;Refactor&lt;/strong&gt; es la más económica debido a que las arquitecturas &lt;em&gt;serverless&lt;/em&gt; y el auto-escalado optimizan el pago por uso al máximo.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. ¿Puedo combinar varias estrategias en un solo proyecto?
&lt;/h3&gt;

&lt;p&gt;¡Absolutamente! Es lo más común. En una migración empresarial, verás un &lt;strong&gt;"Migration Mix"&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;60% Rehost (para salir rápido del data center).&lt;/li&gt;
&lt;li&gt;20% Replatform (para bases de datos).&lt;/li&gt;
&lt;li&gt;10% Retire (limpieza de legado).&lt;/li&gt;
&lt;li&gt;10% Refactor (solo para las apps que generan dinero real).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. ¿Cuánto tiempo toma una migración típica?
&lt;/h3&gt;

&lt;p&gt;Depende de la "R" elegida. Un &lt;strong&gt;Rehost&lt;/strong&gt; puede tomar semanas, mientras que un &lt;strong&gt;Refactor&lt;/strong&gt; completo de un monolito a microservicios puede durar meses o incluso años, dependiendo de la complejidad del código.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. ¿Qué herramientas de AWS son imprescindibles?
&lt;/h3&gt;

&lt;p&gt;Para empezar, no pueden faltar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS Migration Hub:&lt;/strong&gt; Tu panel de control para seguir el progreso.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS Application Discovery Service:&lt;/strong&gt; Para saber qué tienes realmente en tu infraestructura actual.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS Application Migration Service (MGN):&lt;/strong&gt; La herramienta estrella para Rehost.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. ¿Es peligroso el "Lift and Shift" (Rehost)?
&lt;/h3&gt;

&lt;p&gt;No es peligroso, pero es incompleto. El mayor riesgo es financiero: si mueves una aplicación ineficiente a la nube sin optimizarla, tu factura de AWS podría ser más alta que tu costo anterior en &lt;em&gt;on-premise&lt;/em&gt;. El Rehost debe ser el &lt;strong&gt;inicio&lt;/strong&gt;, no el final del camino.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ Conclusión para el lector
&lt;/h2&gt;

&lt;p&gt;Si estás preparando tu examen de certificación (como el &lt;strong&gt;SAA-C03&lt;/strong&gt;) o si estás liderando la estrategia técnica de tu empresa, entender estas 7 rutas es vital. La nube no es un destino mágico que arregla el software mal diseñado; es una plataforma que premia la arquitectura inteligente.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>architecture</category>
      <category>devops</category>
    </item>
    <item>
      <title>¿Es su arquitectura una bomba de tiempo? El Mapa Secreto para el Éxito en la Nube con AWS</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Wed, 11 Feb 2026 21:06:18 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/es-su-arquitectura-una-bomba-de-tiempo-el-mapa-secreto-para-el-exito-en-la-nube-con-aws-i2n</link>
      <guid>https://dev.to/franciscojeg78/es-su-arquitectura-una-bomba-de-tiempo-el-mapa-secreto-para-el-exito-en-la-nube-con-aws-i2n</guid>
      <description>&lt;h3&gt;
  
  
  1. El Caos Detrás de la Nube 🌪️
&lt;/h3&gt;

&lt;p&gt;Existe una preocupación constante en el corazón de los líderes tecnológicos: la incertidumbre de si su infraestructura está realmente "bien hecha". Si bien es peligrosamente sencillo desplegar servicios en Amazon Web Services (AWS) con un par de clics, la verdadera ingeniería reside en garantizar que esos sistemas sean resilientes, seguros y rentables. Sin una brújula clara, la expansión en la nube suele transformarse en un laberinto de costos descontrolados y vulnerabilidades invisibles que acechan en la sombra.&lt;/p&gt;

&lt;p&gt;Aquí es donde el &lt;strong&gt;AWS Well-Architected Framework&lt;/strong&gt; se vuelve indispensable. No se equivoque: esto no es un simple PDF teórico ni un manual de instrucciones básico; es un "cuerpo de conocimiento" vital, destilado de años de experiencia real, diseñado para la supervivencia y el éxito del negocio. Este framework define los principios de diseño y las mejores prácticas que permiten ejecutar cargas de trabajo de alto rendimiento, asegurando que su cimiento tecnológico no solo soporte el peso de hoy, sino que sea el motor de su crecimiento futuro.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. El Poder de la Autocrítica: Más que un Manual, una Brújula 🧭
&lt;/h3&gt;

&lt;p&gt;El valor genuino de este marco de trabajo no reside solo en sus respuestas, sino en la incomodidad de sus preguntas. He aprendido que la honestidad técnica es el primer paso hacia una infraestructura de clase mundial. El framework actúa como una brújula que obliga a los equipos a confrontar la realidad de sus sistemas mediante evaluaciones críticas que revelan riesgos antes de que se conviertan en desastres.&lt;/p&gt;

&lt;p&gt;Imagine que durante una revisión le pregunto: &lt;em&gt;"¿Cómo protege sus datos en reposo?"&lt;/em&gt;. Responder "No lo sé" es una señal de alarma inmediata que indica una falta de cifrado o tokenización. Esta ignorancia es una vulnerabilidad crítica. El framework toma esa brecha y la convierte en una hoja de ruta clara para la remediación, midiendo la calidad del sistema bajo un estándar de excelencia.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"El AWS Well-Architected Framework contiene preguntas arquitectónicas clave que pueden ayudarle a verificar y medir la calidad de sus sistemas".&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  3. Pilar 1: La Excelencia Operativa no es un Destino, es un Proceso ⚙️
&lt;/h3&gt;

&lt;p&gt;En mi experiencia, la excelencia operativa es el motor que mantiene viva la innovación. Se define como la capacidad de ejecutar y monitorear sistemas para entregar valor, mejorando continuamente los procesos. En la nube, la infraestructura no debe ser estática; debe ser un organismo que evoluciona.&lt;/p&gt;

&lt;p&gt;Para lograr esto, la automatización es reina. El uso de &lt;strong&gt;AWS CloudFormation&lt;/strong&gt; es fundamental para crear plantillas que estandaricen el despliegue y minimicen el error humano. Este pilar se divide en áreas como Organización, Preparación y Operación, pero es en la etapa de "Evolucionar" (Evolve) donde herramientas como &lt;strong&gt;Amazon OpenSearch Service&lt;/strong&gt; permiten analizar datos operativos para refinar el sistema. Recuerde: no busque la perfección inicial; busque la capacidad de mejorar constantemente.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. El Mito de la Seguridad "Aislada": Una Responsabilidad Compartida 🛡️
&lt;/h3&gt;

&lt;p&gt;La seguridad no es un parche que se aplica al final; es el tejido mismo de su arquitectura. Bajo el &lt;strong&gt;Modelo de Responsabilidad Compartida&lt;/strong&gt;, la seguridad se construye en capas, desde la protección de la infraestructura física de AWS hasta el código que usted escribe. Este pilar exige un enfoque holístico que abarque seis áreas críticas: Seguridad, Gestión de Identidades, Controles Detectivos, Protección de Infraestructura, Protección de Datos y Respuesta ante Incidentes.&lt;/p&gt;

&lt;p&gt;He visto cómo el uso riguroso de &lt;strong&gt;AWS Identity and Access Management (IAM)&lt;/strong&gt; y controles detectivos como &lt;strong&gt;Amazon GuardDuty&lt;/strong&gt; pueden detener ataques antes de que comiencen. Además, la protección de datos es innegociable; servicios como &lt;strong&gt;AWS KMS&lt;/strong&gt; para cifrado, &lt;strong&gt;Amazon Macie&lt;/strong&gt; para descubrir datos sensibles y el uso de &lt;strong&gt;Elastic Load Balancing (ELB)&lt;/strong&gt; garantizan que la información esté segura tanto en reposo como en tránsito. La seguridad no es un estado, es una disciplina continua.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Resiliencia vs. Realidad: El Pilar de la Confiabilidad 🏗️
&lt;/h3&gt;

&lt;p&gt;En el mundo de la arquitectura de soluciones, partimos de una premisa: &lt;strong&gt;todo falla en algún momento&lt;/strong&gt;. La Confiabilidad (Reliability) es la capacidad de un sistema para recuperarse de interrupciones, adquirir recursos dinámicamente según la demanda y mitigar problemas como configuraciones erróneas o fallos de red.&lt;/p&gt;

&lt;p&gt;La "Gestión de Fallas" transforma un error técnico en una oportunidad de recuperación automatizada. Aquí, &lt;strong&gt;Amazon CloudWatch&lt;/strong&gt; se convierte en sus ojos y oídos, permitiendo monitorear la salud de la carga de trabajo y activar respuestas automáticas. Una arquitectura confiable no es la que nunca falla, sino la que sabe cómo volver a levantarse sin que el usuario lo note.&lt;/p&gt;




&lt;h3&gt;
  
  
  6. Eficiencia de Rendimiento: Hacer Más con el Tamaño Justo 🚀
&lt;/h3&gt;

&lt;p&gt;Muchos cometen el error de pensar que la eficiencia es una decisión única de "set and forget". No podrían estar más equivocados. La Eficiencia de Rendimiento es un proceso dinámico de Selección, Revisión, Monitoreo y, sobre todo, Compensaciones (Trade-offs). Implica elegir los recursos adecuados para la tarea y ajustarlos a medida que la tecnología evoluciona.&lt;/p&gt;

&lt;p&gt;No se trata de usar la instancia más cara, sino la más apta. Esto requiere un ejercicio constante de equilibrio. Por ejemplo, implementar &lt;strong&gt;Amazon ElastiCache&lt;/strong&gt; puede reducir drásticamente la latencia y la carga en sus bases de datos, permitiéndole hacer más con menos. La clave es la revisión constante: lo que era eficiente hace seis meses, hoy podría ser una deuda técnica.&lt;/p&gt;




&lt;h3&gt;
  
  
  7. Optimización de Costos: El Arte de No Pagar por lo que No Usas 💰
&lt;/h3&gt;

&lt;p&gt;En la nube, la "conciencia de gastos" es una ventaja competitiva directa. Cada centavo desperdiciado en un recurso inactivo es capital que no se invirtió en desarrollar una nueva funcionalidad. La Optimización de Costos se trata de eliminar lo innecesario y alinear la oferta con la demanda real.&lt;/p&gt;

&lt;p&gt;Utilizar herramientas como &lt;strong&gt;AWS Cost Explorer&lt;/strong&gt; y &lt;strong&gt;AWS Budgets&lt;/strong&gt; le otorga la visibilidad necesaria para tomar decisiones informadas. La meta es implementar un modelo de "Cloud Financial Management" donde se paguen solo los recursos que generan valor, utilizando el escalado automático para que la factura refleje exactamente el uso del negocio.&lt;/p&gt;




&lt;h3&gt;
  
  
  8. Sostenibilidad: El Sexto Pilar que Cambió el Juego 🌱
&lt;/h3&gt;

&lt;p&gt;El pilar más reciente nos recuerda que nuestra responsabilidad va más allá del balance financiero; incluye el impacto ambiental. La sostenibilidad en la nube consiste en maximizar los beneficios de los recursos aprovisionados para minimizar el impacto ecológico global.&lt;/p&gt;

&lt;p&gt;Esto no se logra solo con buenas intenciones, sino con patrones de software y arquitectura inteligentes. Al utilizar &lt;strong&gt;Amazon EC2 Auto Scaling&lt;/strong&gt;, no solo optimizamos el rendimiento y el costo, sino que también reducimos el desperdicio energético al apagar lo que no se usa. La eficiencia técnica ahora es, intrínsecamente, responsabilidad ecológica. La arquitectura moderna debe ser elegante, eficiente y, sobre todo, consciente.&lt;/p&gt;




&lt;h3&gt;
  
  
  9. Conclusión: Construir para el Futuro 🔮
&lt;/h3&gt;

&lt;p&gt;Adoptar el AWS Well-Architected Framework es, en última instancia, una inversión en la plausibilidad del éxito de su empresa. Una arquitectura sólida permite que la tecnología sea el viento a favor de su negocio y no el ancla que lo detiene. Como mentor, mi consejo es sencillo: no tema a la evaluación; témele a la ignorancia de los puntos ciegos de su sistema.&lt;/p&gt;

&lt;p&gt;Después de este recorrido por los seis pilares, le dejo una pregunta para su próxima reunión de equipo: &lt;strong&gt;Si hoy mismo tuviera que enfrentar una auditoría crítica de seguridad y resiliencia en su infraestructura, ¿cuántas veces se vería obligado a responder "No lo sé"?&lt;/strong&gt; El camino hacia la excelencia comienza con la valentía de responder esa pregunta con total honestidad.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;¿Te interesa profundizar en algún pilar específico? ¿Cuál ha sido el mayor desafío en tu arquitectura? Cuéntamelo en los comentarios.&lt;/strong&gt; 👇&lt;/p&gt;

</description>
      <category>aws</category>
      <category>architecture</category>
      <category>cloud</category>
      <category>devops</category>
    </item>
    <item>
      <title>📝 Guía de Escritura en Markdown para dev.to</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Sat, 24 Jan 2026 22:45:30 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/guia-de-escritura-en-markdown-para-devto-4g22</link>
      <guid>https://dev.to/franciscojeg78/guia-de-escritura-en-markdown-para-devto-4g22</guid>
      <description>&lt;p&gt;Una guia exhaustiva para crear articulos tecnicos de alta calidad en dev.to, optimizada para contenido AWS y certificaciones cloud.&lt;/p&gt;




&lt;h2&gt;
  
  
  🗺️ Tabla de contenidos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Front Matter&lt;/li&gt;
&lt;li&gt;Estructura de un articulo&lt;/li&gt;
&lt;li&gt;Formato de texto basico&lt;/li&gt;
&lt;li&gt;Encabezados&lt;/li&gt;
&lt;li&gt;Listas&lt;/li&gt;
&lt;li&gt;Tablas&lt;/li&gt;
&lt;li&gt;Bloques de codigo&lt;/li&gt;
&lt;li&gt;Imagenes&lt;/li&gt;
&lt;li&gt;Enlaces&lt;/li&gt;
&lt;li&gt;Tabla de Contenidos ToC&lt;/li&gt;
&lt;li&gt;Enlace Volver arriba&lt;/li&gt;
&lt;li&gt;Callouts y notas&lt;/li&gt;
&lt;li&gt;Diagramas ASCII&lt;/li&gt;
&lt;li&gt;Liquid Tags&lt;/li&gt;
&lt;li&gt;Emojis recomendados&lt;/li&gt;
&lt;li&gt;Template completo&lt;/li&gt;
&lt;li&gt;Template certificacion&lt;/li&gt;
&lt;li&gt;Checklist pre-publicacion&lt;/li&gt;
&lt;li&gt;SEO y engagement&lt;/li&gt;
&lt;li&gt;Errores comunes&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📋 Front Matter (Metadatos del post)
&lt;/h2&gt;

&lt;p&gt;El front matter va al &lt;strong&gt;inicio&lt;/strong&gt; del archivo, entre &lt;code&gt;---&lt;/code&gt;. Controla como se muestra tu post en dev.to.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sintaxis basica
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Tu titulo aqui (max 128 caracteres)&lt;/span&gt;
&lt;span class="na"&gt;published&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Descripcion corta para SEO (max 156 caracteres)&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;aws, cloud, devops, tutorial&lt;/span&gt;
&lt;span class="na"&gt;cover_image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://url-de-tu-imagen.jpg&lt;/span&gt;
&lt;span class="na"&gt;canonical_url&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://tu-blog.com/post-original&lt;/span&gt;
&lt;span class="na"&gt;series&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Nombre de la serie&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Campos explicados
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Campo&lt;/th&gt;
&lt;th&gt;Requerido&lt;/th&gt;
&lt;th&gt;Descripcion&lt;/th&gt;
&lt;th&gt;Limites&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;Titulo del post (aparece en el feed)&lt;/td&gt;
&lt;td&gt;Max 128 caracteres&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;published&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;true&lt;/code&gt; = publico, &lt;code&gt;false&lt;/code&gt; = borrador&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;Meta description para SEO y preview&lt;/td&gt;
&lt;td&gt;Max 156 caracteres&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tags&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;Categorias del post&lt;/td&gt;
&lt;td&gt;Max 4 tags, separados por coma&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cover_image&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;URL de imagen de portada&lt;/td&gt;
&lt;td&gt;1000x420 px ideal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;canonical_url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;Si publicaste primero en otro sitio&lt;/td&gt;
&lt;td&gt;URL completa&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;series&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;Agrupa posts relacionados&lt;/td&gt;
&lt;td&gt;Texto libre&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Tags populares para contenido AWS
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Tutoriales generales&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;aws, cloud, devops, tutorial&lt;/span&gt;

&lt;span class="c1"&gt;# Seguridad y networking&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;aws, security, networking, beginners&lt;/span&gt;

&lt;span class="c1"&gt;# Serverless&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;aws, serverless, lambda, architecture&lt;/span&gt;

&lt;span class="c1"&gt;# Certificaciones&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;aws, certification, career, learning&lt;/span&gt;

&lt;span class="c1"&gt;# Infrastructure as Code&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;aws, terraform, cloudformation, iac&lt;/span&gt;

&lt;span class="c1"&gt;# Containers&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;aws, docker, kubernetes, ecs&lt;/span&gt;

&lt;span class="c1"&gt;# Machine Learning&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;aws, machinelearning, bedrock, ai&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Ejemplos de titulos efectivos
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# ❌ Titulos genericos (evitar)&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Aprendiendo AWS&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Tutorial de VPC&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Mi experiencia con Lambda&lt;/span&gt;

&lt;span class="c1"&gt;# ✅ Titulos especificos y atractivos&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;VPC&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;en&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;AWS:&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Guia&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Practica&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;con&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Diagrama&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;y&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Codigo&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;[2025]"&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Security&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Groups&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;vs&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;NACLs:&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;La&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Guia&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Definitiva&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;para&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;el&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;SAA-C03"&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Como&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Reduje&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;el&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Costo&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;de&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Lambda&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;en&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;70%&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;con&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;estas&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;5&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Tecnicas"&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;De&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Cero&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;a&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Arquitecto&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;AWS:&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Mi&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Ruta&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;de&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;6&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Meses&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;al&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;SAA-C03"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Series para contenido relacionado
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Post 1&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;AWS&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;VPC&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Masterclass&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;-&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Parte&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;1:&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Fundamentos"&lt;/span&gt;
&lt;span class="na"&gt;series&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;AWS VPC Masterclass&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="c1"&gt;# Post 2&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;AWS&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;VPC&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Masterclass&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;-&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Parte&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;2:&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Subnets&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;y&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Routing"&lt;/span&gt;
&lt;span class="na"&gt;series&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;AWS VPC Masterclass&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Tip&lt;/strong&gt;: Los posts de la misma serie se enlazan automaticamente en dev.to.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;⬆️ Volver arriba&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🏗️ Estructura de un articulo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Anatomia de un post efectivo
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────────────┐
│  HOOK (primeras 3 lineas)                                       │
│  - Captura atencion inmediata                                   │
│  - Problema que resuelve                                        │
│  - Beneficio para el lector                                     │
├─────────────────────────────────────────────────────────────────┤
│  TL;DR / RESUMEN EJECUTIVO                                      │
│  - Que aprenderan                                               │
│  - Tiempo estimado                                              │
│  - Nivel de dificultad                                          │
├─────────────────────────────────────────────────────────────────┤
│  METADATOS RAPIDOS (tabla)                                      │
│  - Servicios AWS usados                                         │
│  - Requisitos previos                                           │
│  - Costos estimados                                             │
├─────────────────────────────────────────────────────────────────┤
│  TABLA DE CONTENIDOS                                            │
│  - Enlaces a cada seccion                                       │
├─────────────────────────────────────────────────────────────────┤
│  CONTENIDO PRINCIPAL                                            │
│  - Por que importa (contexto)                                   │
│  - Arquitectura (diagrama)                                      │
│  - Paso a paso (tutorial)                                       │
│  - Validacion (verificar que funciona)                          │
├─────────────────────────────────────────────────────────────────┤
│  TROUBLESHOOTING                                                │
│  - Errores comunes                                              │
│  - Soluciones                                                   │
├─────────────────────────────────────────────────────────────────┤
│  CONCEPTOS PARA EL EXAMEN (si aplica)                           │
│  - Tips para certificacion                                      │
│  - Preguntas tipicas                                            │
├─────────────────────────────────────────────────────────────────┤
│  LIMPIEZA DE RECURSOS                                           │
│  - Comandos para eliminar                                       │
│  - Evitar costos inesperados                                    │
├─────────────────────────────────────────────────────────────────┤
│  RECURSOS Y REFERENCIAS                                         │
│  - Documentacion oficial                                        │
│  - Posts relacionados                                           │
├─────────────────────────────────────────────────────────────────┤
│  CALL TO ACTION                                                 │
│  - Seguir para mas contenido                                    │
│  - Comentarios/feedback                                         │
│  - Repositorio de codigo                                        │
└─────────────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⬆️ Volver arriba&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✍️ Formato de texto basico
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Sintaxis de formato
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Elemento&lt;/th&gt;
&lt;th&gt;Sintaxis&lt;/th&gt;
&lt;th&gt;Resultado&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Negrita&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;**texto**&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;texto&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Cursiva&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;*texto*&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;texto&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;em&gt;Negrita + cursiva&lt;/em&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;***texto***&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&lt;em&gt;texto&lt;/em&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;del&gt;Tachado&lt;/del&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~~texto~~&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;del&gt;tachado&lt;/del&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Codigo inline&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;`codigo`&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;codigo&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resaltado&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;mark&amp;gt;texto&amp;lt;/mark&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;texto&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Subindice&lt;/td&gt;
&lt;td&gt;&lt;code&gt;H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;H2O&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Superindice&lt;/td&gt;
&lt;td&gt;&lt;code&gt;X&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;X&lt;sup&gt;2&lt;/sup&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Combinaciones utiles para documentacion tecnica
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gs"&gt;**⚠️ Importante:**&lt;/span&gt; Este paso es critico para la seguridad.
&lt;span class="gt"&gt;
&amp;gt; 💡 **Tip**: Usa `aws configure --profile dev` para multiples perfiles.&lt;/span&gt;

&lt;span class="sb"&gt;`aws s3 ls`&lt;/span&gt; → &lt;span class="gs"&gt;**Lista todos los buckets**&lt;/span&gt; en tu cuenta.

La variable &lt;span class="sb"&gt;`${AWS_REGION}`&lt;/span&gt; debe estar configurada &lt;span class="gs"&gt;**antes**&lt;/span&gt; de ejecutar.

~~No uses root~~ → Usa un usuario IAM con MFA.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Escapar caracteres especiales
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="se"&gt;\*&lt;/span&gt;texto sin cursiva&lt;span class="se"&gt;\*&lt;/span&gt;
&lt;span class="se"&gt;\`&lt;/span&gt;codigo sin formato&lt;span class="se"&gt;\`&lt;/span&gt;
&lt;span class="se"&gt;\#&lt;/span&gt; no es un heading
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⬆️ Volver arriba&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📑 Encabezados
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Jerarquia correcta
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# H1 - Titulo del post (SOLO UNO por articulo)&lt;/span&gt;
&lt;span class="gu"&gt;## H2 - Secciones principales&lt;/span&gt;
&lt;span class="gu"&gt;### H3 - Subsecciones&lt;/span&gt;
&lt;span class="gu"&gt;#### H4 - Detalles especificos (usar con moderacion)&lt;/span&gt;
&lt;span class="gu"&gt;##### H5 - Evitar (demasiado profundo)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Convencion con emojis
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## 💡 ¿Por qué importa?&lt;/span&gt;
&lt;span class="gu"&gt;## 🏗️ Arquitectura&lt;/span&gt;
&lt;span class="gu"&gt;## 📋 Prerrequisitos&lt;/span&gt;
&lt;span class="gu"&gt;## 🛠️ Paso a paso&lt;/span&gt;
&lt;span class="gu"&gt;## ✅ Validación&lt;/span&gt;
&lt;span class="gu"&gt;## 🔧 Troubleshooting&lt;/span&gt;
&lt;span class="gu"&gt;## 🎯 Conceptos para el examen&lt;/span&gt;
&lt;span class="gu"&gt;## 🧹 Limpieza&lt;/span&gt;
&lt;span class="gu"&gt;## 📚 Recursos&lt;/span&gt;
&lt;span class="gu"&gt;## 🏁 Conclusión&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⬆️ Volver arriba&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📋 Listas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Lista con vinetas
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;-&lt;/span&gt; Elemento nivel 1
&lt;span class="p"&gt;-&lt;/span&gt; Otro elemento nivel 1
&lt;span class="p"&gt;  -&lt;/span&gt; Sub-elemento nivel 2 (2 espacios)
&lt;span class="p"&gt;  -&lt;/span&gt; Otro sub-elemento
&lt;span class="p"&gt;    -&lt;/span&gt; Nivel 3 (4 espacios)
&lt;span class="p"&gt;-&lt;/span&gt; De vuelta a nivel 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Lista numerada
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;1.&lt;/span&gt; Primer paso
&lt;span class="p"&gt;2.&lt;/span&gt; Segundo paso
&lt;span class="p"&gt;3.&lt;/span&gt; Tercer paso
&lt;span class="p"&gt;   1.&lt;/span&gt; Sub-paso A (3 espacios)
&lt;span class="p"&gt;   2.&lt;/span&gt; Sub-paso B
&lt;span class="p"&gt;4.&lt;/span&gt; Cuarto paso
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Lista de tareas (checkboxes)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Checklist de seguridad AWS&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; [x] MFA habilitado en cuenta root
&lt;span class="p"&gt;-&lt;/span&gt; [x] Usuario IAM creado (no usar root)
&lt;span class="p"&gt;-&lt;/span&gt; [ ] CloudTrail habilitado
&lt;span class="p"&gt;-&lt;/span&gt; [ ] AWS Config configurado
&lt;span class="p"&gt;-&lt;/span&gt; [ ] GuardDuty activado
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Lista de definiciones
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gs"&gt;**VPC (Virtual Private Cloud)**&lt;/span&gt;
: Red virtual aislada donde lanzas recursos AWS.

&lt;span class="gs"&gt;**Subnet**&lt;/span&gt;
: Segmento de una VPC con su propio rango CIDR.

&lt;span class="gs"&gt;**Internet Gateway (IGW)**&lt;/span&gt;
: Componente que permite comunicacion entre VPC e Internet.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⬆️ Volver arriba&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📊 Tablas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Sintaxis basica
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Columna 1 | Columna 2 | Columna 3 |
|-----------|-----------|-----------|
| Dato 1    | Dato 2    | Dato 3    |
| Dato 4    | Dato 5    | Dato 6    |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Alineacion de columnas
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Izquierda | Centro | Derecha |
|:----------|:------:|--------:|
| texto     | texto  |   texto |
| mas       |  mas   |     mas |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tablas utiles para documentacion AWS
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Comparacion de servicios:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Security Groups vs NACLs&lt;/span&gt;

| Aspecto | Security Groups | NACLs |
|---------|:---------------:|:-----:|
| &lt;span class="gs"&gt;**Nivel**&lt;/span&gt; | Instancia (ENI) | Subnet |
| &lt;span class="gs"&gt;**Estado**&lt;/span&gt; | Stateful | Stateless |
| &lt;span class="gs"&gt;**Reglas**&lt;/span&gt; | Solo Allow | Allow y Deny |
| &lt;span class="gs"&gt;**Evaluacion**&lt;/span&gt; | Todas las reglas | Por numero (orden) |
| &lt;span class="gs"&gt;**Default**&lt;/span&gt; | Deny todo inbound | Allow todo |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Tabla de troubleshooting:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Sintoma | Posible causa | Solucion |
|---------|---------------|----------|
| &lt;span class="sb"&gt;`Connection timeout`&lt;/span&gt; | Security Group | Agregar regla inbound |
| &lt;span class="sb"&gt;`Permission denied`&lt;/span&gt; | IAM Policy | Verificar permisos |
| &lt;span class="sb"&gt;`No route to host`&lt;/span&gt; | Route Table | Verificar rutas |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Tabla de precios/costos:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Servicio | Configuracion | Costo/mes | Free Tier |
|----------|---------------|----------:|:---------:|
| EC2 | t3.micro | $7.59 | ✅ 750 hrs |
| RDS | db.t3.micro | $12.41 | ✅ 750 hrs |
| S3 | 10 GB | $0.23 | ✅ 5 GB |
| NAT Gateway | 10 GB transfer | $35.00 | ❌ |
| &lt;span class="gs"&gt;**Total**&lt;/span&gt; | | &lt;span class="gs"&gt;**$55.23**&lt;/span&gt; | |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⬆️ Volver arriba&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💻 Bloques de codigo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Sintaxis con highlighting
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
python
import boto3

def lambda_handler(event, context):
    s3 = boto3.client('s3')
    return {'statusCode': 200}


&lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
`

### Lenguajes soportados

| Lenguaje | Identificador | Uso comun en AWS |
|----------|---------------|------------------|
| Python | `python` | Lambda, Boto3, scripts |
| JavaScript | `javascript` o `js` | Lambda Node.js, CDK |
| TypeScript | `typescript` o `ts` | CDK, Lambda |
| Bash | `bash` o `shell` | AWS CLI, scripts |
| JSON | `json` | Policies, CloudFormation |
| YAML | `yaml` | CloudFormation, SAM |
| HCL | `hcl` o `terraform` | Terraform |

### Codigo con titulo (feature de dev.to)

`

&lt;span class="p"&gt;```&lt;/span&gt;markdown
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
python title="lambda_function.py"
import json
import boto3

def lambda_handler(event, context):
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }


&lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
`

### Resaltar lineas especificas

`

&lt;span class="p"&gt;```&lt;/span&gt;markdown
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
python {3,5-7}
import boto3

# Esta linea se resalta
s3 = boto3.client('s3')
# Estas lineas
# tambien se
# resaltan
response = s3.list_buckets()


&lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
`

### Diff para mostrar cambios

`

&lt;span class="p"&gt;```&lt;/span&gt;markdown
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
diff
  resource "aws_instance" "web" {
-   instance_type = "t2.micro"
+   instance_type = "t3.medium"
  }


&lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
`

### Ejemplos de codigo para AWS

**AWS CLI:**

```bash
# Crear VPC con tags
aws ec2 create-vpc \
    --cidr-block 10.0.0.0/16 \
    --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=MyVPC}]' \
    --query 'Vpc.VpcId' \
    --output text
```

**Python con Boto3:**

```python title="s3_operations.py"
import boto3
from botocore.exceptions import ClientError

def upload_file(file_name, bucket, object_name=None):
    """Sube un archivo a S3 con manejo de errores."""
    s3_client = boto3.client('s3')

    try:
        s3_client.upload_file(file_name, bucket, object_name or file_name)
        print(f"Archivo {file_name} subido exitosamente")
        return True
    except ClientError as e:
        print(f"Error: {e}")
        return False
```

**CloudFormation YAML:**

```yaml title="vpc-template.yaml"
AWSTemplateFormatVersion: '2010-09-09'
Description: VPC con subnets publicas y privadas

Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsHostnames: true
      Tags:
        - Key: Name
          Value: !Sub ${Environment}-vpc
```

**Terraform:**

```hcl title="main.tf"
resource "aws_vpc" "main" {
  cidr_block           = "10.0.0.0/16"
  enable_dns_hostnames = true

  tags = {
    Name        = "${var.project}-vpc"
    Environment = var.environment
  }
}
```

**IAM Policy JSON:**

```json title="s3-read-policy.json"
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowS3Read",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
      ]
    }
  ]
}
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="imagenes"&amp;gt;&amp;lt;/a&amp;gt;
## 🖼️ Imagenes

### Sintaxis basica

```markdown
![Texto alternativo](https://url-de-imagen.jpg)
```

### Subir imagenes a dev.to

**Opcion 1: Drag and Drop**
- Arrastra la imagen directamente al editor

**Opcion 2: Boton de imagen**
- Usa el boton de imagen en la barra del editor

**Opcion 3: GitHub (recomendado para repos)**

```markdown
![Diagrama](https://raw.githubusercontent.com/usuario/repo/main/images/arquitectura.png)
```

### Imagen con tamano personalizado

```markdown
&amp;lt;img src="https://url.jpg" alt="descripcion" width="600"&amp;gt;
```

### Imagen centrada

```markdown
&amp;lt;p align="center"&amp;gt;
  &amp;lt;img src="https://url.jpg" alt="Arquitectura AWS" width="700"&amp;gt;
&amp;lt;/p&amp;gt;
```

### Imagen con caption

```markdown
&amp;lt;figure&amp;gt;
  &amp;lt;img src="arquitectura.png" alt="Diagrama de arquitectura"&amp;gt;
  &amp;lt;figcaption&amp;gt;&amp;lt;em&amp;gt;Figura 1: Arquitectura de tres capas&amp;lt;/em&amp;gt;&amp;lt;/figcaption&amp;gt;
&amp;lt;/figure&amp;gt;
```

### Recursos para imagenes AWS

| Recurso | URL | Uso |
|---------|-----|-----|
| AWS Architecture Icons | https://aws.amazon.com/architecture/icons/ | Iconos oficiales |
| Draw.io | https://app.diagrams.net/ | Diagramas AWS |
| Excalidraw | https://excalidraw.com/ | Diagramas sketch |
| Cloudcraft | https://www.cloudcraft.co/ | Diagramas 3D |

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="enlaces"&amp;gt;&amp;lt;/a&amp;gt;
## 🔗 Enlaces

### Sintaxis basica

```markdown
[Texto visible](https://url.com)
```

### Abrir en nueva pestana

```markdown
&amp;lt;a href="https://docs.aws.amazon.com" target="_blank"&amp;gt;Documentacion AWS&amp;lt;/a&amp;gt;
```

### Enlaces con referencia (para posts largos)

```markdown
Consulta la [documentacion de EC2][ec2-docs] y revisa el [pricing][ec2-pricing].

&amp;lt;!-- Referencias al final del documento --&amp;gt;
[ec2-docs]: https://docs.aws.amazon.com/ec2/
[ec2-pricing]: https://aws.amazon.com/ec2/pricing/
```

### Enlaces internos (anclas)

```markdown
Salta a la [seccion de troubleshooting](#troubleshoot).
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="toc"&amp;gt;&amp;lt;/a&amp;gt;
## 🗺️ Tabla de Contenidos (ToC) - LA SOLUCION DEFINITIVA

### El problema con los IDs auto-generados

dev.to genera IDs automaticamente de los encabezados, pero:
- Los emojis causan problemas
- Los acentos pueden fallar
- Los signos de puntuacion se eliminan de forma inconsistente

### La solucion: Anclas HTML manuales

Usa `&amp;lt;a name="id"&amp;gt;&amp;lt;/a&amp;gt;` **antes** de cada encabezado. Asi controlas exactamente el ID.

### Ejemplo completo que SIEMPRE funciona

```markdown
## 🗺️ Tabla de contenidos

- [¿Por qué importa?](#why)
- [Arquitectura](#arch)
- [Prerrequisitos](#prereq)
- [Paso a paso](#steps)
- [Validación](#validation)
- [Troubleshooting](#troubleshoot)
- [Conceptos para el examen](#exam)
- [Limpieza](#cleanup)
- [Recursos](#resources)

---

&amp;lt;a name="why"&amp;gt;&amp;lt;/a&amp;gt;
## 💡 ¿Por qué importa?

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="arch"&amp;gt;&amp;lt;/a&amp;gt;
## 🏗️ Arquitectura

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="prereq"&amp;gt;&amp;lt;/a&amp;gt;
## ✅ Prerrequisitos

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="steps"&amp;gt;&amp;lt;/a&amp;gt;
## 🛠️ Paso a paso

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="validation"&amp;gt;&amp;lt;/a&amp;gt;
## 🔎 Validación

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="troubleshoot"&amp;gt;&amp;lt;/a&amp;gt;
## 🧯 Troubleshooting

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="exam"&amp;gt;&amp;lt;/a&amp;gt;
## 🎓 Conceptos para el examen SAA-C03

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="cleanup"&amp;gt;&amp;lt;/a&amp;gt;
## 🧹 Limpieza

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="resources"&amp;gt;&amp;lt;/a&amp;gt;
## 📚 Recursos

Contenido de la seccion...

[⬆️ Volver arriba](#tabla-de-contenidos)
```

### Reglas para IDs manuales

| Regla | Ejemplo bueno | Ejemplo malo |
|-------|---------------|--------------|
| Solo minusculas | `why` | `Why` |
| Solo letras y numeros | `step1` | `step-1` (guiones ok pero innecesarios) |
| Sin espacios | `prereq` | `pre req` |
| Corto y descriptivo | `arch` | `arquitectura-del-sistema` |
| Sin acentos | `validacion` | `validación` |

### IDs recomendados para secciones comunes

| Seccion | ID recomendado |
|---------|----------------|
| ¿Por qué importa? | `why` |
| Arquitectura | `arch` |
| Prerrequisitos | `prereq` |
| Paso a paso | `steps` |
| Validacion | `validation` |
| Troubleshooting | `troubleshoot` |
| Para el examen | `exam` |
| Limpieza | `cleanup` |
| Recursos | `resources` |
| Conclusion | `conclusion` |
| Costos | `costs` |
| Seguridad | `security` |
| Bonus | `bonus` |

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="volver-arriba"&amp;gt;&amp;lt;/a&amp;gt;
## ⬆️ Enlace "Volver arriba"

### Metodo recomendado

Agrega un enlace al final de cada seccion que apunte a la tabla de contenidos:

```markdown
[⬆️ Volver arriba](#tabla-de-contenidos)
```

### Variantes

```markdown
[⬆️ Volver arriba](#tabla-de-contenidos)
[🔝 Ir al inicio](#tabla-de-contenidos)
[↑ Top](#tabla-de-contenidos)
```

### Alineado a la derecha

```markdown
&amp;lt;p align="right"&amp;gt;
  &amp;lt;a href="#tabla-de-contenidos"&amp;gt;⬆️ Volver arriba&amp;lt;/a&amp;gt;
&amp;lt;/p&amp;gt;
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="callouts"&amp;gt;&amp;lt;/a&amp;gt;
## 💬 Callouts y notas

### Blockquotes con emojis (patron recomendado)

```markdown
&amp;gt; 💡 **Tip**: Usa AWS CloudShell para ejecutar comandos sin configurar CLI.

&amp;gt; ⚠️ **Advertencia**: Esta operacion no se puede deshacer.

&amp;gt; ❌ **Error comun**: No olvides configurar la region antes de ejecutar.

&amp;gt; ✅ **Best practice**: Siempre usa el principio de least privilege.

&amp;gt; 📝 **Nota**: Este servicio solo esta disponible en regiones seleccionadas.

&amp;gt; 🔥 **Importante**: Nunca expongas credenciales en el codigo.

&amp;gt; 💰 **Costo**: Esta configuracion genera aproximadamente $50/mes.

&amp;gt; 🎯 **Para el examen**: Este concepto aparece frecuentemente en el SAA-C03.

&amp;gt; 🧹 **Limpieza**: Recuerda eliminar los recursos al terminar.
```

### Callout multilinea

```markdown
&amp;gt; **⚠️ Consideraciones de seguridad**
&amp;gt;
&amp;gt; Antes de implementar en produccion:
&amp;gt;
&amp;gt; 1. Habilita encryption at rest
&amp;gt; 2. Configura VPC Flow Logs
&amp;gt; 3. Implementa AWS Config rules
&amp;gt; 4. Revisa IAM policies
```

### Liquid tags de dev.to para notas

```markdown
{% note %}
Esta es una nota informativa con estilo especial de dev.to.
{% endnote %}

{% warning %}
Esta es una advertencia importante.
{% endwarning %}

{% danger %}
Cuidado! Esto puede causar problemas serios.
{% endanger %}
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="diagramas"&amp;gt;&amp;lt;/a&amp;gt;
## 📐 Diagramas ASCII

### Arquitectura de tres capas

```
┌─────────────────────────────────────────────────────────────────┐
│                         INTERNET                                 │
└─────────────────────────────┬───────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│  Route 53 (DNS)                                                 │
└─────────────────────────────┬───────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│  CloudFront (CDN)                                               │
└─────────────────────────────┬───────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│  VPC 10.0.0.0/16                                                │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │  Public Subnets                                            │  │
│  │  ┌─────────────┐           ┌─────────────┐                │  │
│  │  │     ALB     │           │ NAT Gateway │                │  │
│  │  └──────┬──────┘           └─────────────┘                │  │
│  └─────────┼─────────────────────────────────────────────────┘  │
│            │                                                     │
│  ┌─────────┼─────────────────────────────────────────────────┐  │
│  │  Private Subnets (App Tier)                               │  │
│  │         ▼                                                  │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐       │  │
│  │  │   EC2 #1    │  │   EC2 #2    │  │   EC2 #3    │       │  │
│  │  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘       │  │
│  └─────────┼────────────────┼────────────────┼───────────────┘  │
│            └────────────────┼────────────────┘                   │
│                             ▼                                    │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │  Private Subnets (Data Tier)                              │  │
│  │  ┌─────────────────────────────────────────────────────┐  │  │
│  │  │              RDS Multi-AZ                            │  │  │
│  │  └─────────────────────────────────────────────────────┘  │  │
│  └───────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────┘
```

### VPC con subnets

```
┌─────────────────────────────────────────────────────────────────┐
│  VPC: 10.0.0.0/16                                               │
│                                                                  │
│  ┌─────────────────────────┐  ┌─────────────────────────┐       │
│  │  AZ: us-east-1a         │  │  AZ: us-east-1b         │       │
│  │                         │  │                         │       │
│  │  ┌───────────────────┐  │  │  ┌───────────────────┐  │       │
│  │  │ Public Subnet     │  │  │  │ Public Subnet     │  │       │
│  │  │ 10.0.1.0/24       │  │  │  │ 10.0.2.0/24       │  │       │
│  │  │ ┌───┐ ┌───┐       │  │  │  │ ┌───┐             │  │       │
│  │  │ │NAT│ │BAS│       │  │  │  │ │ALB│             │  │       │
│  │  │ └───┘ └───┘       │  │  │  │ └───┘             │  │       │
│  │  └───────────────────┘  │  │  └───────────────────┘  │       │
│  │                         │  │                         │       │
│  │  ┌───────────────────┐  │  │  ┌───────────────────┐  │       │
│  │  │ Private Subnet    │  │  │  │ Private Subnet    │  │       │
│  │  │ 10.0.11.0/24      │  │  │  │ 10.0.12.0/24      │  │       │
│  │  │ ┌───┐ ┌───┐       │  │  │  │ ┌───┐ ┌───┐       │  │       │
│  │  │ │EC2│ │EC2│       │  │  │  │ │EC2│ │EC2│       │  │       │
│  │  │ └───┘ └───┘       │  │  │  │ └───┘ └───┘       │  │       │
│  │  └───────────────────┘  │  │  └───────────────────┘  │       │
│  └─────────────────────────┘  └─────────────────────────┘       │
│                                                                  │
│  [IGW]──────────────────────────────────────────────────────    │
└─────────────────────────────────────────────────────────────────┘
```

### Caracteres utiles para diagramas

| Caracter | Uso |
|----------|-----|
| `─` `│` | Lineas horizontales y verticales |
| `┌` `┐` `└` `┘` | Esquinas |
| `├` `┤` `┬` `┴` `┼` | Conectores |
| `▲` `▼` `◄` `►` | Flechas solidas |
| `→` `←` `↑` `↓` | Flechas simples |

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="liquid-tags"&amp;gt;&amp;lt;/a&amp;gt;
## 🏷️ Liquid Tags (exclusivos de dev.to)

### Embed de repositorio GitHub

```markdown
{% github usuario/repositorio %}

{% github usuario/repositorio no-readme %}
```

### Embed de Gist

```markdown
{% gist https://gist.github.com/usuario/ID %}

{% gist a1b2c3d4e5f6 file=example.py %}
```

### Embed de video YouTube

```markdown
{% youtube dQw4w9WgXcQ %}
```

### Embed de Tweet

```markdown
{% twitter 1234567890123456789 %}
```

### Embed de CodePen

```markdown
{% codepen https://codepen.io/usuario/pen/ID %}
```

### Embed de otro post de dev.to

```markdown
{% link https://dev.to/usuario/titulo-del-post-abc1 %}
```

### Embed de perfil de dev.to

```markdown
{% user nombreusuario %}
```

### Embed de tag

```markdown
{% tag aws %}
```

### Collapsible/Acordeon

```markdown
{% details Haz clic para ver la respuesta %}

Aqui esta el contenido oculto.

Puede incluir:
- Listas
- **Formato**
- `codigo`

{% enddetails %}
```

### Bloques de nota/warning/danger

```markdown
{% note %}
Esta es una nota informativa.
{% endnote %}

{% warning %}
Esta es una advertencia importante.
{% endwarning %}

{% danger %}
Cuidado! Esto puede causar problemas.
{% endanger %}
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="emojis"&amp;gt;&amp;lt;/a&amp;gt;
## 😀 Emojis recomendados

### Para titulos de seccion

| Seccion | Emoji |
|---------|-------|
| Introduccion | 💡 |
| Arquitectura | 🏗️ |
| Requisitos | 📋 |
| Paso a paso | 🛠️ |
| Codigo | 💻 |
| Configuracion | ⚙️ |
| Seguridad | 🔒 |
| Networking | 🌐 |
| Base de datos | 🗄️ |
| Troubleshooting | 🔧 o 🧯 |
| Validacion | ✅ o 🔎 |
| Para el examen | 🎯 o 🎓 |
| Recursos | 📚 |
| Conclusion | 🏁 |
| Limpieza | 🧹 |
| Costos | 💰 o 💸 |
| Advertencia | ⚠️ |
| Importante | 🔥 |
| Bonus | 🎁 |

### Para uso inline

| Contexto | Emoji |
|----------|-------|
| Correcto | ✅ |
| Incorrecto | ❌ |
| Tip | 💡 |
| Advertencia | ⚠️ |
| AWS/Cloud | ☁️ |
| Seguridad | 🔐 |
| Performance | ⚡ |
| Dinero | 💰 |
| Tiempo | ⏱️ |

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="template"&amp;gt;&amp;lt;/a&amp;gt;
## 📄 Template completo para tutoriales AWS

```markdown
---
title: "Titulo Descriptivo [2025]"
published: false
description: Descripcion SEO-friendly en menos de 156 caracteres.
tags: aws, cloud, tutorial, servicio
cover_image: https://url-imagen.jpg
series: Nombre de la Serie (opcional)
---

# Titulo del Articulo

Parrafo de apertura que captura atencion.

&amp;gt; **TL;DR**
&amp;gt; Resumen en 2-3 lineas.
&amp;gt; **Tiempo**: 30 min | **Nivel**: 200 (Intermedio)

---

## 🧭 Metadatos rapidos

| Campo | Valor |
|---|---|
| **Servicios AWS** | VPC, EC2, RDS |
| **Requisitos** | Cuenta AWS, AWS CLI |
| **Costos** | Free Tier elegible |

---

## 🗺️ Tabla de contenidos

- [¿Por qué importa?](#why)
- [Arquitectura](#arch)
- [Prerrequisitos](#prereq)
- [Paso a paso](#steps)
- [Validación](#validation)
- [Troubleshooting](#troubleshoot)
- [Para el examen](#exam)
- [Limpieza](#cleanup)
- [Recursos](#resources)

---

&amp;lt;a name="why"&amp;gt;&amp;lt;/a&amp;gt;
## 💡 ¿Por qué importa?

**El problema**: [Descripcion]

**La solucion**: [Que van a construir]

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="arch"&amp;gt;&amp;lt;/a&amp;gt;
## 🏗️ Arquitectura

[Diagrama ASCII o imagen]

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="prereq"&amp;gt;&amp;lt;/a&amp;gt;
## ✅ Prerrequisitos

- [ ] Cuenta de AWS activa
- [ ] AWS CLI v2 instalado

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="steps"&amp;gt;&amp;lt;/a&amp;gt;
## 🛠️ Paso a paso

### 1) Fase 1: Titulo

Explicacion...

```bash
aws ec2 create-vpc --cidr-block 10.0.0.0/16
```

&amp;gt; 💡 **Tip**: Informacion util.

### 2) Fase 2: Titulo

Explicacion...

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="validation"&amp;gt;&amp;lt;/a&amp;gt;
## 🔎 Validación

```bash
aws ec2 describe-vpcs --vpc-ids $VPC_ID
```

✅ **Exito**: Estado `available`

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="troubleshoot"&amp;gt;&amp;lt;/a&amp;gt;
## 🧯 Troubleshooting

| Sintoma | Causa | Solucion |
|---------|-------|----------|
| Timeout | Security Group | Verificar reglas |

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="exam"&amp;gt;&amp;lt;/a&amp;gt;
## 🎓 Para el examen SAA-C03

1. **Punto clave 1**: Explicacion
2. **Punto clave 2**: Explicacion

&amp;gt; 📝 **Pregunta tipica**: "¿...?"

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="cleanup"&amp;gt;&amp;lt;/a&amp;gt;
## 🧹 Limpieza

**⚠️ Importante**: Elimina los recursos para evitar cargos.

```bash
aws ec2 delete-vpc --vpc-id $VPC_ID
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="resources"&amp;gt;&amp;lt;/a&amp;gt;
## 📚 Recursos

- [Documentacion oficial](https://docs.aws.amazon.com/)
- [AWS Skill Builder](https://explore.skillbuilder.aws/)

---

*¿Te fue util? Sigueme para mas contenido sobre AWS.*

Happy learning on AWS! 🚀
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="template-cert"&amp;gt;&amp;lt;/a&amp;gt;
## 📝 Template para guias de certificacion

```markdown
---
title: "Guia SAA-C03: [Dominio]"
published: false
description: Guia completa para el dominio X del examen SAA-C03.
tags: aws, certification, saac03, career
series: Guia SAA-C03
---

# [Dominio]: Guia para el SAA-C03

&amp;gt; **Peso en el examen**: X%
&amp;gt; **Tiempo de estudio**: X horas

---

## 🗺️ Tabla de contenidos

- [Objetivos](#objectives)
- [Servicios clave](#services)
- [Conceptos](#concepts)
- [Comparaciones](#comparisons)
- [Preguntas de practica](#questions)
- [Errores comunes](#mistakes)
- [Recursos](#resources)

---

&amp;lt;a name="objectives"&amp;gt;&amp;lt;/a&amp;gt;
## 🎯 Objetivos del dominio

- [ ] Objetivo 1
- [ ] Objetivo 2

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="services"&amp;gt;&amp;lt;/a&amp;gt;
## 🛠️ Servicios clave

| Servicio | Descripcion |
|----------|-------------|
| Servicio 1 | Descripcion |

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="concepts"&amp;gt;&amp;lt;/a&amp;gt;
## 📖 Conceptos fundamentales

### Concepto 1

Explicacion...

&amp;gt; 🎯 **Para el examen**: Punto clave.

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="comparisons"&amp;gt;&amp;lt;/a&amp;gt;
## ⚖️ Comparaciones importantes

| Aspecto | Servicio A | Servicio B |
|---------|:----------:|:----------:|
| Aspecto 1 | ✅ | ❌ |

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="questions"&amp;gt;&amp;lt;/a&amp;gt;
## ❓ Preguntas de practica

{% details Pregunta 1 %}

**Escenario...**

A) Opcion A
B) Opcion B
C) Opcion C ✅
D) Opcion D

**Explicacion**: ...

{% enddetails %}

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="mistakes"&amp;gt;&amp;lt;/a&amp;gt;
## ⚠️ Errores comunes

1. **Error 1**: Como evitarlo
2. **Error 2**: Como evitarlo

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="resources"&amp;gt;&amp;lt;/a&amp;gt;
## 📚 Recursos

- [Documentacion](url)
- [Whitepaper](url)

[⬆️ Volver arriba](#tabla-de-contenidos)
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="checklist"&amp;gt;&amp;lt;/a&amp;gt;
## ✅ Checklist pre-publicacion

### Contenido

- [ ] TL;DR claro con tiempo y nivel
- [ ] Tabla de contenidos con **anclas HTML** (`&amp;lt;a name="id"&amp;gt;&amp;lt;/a&amp;gt;`)
- [ ] Todos los enlaces internos funcionan
- [ ] Enlaces "volver arriba" despues de cada seccion
- [ ] Pasos probados en AWS
- [ ] Screenshots actualizados
- [ ] Codigo con syntax highlighting
- [ ] Seccion de troubleshooting
- [ ] Seccion de limpieza

### SEO y metadatos

- [ ] Titulo atractivo (&amp;lt; 128 caracteres)
- [ ] Description optimizada (&amp;lt; 156 caracteres)
- [ ] Tags relevantes (max 4)
- [ ] Cover image (1000x420 px)

### Formato

- [ ] Sin errores de ortografia
- [ ] Tablas renderizando correctamente
- [ ] Liquid tags funcionando (preview)

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="seo"&amp;gt;&amp;lt;/a&amp;gt;
## 🚀 SEO y engagement

### Titulos que funcionan

```yaml
# Patrones efectivos:
"[Servicio AWS]: [Problema] [Año]"
"Como [Accion] con [Servicio] - Guia Completa"
"[Numero] Tips para [Objetivo] en AWS"
"[Servicio A] vs [Servicio B]: Cuando usar cada uno"

# Ejemplos:
title: "VPC en AWS: Guia Practica desde Cero [2025]"
title: "5 Errores Comunes en IAM que Comprometen tu Seguridad"
title: "S3 vs EFS vs EBS: Guia Definitiva de Storage en AWS"
```

### Horarios de publicacion optimos

| Dia | Hora (UTC) |
|-----|------------|
| Martes | 14:00-16:00 |
| Miercoles | 14:00-16:00 |
| Jueves | 14:00-16:00 |

### Estrategias de engagement

1. Responde comentarios en las primeras 24 horas
2. Comparte en LinkedIn/Twitter
3. Usa series para contenido relacionado
4. Pide feedback al final

[⬆️ Volver arriba](#tabla-de-contenidos)

---

&amp;lt;a name="errores"&amp;gt;&amp;lt;/a&amp;gt;
## ❌ Errores comunes y soluciones

### Enlaces rotos en ToC

```markdown
❌ PROBLEMA: Confiar en IDs auto-generados
✅ SOLUCION: Usar anclas HTML manuales

&amp;lt;a name="mi-seccion"&amp;gt;&amp;lt;/a&amp;gt;
## 💡 Mi Sección con Emojis y Acentos

[Link a la seccion](#mi-seccion)
```

### Codigo sin highlighting

`

&lt;span class="p"&gt;```&lt;/span&gt;markdown
❌ PROBLEMA:
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

aws s3 ls


&lt;span class="p"&gt;```&lt;/span&gt;

✅ SOLUCION:
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
bash
aws s3 ls


&lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
`

### Tablas mal formateadas

```markdown
❌ PROBLEMA:
|Col1|Col2|
|---|---|
|Data|Data|

✅ SOLUCION:
| Col1 | Col2 |
|------|------|
| Data | Data |
```

### Liquid tags que no funcionan

```markdown
❌ PROBLEMA: {% github usuario/repo no-readme%}
✅ SOLUCION: {% github usuario/repo no-readme %}

# Espacio antes del %}
```

[⬆️ Volver arriba](#tabla-de-contenidos)

---

## 🔧 Herramientas utiles

| Herramienta | Uso | URL |
|-------------|-----|-----|
| Tables Generator | Crear tablas Markdown | tablesgenerator.com |
| Carbon | Screenshots de codigo | carbon.now.sh |
| Draw.io | Diagramas AWS | app.diagrams.net |
| Excalidraw | Diagramas sketch | excalidraw.com |

[⬆️ Volver arriba](#tabla-de-contenidos)

---

*Ultima actualizacion: Enero 2026*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>beginners</category>
      <category>devto</category>
      <category>aws</category>
      <category>community</category>
    </item>
    <item>
      <title>🚀 AWS Ultimate Guide 2026: De Fundamentos a Arquitectura (Examen CLF-C02)</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Fri, 23 Jan 2026 13:47:29 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/aws-ultimate-guide-2026-de-fundamentos-a-arquitectura-examen-clf-c02-1jhj</link>
      <guid>https://dev.to/franciscojeg78/aws-ultimate-guide-2026-de-fundamentos-a-arquitectura-examen-clf-c02-1jhj</guid>
      <description>&lt;p&gt;Esta guía es un compendio exhaustivo que consolida todos los servicios, definiciones y configuraciones clave de AWS para la preparación del examen de certificación.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tabla de Contenidos
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Introducción al Cloud Computing&lt;/li&gt;
&lt;li&gt;Infraestructura Global de AWS&lt;/li&gt;
&lt;li&gt;Seguridad y Cumplimiento&lt;/li&gt;
&lt;li&gt;AWS Identity &amp;amp; Access Management (IAM)&lt;/li&gt;
&lt;li&gt;Amazon EC2 (Elastic Compute Cloud)&lt;/li&gt;
&lt;li&gt;Almacenamiento de Instancias EC2&lt;/li&gt;
&lt;li&gt;Balanceo de Carga Elástico (ELB) y Auto Scaling&lt;/li&gt;
&lt;li&gt;Amazon S3 (Simple Storage Service)&lt;/li&gt;
&lt;li&gt;Bases de Datos y Analítica&lt;/li&gt;
&lt;li&gt;Otros Servicios de Cómputo&lt;/li&gt;
&lt;li&gt;Infraestructura Global y Arquitectura de Aplicaciones&lt;/li&gt;
&lt;li&gt;Integración de la Nube&lt;/li&gt;
&lt;li&gt;Monitoreo en la Nube&lt;/li&gt;
&lt;li&gt;Amazon VPC (Virtual Private Cloud)&lt;/li&gt;
&lt;li&gt;Gestión de Cuentas, Facturación y Soporte&lt;/li&gt;
&lt;li&gt;AWS Well-Architected Framework&lt;/li&gt;
&lt;li&gt;Bonus: AWS Master Cheat Sheet&lt;/li&gt;
&lt;li&gt;Glosario de Términos Clave&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  1. Introducción al Cloud Computing
&lt;/h2&gt;

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

&lt;p&gt;El &lt;strong&gt;cloud computing&lt;/strong&gt; es la entrega bajo demanda de recursos de computación, almacenamiento, bases de datos y otros servicios a través de Internet con precios de pago por uso.&lt;/p&gt;

&lt;h3&gt;
  
  
  Componentes de un Servidor Tradicional
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CPU (Compute)&lt;/strong&gt;: Poder de procesamiento&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAM (Memory)&lt;/strong&gt;: Memoria para operaciones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage (Data)&lt;/strong&gt;: Almacenamiento de datos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database (Structured Data)&lt;/strong&gt;: Bases de datos estructuradas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network&lt;/strong&gt;: Routers, switches, servidores DNS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Ejemplos de Cloud Computing en la Práctica
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gmail&lt;/strong&gt;: Servicio de email en la nube&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dropbox&lt;/strong&gt;: Servicio de almacenamiento en la nube&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Netflix&lt;/strong&gt;: Construido sobre AWS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Modelos de Implementación
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Private Cloud&lt;/strong&gt;: Nube privada para una organización&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Public Cloud&lt;/strong&gt;: Servicios disponibles públicamente&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid Cloud&lt;/strong&gt;: Combinación de ambos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Infraestructura Global de AWS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Regiones AWS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Definición&lt;/strong&gt;: Clusters de centros de datos distribuidos globalmente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nomenclatura&lt;/strong&gt;: us-east-1, eu-west-3, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Característica&lt;/strong&gt;: La mayoría de servicios son "region-scoped".&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Criterios para Elegir una Región
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cumplimiento&lt;/strong&gt;: Adherencia a requisitos legales. &lt;strong&gt;Principio clave&lt;/strong&gt;: "Los datos nunca salen de una región sin su permiso explícito".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proximidad a Clientes&lt;/strong&gt;: Reduce la latencia para usuarios finales.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Servicios Disponibles&lt;/strong&gt;: Nuevas características pueden no estar en todas las regiones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Precios&lt;/strong&gt;: Los costos varían entre regiones.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Zonas de Disponibilidad (AZs)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cantidad por región&lt;/strong&gt;: Generalmente 3-6 AZs por región.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Definición&lt;/strong&gt;: Uno o más centros de datos discretos con energía, redes y conectividad redundantes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aislamiento&lt;/strong&gt;: Separadas para aislamiento de desastres con redes de alto ancho de banda y ultra baja latencia.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Puntos de Presencia (Edge Locations)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cantidad&lt;/strong&gt;: Más de 400 puntos de presencia en más de 90 ciudades y 40+ países.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Propósito&lt;/strong&gt;: Entregar contenido a usuarios finales con menor latencia.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Servicios Globales de AWS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Identity and Access Management (IAM)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Route 53&lt;/strong&gt; (Servicio DNS)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CloudFront&lt;/strong&gt; (Content Delivery Network)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WAF&lt;/strong&gt; (Web Application Firewall)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Seguridad y Cumplimiento
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Modelo de Responsabilidad Compartida
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Principio fundamental&lt;/strong&gt;: "CLIENTE = RESPONSABILIDAD DE LA SEGURIDAD EN LA NUBE"&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Responsabilidades de AWS (Seguridad DE la nube)&lt;/strong&gt;: Infraestructura física, infraestructura física, servicios gestionados.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsabilidades del Cliente (Seguridad EN la nube)&lt;/strong&gt;: Datos del cliente, configuración de seguridad, parches del SO, políticas de IAM.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Política de Uso Aceptable de AWS
&lt;/h3&gt;

&lt;p&gt;Prohíbe uso ilegal, dañino u ofensivo, violaciones de seguridad, abuso de red y abuso de correo electrónico/mensajes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pruebas de Penetración
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Servicios Permitidos (sin aprobación previa)&lt;/strong&gt;: EC2, RDS, CloudFront, Aurora, API Gateways, Lambda, Lightsail, Elastic Beanstalk.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actividades Prohibidas&lt;/strong&gt;: DNS zone walking, DoS/DDoS attacks, Port flooding, Protocol flooding.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AWS Abuse Team
&lt;/h3&gt;

&lt;p&gt;Contactar para reportar actividades prohibidas, comportamiento abusivo o violaciones de seguridad.&lt;/p&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  4. AWS Identity Access Management IAM
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Características Principales
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Servicio global&lt;/strong&gt;: No está limitado a regiones. Gestiona identidades y control de acceso.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Componentes Clave
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cuenta Raíz (Root Account)&lt;/strong&gt;: Creada por defecto. &lt;strong&gt;Regla de oro&lt;/strong&gt;: No debe usarse ni compartirse. Solo para configuración inicial.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usuarios y Grupos&lt;/strong&gt;: Usuarios (personas), Grupos (solo contienen usuarios). Los usuarios pueden pertenecer a múltiples grupos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Políticas de IAM&lt;/strong&gt;: Documentos JSON basados en el principio de &lt;strong&gt;Menor Privilegio&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Estructura de Políticas IAM
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2012-10-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"identificador-opcional"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Statement"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Sid"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"identificador-statement-opcional"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Effect"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Allow/Deny"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"accion-a-permitir-o-denegar"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"recurso-afectado"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Directivas de Contraseña&lt;/strong&gt;: Complejidad, caducidad y prevención de reutilización.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Autenticación Multifactor (MFA)&lt;/strong&gt;: "Contraseña que conoces + dispositivo físico". Esencial para Root y usuarios IAM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claves de Acceso&lt;/strong&gt;: Para acceso programático (CLI/SDK). Regla: Nunca compartir.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Roles de IAM&lt;/strong&gt;: Permiten que servicios AWS asuman permisos temporales para realizar acciones.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Mejores Prácticas de IAM
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;No usar cuenta raíz excepto para configuración inicial.&lt;/li&gt;
&lt;li&gt;Un usuario físico = Un usuario AWS.&lt;/li&gt;
&lt;li&gt;Asignar usuarios a grupos y permisos a grupos.&lt;/li&gt;
&lt;li&gt;Crear política de contraseña fuerte y usar MFA.&lt;/li&gt;
&lt;li&gt;Usar roles para permisos de servicios AWS.&lt;/li&gt;
&lt;li&gt;Usar Access Keys para acceso programático.&lt;/li&gt;
&lt;li&gt;Auditar permisos regularmente.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Herramientas de Auditoría
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IAM Credentials Report&lt;/strong&gt;: Reporte de credenciales.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IAM Access Analyzer&lt;/strong&gt;: Encuentra recursos compartidos externamente.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Amazon EC2 Elastic Compute Cloud
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Definición y Configuración
&lt;/h3&gt;

&lt;p&gt;EC2 proporciona capacidad de computación escalable.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SO&lt;/strong&gt;: Linux, Windows, Mac OS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recursos&lt;/strong&gt;: CPU, RAM, Almacenamiento (EBS, EFS o Instance Store).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Red&lt;/strong&gt;: Tarjeta de red (IP pública).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Script de Bootstrap&lt;/strong&gt;: EC2 User Data para automatizar tareas.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Security Groups (Grupos de Seguridad)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Función&lt;/strong&gt;: Firewall virtual que opera &lt;strong&gt;fuera&lt;/strong&gt; del EC2.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reglas&lt;/strong&gt;: Tráfico entrante bloqueado por defecto; saliente autorizado por defecto.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Estado&lt;/strong&gt;: &lt;strong&gt;Stateful&lt;/strong&gt; (si entra, sale automáticamente).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Puertos Importantes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;22&lt;/strong&gt;: SSH (Linux), SFTP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;21&lt;/strong&gt;: FTP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;80&lt;/strong&gt;: HTTP (no seguro)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;443&lt;/strong&gt;: HTTPS (seguro)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3389&lt;/strong&gt;: RDP (Windows)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Opciones de Compra de EC2
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;On-Demand&lt;/strong&gt;: Pago por segundo/hora. Cargas impredecibles. Mínimo 60 seg.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spot Instances&lt;/strong&gt;: Cargas flexibles, ahorro hasta 90%. Pueden ser terminadas por AWS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reserved Instances (RI)&lt;/strong&gt;: Compromiso 1 o 3 años. Ahorro hasta 75%. (Standard, Convertible, Scheduled).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Savings Plans&lt;/strong&gt;: Compromiso monetario (ej: $10/hora). Flexibilidad en tamaño, OS y tenencia.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated Hosts&lt;/strong&gt;: Servidores físicos dedicados. Control total. Uso de licencias propias.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated Instances&lt;/strong&gt;: Hardware dedicado pero sin control de ubicación.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capacity Reservations&lt;/strong&gt;: Reserva capacidad On-Demand en una AZ específica sin compromiso de tiempo.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Almacenamiento de Instancias EC2
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Amazon EBS (Elastic Block Store)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Definición&lt;/strong&gt;: "Network drive" persistente que se adjunta a instancias. Ligado a una AZ específica.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delete on Termination&lt;/strong&gt;: Por defecto, el volumen raíz se elimina; adicionales no.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Snapshots&lt;/strong&gt;: Copias de seguridad en un punto en el tiempo; pueden copiarse entre AZs o regiones.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  EC2 Instance Store
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tipo&lt;/strong&gt;: Almacenamiento local físico de alto IOPS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistencia&lt;/strong&gt;: &lt;strong&gt;Los datos NO persisten&lt;/strong&gt; después de la terminación.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Amazon EFS (Elastic File System)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tipo&lt;/strong&gt;: Sistema de archivos NFS compartido para instancias Linux.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Altamente disponible, multi-AZ, escalable automáticamente. Pago por uso (3x más caro que gp2).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Amazon FSx
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FSx for Windows File Server&lt;/strong&gt;: Protocolo SMB, integración con Active Directory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FSx for Lustre&lt;/strong&gt;: HPC (High Performance Computing) y Machine Learning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Balanceo de Carga Elastico ELB y Auto Scaling
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Conceptos de Escalabilidad
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Escalabilidad Vertical (Scale Up)&lt;/strong&gt;: t3.micro → t3.large. Limitado por hardware.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Escalabilidad Horizontal (Scale Out)&lt;/strong&gt;: Aumentar número de instancias. Sistemas distribuidos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alta Disponibilidad&lt;/strong&gt;: Ejecutar instancias en múltiples AZs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Elasticidad&lt;/strong&gt;: Auto-scaling basado en carga real.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agilidad&lt;/strong&gt;: Recursos disponibles a un clic.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Elastic Load Balancer (ELB)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;ALB (Application Load Balancer)&lt;/strong&gt;: Capa 7 (HTTP/HTTPS).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NLB (Network Load Balancer)&lt;/strong&gt;: Capa 4 (TCP/UDP) para rendimiento extremo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GWLB (Gateway Load Balancer)&lt;/strong&gt;: Capa 3 (IP).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Classic Load Balancer&lt;/strong&gt;: Generación anterior.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Auto Scaling Groups (ASG)
&lt;/h3&gt;

&lt;p&gt;Garantiza el número correcto de instancias, reemplaza instancias no saludables e integra con ELB para optimizar costos.&lt;/p&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  8. Amazon S3 Simple Storage Service
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Características
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Escalabilidad&lt;/strong&gt;: Infinita.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Durabilidad&lt;/strong&gt;: 11 nueves (99.999999999%).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Objetos&lt;/strong&gt;: Archivos hasta 5TB con Key, Datos y Metadatos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Buckets&lt;/strong&gt;: Nombres universales únicos a nivel de región.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Funcionalidades Avanzadas
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Versionado&lt;/strong&gt;: Protección contra eliminación accidental.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cifrado&lt;/strong&gt;: SSE-S3, SSE-KMS, SSE-C.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seguridad&lt;/strong&gt;: Políticas de Bucket, Políticas IAM, ACLs y Block Public Access.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Clases de Almacenamiento S3
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Standard&lt;/strong&gt;: Acceso frecuente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intelligent-Tiering&lt;/strong&gt;: Movimiento automático basado en uso.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standard-IA / One Zone-IA&lt;/strong&gt;: Acceso poco frecuente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Glacier&lt;/strong&gt;: Instant Retrieval (ms), Flexible (minutos a horas), Deep Archive (12+ horas, más barato).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AWS Snow Family
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Snowball&lt;/strong&gt;: Transferencia física de datos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Snowball Edge&lt;/strong&gt;: Migración de datos + Edge computing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Bases de Datos y Analitica
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Amazon RDS (Relational Database Service)
&lt;/h3&gt;

&lt;p&gt;Servicio SQL gestionado (Postgres, MySQL, MariaDB, Oracle, SQL Server, Aurora).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ventajas&lt;/strong&gt;: Parcheo automático, backups automáticos, Multi-AZ (Failover automático).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read Replicas&lt;/strong&gt;: Hasta 15 réplicas para escalado de lectura.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  DynamoDB y Aurora
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Aurora&lt;/strong&gt;: Propietaria de AWS (5x MySQL, 3x Postgres). Aurora Serverless para cargas impredecibles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DynamoDB&lt;/strong&gt;: NoSQL clave-valor, serverless, latencia ms. DAX para caché en microsegundos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redshift&lt;/strong&gt;: Data Warehouse masivamente paralelo (OLAP).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElastiCache&lt;/strong&gt;: Caché en memoria (Redis/Memcached).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Otros Servicios de Computo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Contenedores
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ECR&lt;/strong&gt;: Registro privado de imágenes Docker.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ECS&lt;/strong&gt;: Orquestación nativa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fargate&lt;/strong&gt;: Serverless para contenedores.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EKS&lt;/strong&gt;: Kubernetes gestionado.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Serverless y Otros
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS Lambda&lt;/strong&gt;: Funciones virtuales. Pago por ejecución. Límites: 15 min, 128MB-10GB RAM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS Batch&lt;/strong&gt;: Trabajos por lotes a escala. Sin límite de tiempo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lightsail&lt;/strong&gt;: Instancias simples preconfiguradas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;App Runner&lt;/strong&gt;: Despliegue de aplicaciones web y APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD&lt;/strong&gt;: CodeCommit, CodeBuild, CodeDeploy, CodePipeline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IaC&lt;/strong&gt;: CloudFormation (YAML/JSON) y CDK (TypeScript, Python, Java, C#).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  11. Infraestructura Global y Arquitectura de Aplicaciones
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CloudFront&lt;/strong&gt;: CDN global vía Edge Locations para baja latencia.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global Accelerator&lt;/strong&gt;: Optimiza rutas usando la red de AWS (TCP/UDP).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edge Computing&lt;/strong&gt;: Outposts (On-premises), Wavelength (5G), Local Zones (Cerca de usuarios).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  12. Integracion de la Nube
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SQS&lt;/strong&gt;: Colas desacopladas (Standard y FIFO).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SNS&lt;/strong&gt;: Notificaciones Pub/Sub (Email, SMS, Lambda).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kinesis&lt;/strong&gt;: Streaming en tiempo real (Streams, Firehose, Analytics).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Glue&lt;/strong&gt;: ETL serverless y catálogo de datos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step Functions&lt;/strong&gt;: Orquestación de flujos de trabajo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Amazon MQ&lt;/strong&gt;: Broker gestionado (ActiveMQ/RabbitMQ).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  13. Monitoreo en la Nube
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Amazon CloudWatch
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Métricas&lt;/strong&gt;: CPUUtilization, NetworkIn. Frecuencia 5 min (1 min detallada).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alarmas&lt;/strong&gt;: Activan acciones (SNS, Auto Scaling).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Logs&lt;/strong&gt;: Centralizar registros. Dashboards para visualización.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Otros
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CloudTrail&lt;/strong&gt;: Auditoría de llamadas a la API (quién hizo qué).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;X-Ray&lt;/strong&gt;: Análisis visual de latencia y tracing de microservicios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trusted Advisor&lt;/strong&gt;: Recomendaciones (Costos, Seguridad, Rendimiento, Tolerancia a fallas, Límites, Excelencia operativa).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  14. Amazon VPC Virtual Private Cloud
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Conceptos
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Subnets&lt;/strong&gt;: Públicas (IGW) y Privadas (NAT Gateway).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internet Gateway (IGW)&lt;/strong&gt;: Conexión a Internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NAT Gateway&lt;/strong&gt;: Salida a Internet para subredes privadas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conectividad&lt;/strong&gt;: VPC Peering (conecta VPCs) y VPC Endpoints (Gateway para S3/Dynamo; Interface para el resto).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Seguridad de Red: NACL vs SG
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Característica&lt;/th&gt;
&lt;th&gt;Security Group (SG)&lt;/th&gt;
&lt;th&gt;Network ACL (NACL)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Nivel&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Instancia (ENI)&lt;/td&gt;
&lt;td&gt;Subred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Estado&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Stateful&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Stateless&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Reglas&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Solo ALLOW&lt;/td&gt;
&lt;td&gt;ALLOW y DENY&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Evaluación&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Todas las reglas&lt;/td&gt;
&lt;td&gt;Orden numérico&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  15. Gestion de Cuentas Facturacion y Soporte
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AWS Organizations
&lt;/h3&gt;

&lt;p&gt;Consolidated Billing, Unidades Organizacionales (OUs) y SCPs (Service Control Policies) para restringir IAM.&lt;/p&gt;

&lt;h3&gt;
  
  
  Facturación y Costo
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Modelo de Precios&lt;/strong&gt;: Paga lo que usas, paga menos cuando usas más, ahorra cuando reservas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nivel Gratuito&lt;/strong&gt;: Siempre gratis (IAM, VPC, CloudFormation); 12 meses gratis (750h EC2, 5GB S3, 30GB EBS).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Herramientas&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pricing Calculator&lt;/strong&gt;: Estimar costos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost Explorer&lt;/strong&gt;: Historial y pronósticos (12 meses).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budgets&lt;/strong&gt;: Alertas de presupuesto y reservas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CUR&lt;/strong&gt;: Reportes granulares en S3.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anomaly Detection&lt;/strong&gt;: ML para detectar gastos inusuales.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  16. AWS WellArchitected Framework
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Los 6 Pilares
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Excelencia Operativa&lt;/strong&gt;: Operaciones como código, cambios pequeños, aprender de fallas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seguridad&lt;/strong&gt;: Identidad sólida, seguridad en todas las capas, proteger datos en tránsito y reposo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fiabilidad&lt;/strong&gt;: Recuperación automática, escalar horizontalmente, dejar de adivinar capacidad.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Eficiencia&lt;/strong&gt;: Democratizar tecnologías avanzadas, serverless, experimentar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimización de Costos&lt;/strong&gt;: Modelo de consumo, medir eficiencia, atribuir gastos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sostenibilidad&lt;/strong&gt;: Maximizar utilización, servicios gestionados, reducir impacto.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  Bonus AWS Master Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Categoría&lt;/th&gt;
&lt;th&gt;Concepto Clave&lt;/th&gt;
&lt;th&gt;Lo que DEBES recordar&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Infraestructura&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Región vs AZ&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Regiones son clusters de AZs; AZs son centros de datos aislados.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;IAM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Roles vs Usuarios&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Usuarios son personas; Roles son identidades temporales para servicios.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cómputo&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Spot Instances&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ahorro hasta 90% para cargas que pueden interrumpirse.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;S3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Durabilidad&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;11 nueves&lt;/strong&gt;. Buckets tienen nombres globales únicos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Redes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;SG vs NACL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;SG (Stateful)&lt;/strong&gt;: nivel instancia. &lt;strong&gt;NACL (Stateless)&lt;/strong&gt;: nivel subred.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Monitoreo&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CloudWatch vs Trail&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;CloudWatch&lt;/strong&gt;: Rendimiento. &lt;strong&gt;CloudTrail&lt;/strong&gt;: Auditoría/API.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




&lt;h2&gt;
  
  
  Glosario de Terminos Clave
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agilidad&lt;/strong&gt;: Velocidad para aprovisionar recursos en minutos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alta Disponibilidad&lt;/strong&gt;: Sistemas diseñados para operar sin interrupciones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decoupling&lt;/strong&gt;: Desacoplar componentes para que fallen aislados (ej. SQS).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Elasticidad&lt;/strong&gt;: Escalar recursos según la demanda automáticamente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Principio de Menor Privilegio&lt;/strong&gt;: Solo permisos mínimos necesarios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Serverless&lt;/strong&gt;: AWS gestiona los servidores (Lambda, DynamoDB).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;




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

&lt;p&gt;Dominar estos servicios es fundamental para diseñar soluciones seguras y escalables. ¡Espero que este recurso te ayude a alcanzar tus metas de certificación!&lt;/p&gt;

&lt;p&gt;Volver arriba ↑&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awscommunity</category>
      <category>clfc02</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Arquitectura Inmortal en AWS: Escala, Autocura y Domina el SAA-C03</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Thu, 22 Jan 2026 01:17:19 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/arquitectura-inmortal-en-aws-escala-autocura-y-domina-el-saa-c03-4hi8</link>
      <guid>https://dev.to/franciscojeg78/arquitectura-inmortal-en-aws-escala-autocura-y-domina-el-saa-c03-4hi8</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;
En este post vas a construir una flota de servidores web que &lt;strong&gt;se reparan solos&lt;/strong&gt; cuando fallan y &lt;strong&gt;crecen automáticamente&lt;/strong&gt; cuando llega el tráfico, usando EC2, Auto Scaling Groups (ASG) y Application Load Balancer (ALB).&lt;br&gt;
&lt;strong&gt;Veremos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cómo crear un "molde" de servidor (Launch Template).&lt;/li&gt;
&lt;li&gt;La diferencia vital entre &lt;em&gt;Health Checks&lt;/em&gt; de EC2 vs ELB (Trampa del examen SAA-C03).&lt;/li&gt;
&lt;li&gt;Cómo simular un fallo crítico y ver al sistema "resucitar" una instancia en vivo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tiempo estimado: &lt;strong&gt;45 min&lt;/strong&gt;. Nivel: &lt;strong&gt;200 (Beginner/Intermediate)&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧭 Metadatos rápidos
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Campo&lt;/th&gt;
&lt;th&gt;Valor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Categoría CB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CloudOps / Networking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Servicios AWS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;EC2, Auto Scaling Group (ASG), Application Load Balancer (ALB), VPC, CloudWatch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Requisitos previos&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cuenta AWS (Free Tier), conocimientos básicos de VPC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Costos estimados&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Baja&lt;/strong&gt;. EC2 usa Free Tier (t3.micro). &lt;strong&gt;Ojo:&lt;/strong&gt; El ALB tiene costo por hora, ¡bórralo al terminar!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Arquitectura&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ELB (Entrada) -&amp;gt; ASG (Gestión) -&amp;gt; EC2 Fleet (Trabajo)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🗺️ Tabla de contenidos (ToC)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;¿Por qué importa?&lt;/li&gt;
&lt;li&gt;Arquitectura / Qué vas a construir&lt;/li&gt;
&lt;li&gt;Prerrequisitos&lt;/li&gt;
&lt;li&gt;Paso a paso&lt;/li&gt;
&lt;li&gt;Validación: El Show de Magia&lt;/li&gt;
&lt;li&gt;El Centinela Invisible: Amazon CloudWatch&lt;/li&gt;
&lt;li&gt;Seguridad y buenas prácticas&lt;/li&gt;
&lt;li&gt;Bonus: Examen SAA-C03&lt;/li&gt;
&lt;li&gt;Costos y optimización&lt;/li&gt;
&lt;li&gt;Errores comunes&lt;/li&gt;
&lt;li&gt;Qué sigue&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 ¿Por qué importa?
&lt;/h2&gt;

&lt;p&gt;Imagina que tienes una tienda online. Si tu único servidor se cae a las 3 AM, pierdes ventas y confianza. Peor aún, si lanzas una oferta y llegan 10,000 usuarios, tu servidor colapsará.&lt;/p&gt;

&lt;p&gt;Aquí es donde entra la &lt;strong&gt;Alta Disponibilidad&lt;/strong&gt; y la &lt;strong&gt;Elasticidad&lt;/strong&gt;. No se trata solo de tecnología, se trata de &lt;strong&gt;Customer Success&lt;/strong&gt;: garantizar que el usuario siempre tenga respuesta, sin importar qué pase tras bambalinas.&lt;/p&gt;

&lt;p&gt;Además, este patrón (ELB + ASG) es el "pan de cada día" en el examen &lt;strong&gt;AWS Certified Solutions Architect - Associate (SAA-C03)&lt;/strong&gt;. Entender esto no es opcional, es fundamental.&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧰 Arquitectura / Qué vas a construir
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Diagrama Mental:&lt;/strong&gt;&lt;br&gt;
Imagina un &lt;strong&gt;Recepcionista (ELB)&lt;/strong&gt; que recibe a los clientes y los envía a varios &lt;strong&gt;Clerks (Instancias EC2)&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si la fila crece, un &lt;strong&gt;Gerente (ASG)&lt;/strong&gt; contrata más clerks al instante.&lt;/li&gt;
&lt;li&gt;Si un clerk se desmaya, el Gerente lo saca y trae uno nuevo inmediatamente.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;El Flujo:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;Usuario&lt;/code&gt; → &lt;code&gt;Internet&lt;/code&gt; → &lt;code&gt;Application Load Balancer (ALB)&lt;/code&gt; → &lt;code&gt;Target Group&lt;/code&gt; → &lt;code&gt;Auto Scaling Group&lt;/code&gt; → &lt;code&gt;Instancias EC2 (Amazon Linux 2023)&lt;/code&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%2F2h7rzchxwxsw6mpdel8a.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%2F2h7rzchxwxsw6mpdel8a.png" alt="Image 0" width="552" height="464"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✅ Prerrequisitos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Cuenta AWS activa.&lt;/li&gt;
&lt;li&gt;VPC por defecto (o una custom con al menos 2 Subnets públicas).&lt;/li&gt;
&lt;li&gt;Un Security Group creado previamente (o lo crearemos en el paso 1) que permita tráfico HTTP (80).&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Paso a paso
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1) Fase 1: El ADN (Launch Template)
&lt;/h3&gt;

&lt;p&gt;Antes de escalar, AWS necesita saber qué va a clonar. El &lt;strong&gt;Launch Template&lt;/strong&gt; es el molde.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ve a &lt;strong&gt;EC2&lt;/strong&gt; &amp;gt; &lt;strong&gt;Launch Templates&lt;/strong&gt; &amp;gt; &lt;strong&gt;Create launch template&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Name:&lt;/strong&gt; &lt;code&gt;Web-Server-Template-v1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OS:&lt;/strong&gt; Amazon Linux 2023.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instance Type:&lt;/strong&gt; &lt;code&gt;t2.micro&lt;/code&gt; (Free tier eligible).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Pair:&lt;/strong&gt; Selecciona uno existente (o crea uno, aunque no nos conectaremos por SSH).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Group:&lt;/strong&gt; Crea uno nuevo o selecciona uno existente que permita:&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Inbound Rules:&lt;/strong&gt; Type HTTP, Port 80, Source 0.0.0.0/0 (Anywhere).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Advanced details &amp;gt; User Data:&lt;/strong&gt; Pega este script. &lt;em&gt;Este es el truco visual para ver el balanceo funcionar.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
yum update &lt;span class="nt"&gt;-y&lt;/span&gt;
yum &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; httpd
systemctl start httpd
systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;httpd
&lt;span class="c"&gt;# Obtenemos la zona de disponibilidad para mostrarla en la web&lt;/span&gt;
&lt;span class="nv"&gt;EC2_AVAIL_ZONE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; http://169.254.169.254/latest/meta-data/placement/availability-zone&lt;span class="si"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;h1&amp;gt;Hola desde Francisco Server en la AZ: &lt;/span&gt;&lt;span class="nv"&gt;$EC2_AVAIL_ZONE&lt;/span&gt;&lt;span class="s2"&gt; &amp;lt;/h1&amp;gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /var/www/html/index.html

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Narrativa:&lt;/strong&gt; "Con este script, automatizamos la instalación del servidor web. No configuramos nada manualmente. Es el concepto de 'Infrastructure as Code' en su forma más simple."&lt;/p&gt;
&lt;/blockquote&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%2Fxpps7ei634ezdfv478ae.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%2Fxpps7ei634ezdfv478ae.png" alt="Imagen 1" width="800" height="397"&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%2Fj5fmep3y1tfw8pwad89n.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%2Fj5fmep3y1tfw8pwad89n.png" alt="Imagen 2" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  2) Fase 2: El Distribuidor (Target Groups &amp;amp; ALB)
&lt;/h3&gt;

&lt;p&gt;El Load Balancer es la cara pública. El usuario nunca ve las IPs de los servidores, solo ve la DNS del balanceador.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acción A: Target Group&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ve a &lt;strong&gt;EC2&lt;/strong&gt; &amp;gt; &lt;strong&gt;Target Groups&lt;/strong&gt; &amp;gt; &lt;strong&gt;Create target group&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Target type:&lt;/strong&gt; Instances.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol:&lt;/strong&gt; HTTP (Port 80).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Health Checks:&lt;/strong&gt; Path &lt;code&gt;/&lt;/code&gt;. (Si el servidor no responde aquí, el ALB lo marca como "Unhealthy").&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next&lt;/strong&gt; &amp;gt; No registres instancias todavía &amp;gt; &lt;strong&gt;Create&lt;/strong&gt;.&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%2Fqpc5m0jmnqr2l29wplx5.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%2Fqpc5m0jmnqr2l29wplx5.png" alt="Imagen 3" width="800" height="380"&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%2Fw7hm4z7bsbk8rlne7dn9.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%2Fw7hm4z7bsbk8rlne7dn9.png" alt="Imagen 4" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANTE:&lt;/strong&gt; Recuerda que  el Load Balancer y el Target Group deben vivir en la misma VPC.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acción B: Application Load Balancer (ALB)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ve a &lt;strong&gt;Load Balancers&lt;/strong&gt; &amp;gt; &lt;strong&gt;Create&lt;/strong&gt; &amp;gt; &lt;strong&gt;Application Load Balancer&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheme:&lt;/strong&gt; Internet-facing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network Mapping:&lt;/strong&gt; Selecciona tu VPC y &lt;strong&gt;al menos 2 zonas de disponibilidad (AZs)&lt;/strong&gt; diferentes (ej. us-east-1a, us-east-1b).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Group:&lt;/strong&gt; Usa el mismo que creaste antes (Permitir puerto 80).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Listeners:&lt;/strong&gt; Protocol HTTP, Port 80 -&amp;gt; Forward to: [Tu Target Group creado arriba].&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%2Fd5wk8ydt3mpelixtlm7u.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%2Fd5wk8ydt3mpelixtlm7u.png" alt="Imagen 5" width="800" height="380"&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%2Fa37d46207kmtb0emwf4f.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%2Fa37d46207kmtb0emwf4f.png" alt="Imagen 6" width="800" height="378"&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%2Fvygs52eoplhkllg96l5p.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%2Fvygs52eoplhkllg96l5p.png" alt="Imagen 7" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  3) Fase 3: La Fuerza de Tarea (Auto Scaling Group)
&lt;/h3&gt;

&lt;p&gt;Aquí definimos los límites. Nunca menos de 1 servidor (para no caer), nunca más de 4 (para cuidar el presupuesto).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ve a &lt;strong&gt;EC2&lt;/strong&gt; &amp;gt; &lt;strong&gt;Auto Scaling Groups&lt;/strong&gt; &amp;gt; &lt;strong&gt;Create Auto Scaling group&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Name:&lt;/strong&gt; &lt;code&gt;My-High-Availability-ASG&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Launch Template:&lt;/strong&gt; Selecciona &lt;code&gt;Web-Server-Template-v1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network:&lt;/strong&gt; Elige la VPC y las mismas subnets que usaste para el ALB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Load Balancing:&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Selecciona "Attach to an existing load balancer".&lt;/li&gt;
&lt;li&gt;Elige tu Target Group.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;IMPORTANTE:&lt;/strong&gt; Marca la casilla &lt;strong&gt;"Turn on Elastic Load Balancing health checks"&lt;/strong&gt;. (Veremos por qué en la sección del examen).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Group Size (Capacidad):&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Desired: 2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Minimum: 1&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maximum: 4&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create Auto Scaling Group&lt;/strong&gt;.&lt;/p&gt;&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%2F8pmusyy4d7vcghybgtfy.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%2F8pmusyy4d7vcghybgtfy.png" alt="Imagen 8" width="800" height="379"&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%2Frk8ejhoqu2sak5gbz7to.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%2Frk8ejhoqu2sak5gbz7to.png" alt="Imagen 9" width="800" height="384"&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%2Fta4qtxjzi4q9yn92xdk0.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%2Fta4qtxjzi4q9yn92xdk0.png" alt="Imagen 10" width="800" height="380"&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%2Fvghvfoi5a6zitheb0ala.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%2Fvghvfoi5a6zitheb0ala.png" alt="Imagen 11" width="800" height="376"&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%2F3re5oidew07wca0k0sl3.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%2F3re5oidew07wca0k0sl3.png" alt="Imagen 12" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛡️ El Centinela Invisible: Amazon CloudWatch
&lt;/h2&gt;

&lt;p&gt;Una arquitectura no puede ser realmente "inmortal" si no tiene la capacidad de sentir lo que ocurre en su interior. Aunque para mantener la claridad de nuestro diagrama de red no lo hemos incluido visualmente, Amazon CloudWatch es el servicio que actúa como el sistema nervioso central de toda esta infraestructura.&lt;/p&gt;

&lt;p&gt;Es el encargado de monitorizar constantemente métricas críticas (como el consumo de CPU, el tráfico de red o el estado de salud de las instancias). Sin él, el Auto Scaling Group no sabría cuándo actuar. CloudWatch es quien dispara las alarmas necesarias para que el sistema decida, de manera autónoma, si debe crear nuevas instancias para soportar la carga o reemplazar una que ha dejado de responder.&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Nota de arquitectura:&lt;/strong&gt; La observabilidad es un pilar fundamental del examen SAA-C03. Entender cómo configurar dashboards, alarmas y logs es lo que diferencia a un administrador de un verdadero Arquitecto de Soluciones.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Debido a la importancia y profundidad de este servicio, me extenderé detalladamente sobre configuraciones avanzadas de CloudWatch, monitorización proactiva y gestión de logs en un próximo post dedicado exclusivamente a este "guardián" de la nube.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔎 Validación: El Show de Magia
&lt;/h2&gt;

&lt;p&gt;Aquí es donde comprobamos si nuestra arquitectura es realmente "inmortal".&lt;/p&gt;

&lt;h3&gt;
  
  
  Prueba 1: El Balanceo
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Ve a tu Load Balancer y copia el &lt;strong&gt;DNS name&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Pégalo en el navegador. Verás: &lt;code&gt;Hola desde Francisco Server en la AZ: us-east-1a&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Refresca varias veces. El texto cambiará a &lt;code&gt;us-east-1b&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Comentario:&lt;/em&gt; "El ALB está repartiendo las cartas. El tráfico se distribuye sin intervención manual".&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%2F23oojwrwusa5zat66sde.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%2F23oojwrwusa5zat66sde.png" alt="Imagen 13" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;❓ ¿No te carga la página?&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%2F2v6jbt046fs0ssefktrl.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%2F2v6jbt046fs0ssefktrl.png" alt="Imagen 14" width="800" height="399"&gt;&lt;/a&gt;&lt;br&gt;
Si se queda "pensando" y te da error de tiempo de espera (Timeout), revisa esto rápido:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Group del ALB:&lt;/strong&gt; ¿Permite entrada en el puerto 80 desde 0.0.0.0/0?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Group de las Instancias:&lt;/strong&gt; ¿Permite entrada en el puerto 80 desde el Security Group del ALB?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subnets:&lt;/strong&gt; ¿Creaste el ALB en subnets Públicas? (Tienen que tener un Internet Gateway conectado).&lt;/p&gt;

&lt;h3&gt;
  
  
  Prueba 2: "Auto-Healing" (Caos)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Ve a la consola EC2 y busca una de las instancias creadas por el ASG.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Acción:&lt;/strong&gt; Instance State -&amp;gt; &lt;strong&gt;Terminate&lt;/strong&gt;. (¡Mátala sin piedad!).&lt;/li&gt;
&lt;li&gt;Vuelve a tu web y refresca. Quizás falle una vez, pero el ALB dejará de enviarle tráfico enseguida.&lt;/li&gt;
&lt;li&gt;Ve a la consola del &lt;strong&gt;Auto Scaling Group&lt;/strong&gt; &amp;gt; Pestaña &lt;strong&gt;Activity&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Verás: &lt;em&gt;"Instance terminated. Launching a new EC2 instance to meet desired capacity"&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Resultado:&lt;/strong&gt; Acabamos de simular un fallo crítico. ¿Se cayó el sistema? No. El ASG detectó que faltaba un soldado y reclutó otro automáticamente en segundos.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔐 Seguridad y buenas prácticas
&lt;/h2&gt;

&lt;p&gt;En este laboratorio hemos tomado algunos atajos para aprender rápido (como usar HTTP), pero en el mundo real, y en el examen SAA-C03, la seguridad no es negociable. Aquí tienes cómo endurecer esta arquitectura:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. El Principio del "Mínimo Privilegio" en Red (Security Group Chaining)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;El Error Común:&lt;/strong&gt; Abrir el puerto 80 (&lt;code&gt;0.0.0.0/0&lt;/code&gt;) en tus instancias EC2.&lt;br&gt;
&lt;strong&gt;El Riesgo:&lt;/strong&gt; Cualquiera puede atacar tus servidores directamente, saltándose el Load Balancer y cualquier regla de seguridad que pongas allí (como un WAF).&lt;br&gt;
&lt;strong&gt;La Solución (Arquitectura N-Tier):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;ALB Security Group:&lt;/strong&gt; Permite entrada HTTP (80) desde &lt;code&gt;0.0.0.0/0&lt;/code&gt; (Internet).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;EC2 Security Group:&lt;/strong&gt; Borra la regla de &lt;code&gt;0.0.0.0/0&lt;/code&gt;. Agrega una regla que permita puerto 80 &lt;strong&gt;SOLO desde el Security Group del ALB&lt;/strong&gt; (puedes seleccionar el ID del grupo de seguridad &lt;code&gt;sg-xxxx&lt;/code&gt; como fuente).
&amp;gt; &lt;strong&gt;Efecto:&lt;/strong&gt; Tus servidores se vuelven invisibles para internet. Solo aceptan tráfico si viene de la mano del "Recepcionista" (ALB).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  2. Cifrado en Tránsito (HTTPS)
&lt;/h3&gt;

&lt;p&gt;Nosotros usamos HTTP para facilitar el laboratorio. En producción:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debes usar un certificado SSL/TLS (gratis con &lt;strong&gt;AWS Certificate Manager&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;Realizas &lt;strong&gt;TLS Termination&lt;/strong&gt; en el ALB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;¿Por qué en el ALB?&lt;/strong&gt; Para quitarle la carga de desencriptar a los servidores EC2 (CPU offloading), permitiendo que se dediquen solo a procesar la aplicación.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Golden AMI vs. User Data
&lt;/h3&gt;

&lt;p&gt;En la Fase 1 usamos &lt;em&gt;User Data&lt;/em&gt; para instalar Apache (&lt;code&gt;yum install&lt;/code&gt;).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Problema:&lt;/strong&gt; Cada vez que el ASG lanza un servidor, este pierde tiempo descargando e instalando paquetes. Si el repo de Linux se cae, tu auto-scaling falla.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Buenas Prácticas:&lt;/strong&gt; Configura una instancia, instala todo, y crea una &lt;strong&gt;AMI personalizada (Golden Image)&lt;/strong&gt;. Usa esa AMI en tu Launch Template. El escalado será mucho más rápido y seguro.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🎓 Bonus: Puntos críticos para el examen SAA-C03
&lt;/h2&gt;

&lt;p&gt;Mientras preparas este laboratorio, asegúrate de interiorizar estos conceptos que siempre caen en el examen:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Health Checks: EC2 vs. ELB
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Por defecto:&lt;/strong&gt; El ASG solo mira si la instancia está "corriendo" (EC2 Status Check).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;La Trampa:&lt;/strong&gt; Si tu aplicación (Apache) se cuelga (Error 500), pero el servidor sigue encendido, el ASG cree que todo está bien y sigue enviando tráfico a un servidor zombie.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;La Solución:&lt;/strong&gt; Habilitar &lt;strong&gt;"ELB Health Checks"&lt;/strong&gt; en el ASG. Así, si el ELB detecta un error en la aplicación, le avisa al ASG para que reemplace la instancia.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Deregistration Delay (Connection Draining)
&lt;/h3&gt;

&lt;p&gt;Cuando el ASG decide apagar una instancia (Scaling In), ¿qué pasa con los usuarios que estaban comprando en ese segundo?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;El &lt;strong&gt;Deregistration Delay&lt;/strong&gt; (default 300s) permite que las conexiones activas terminen antes de matar el servidor. Es vital para una buena experiencia de usuario.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Flashcard de Repaso
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pregunta:&lt;/strong&gt; Si mi aplicación guarda sesiones de usuario en la memoria local de la instancia y el ASG elimina esa instancia, ¿qué pasa con el usuario?&lt;br&gt;
&lt;strong&gt;Respuesta:&lt;/strong&gt; Se desconecta (pierde el carrito). &lt;strong&gt;Solución:&lt;/strong&gt; Arquitectura Stateless. Guardar la sesión fuera de la EC2 (ej. en ElastiCache o DynamoDB) o usar Sticky Sessions (aunque esto último no ayuda si la instancia muere).&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💸 Costos y optimización
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EC2:&lt;/strong&gt; Si usas &lt;code&gt;t3.micro&lt;/code&gt; y tu cuenta es nueva, está cubierto por el Free Tier (750 horas/mes).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ALB:&lt;/strong&gt; &lt;strong&gt;¡Cuidado!&lt;/strong&gt; El Application Load Balancer NO es gratis. Cobra por hora y por LCU (capacidad usada).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FinOps Tip:&lt;/strong&gt; Apenas termines este laboratorio y tomes tus capturas de pantalla, &lt;strong&gt;elimina el ALB y el ASG&lt;/strong&gt; para evitar cargos sorpresas en tu tarjeta.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧯 Errores comunes (Troubleshooting)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Síntoma&lt;/th&gt;
&lt;th&gt;Causa probable&lt;/th&gt;
&lt;th&gt;Solución&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Instancias "Unhealthy" en el Target Group&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Security Group incorrecto&lt;/td&gt;
&lt;td&gt;Asegúrate de que el SG de las instancias permita tráfico en puerto 80 desde el SG del ALB o desde 0.0.0.0/0.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Página no carga&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;User Data fallido&lt;/td&gt;
&lt;td&gt;Revisa si copiaste bien el script bash. Verifica los logs en &lt;code&gt;/var/log/cloud-init-output.log&lt;/code&gt; dentro de la instancia.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ASG lanza y termina instancias en bucle&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Health Check fallido&lt;/td&gt;
&lt;td&gt;Si el Health Check falla inmediatamente, el ASG mata la instancia y crea otra infinita veces. Revisa que Apache esté iniciando.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Qué sigue
&lt;/h2&gt;

&lt;p&gt;¿Quieres llevar esto al nivel "Pro"? Intenta esto:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Configura una &lt;strong&gt;Scaling Policy&lt;/strong&gt; basada en CPU (ej. "Si CPU &amp;gt; 50%, agrega 1 instancia"). Usa la herramienta &lt;code&gt;stress&lt;/code&gt; en Linux para disparar la alarma.&lt;/li&gt;
&lt;li&gt;Agrega una base de datos &lt;strong&gt;RDS&lt;/strong&gt; para que los servidores compartan información real.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;¿Te sirvió este laboratorio para entender la alta disponibilidad?&lt;/strong&gt; ¡Cuéntame en los comentarios si lograste ver la "autocuración" en acción! 👇&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudops</category>
      <category>beginners</category>
      <category>saac03</category>
    </item>
    <item>
      <title>🔗 VPC Peering: Conecta dos VPCs sin Exponer Tráfico a Internet (Paso a Paso desde la Consola)</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Wed, 26 Nov 2025 18:11:01 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/vpc-peering-conecta-dos-vpcs-sin-exponer-trafico-a-internet-paso-a-paso-desde-la-consola-vf-522f</link>
      <guid>https://dev.to/franciscojeg78/vpc-peering-conecta-dos-vpcs-sin-exponer-trafico-a-internet-paso-a-paso-desde-la-consola-vf-522f</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;💭 Principio del día:&lt;/strong&gt; La verdadera arquitectura en la nube no consiste en construir muros altos, sino en crear puertas inteligentes que permitan comunicación segura solo donde es necesaria. VPC Peering es esa puerta inteligente.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Este post te enseña a conectar dos VPCs de forma privada usando VPC Peering Connection, permitiendo que tus aplicaciones se comuniquen sin exponer tráfico a Internet. Aprenderás a configurar las rutas bidireccionales, los Security Groups cross-VPC, y validar la comunicación privada entre instancias EC2. Todo desde la Consola AWS, sin CLI ni IaC.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Por qué este enfoque manual?&lt;/strong&gt; Porque en mis sesiones de mentoría, el 70% de los que estudian para certificaciones AWS entienden qué es VPC Peering en teoría, pero cuando se enfrentan a configurarlo manualmente, fallan en las rutas o en los Security Groups. Este método paso a paso es el que uso para que dominen la conectividad cross-VPC antes de automatizar con Terraform.&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;Tiempo estimado:&lt;/strong&gt; 50-60 min | &lt;strong&gt;Nivel:&lt;/strong&gt; 300 (Intermedio-Avanzado)&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 Metadatos rápidos
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Campo&lt;/th&gt;
&lt;th&gt;Valor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Categoría CB&lt;/td&gt;
&lt;td&gt;Networking and Content Delivery + Security&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Servicios AWS&lt;/td&gt;
&lt;td&gt;VPC, VPC Peering, EC2, Security Groups, Route Tables, Internet Gateway&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Habilidades clave&lt;/td&gt;
&lt;td&gt;Network connectivity, Cross-VPC communication, Security isolation, Route table management&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Requisitos previos&lt;/td&gt;
&lt;td&gt;Cuenta AWS activa con permisos necesarios. Conocimientos sólidos de VPC, subnets, y route tables. Par de claves SSH.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Costos estimados&lt;/td&gt;
&lt;td&gt;Baja (VPC Peering sin cargo en la misma región, EC2 t2.micro en Free Tier).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Arquitectura&lt;/td&gt;
&lt;td&gt;2 VPCs conectadas vía Peering Connection: VPC-A (Producción) ↔ VPC-B (Staging)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🗺️ Tabla de contenidos (ToC)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💡 ¿Por qué enseño VPC Peering?&lt;/li&gt;
&lt;li&gt;🧰 Arquitectura y Flujo de Datos&lt;/li&gt;
&lt;li&gt;🛠️ Paso a paso: Configuración desde la Consola&lt;/li&gt;
&lt;li&gt;⚠️ Solución Crítica: Configurar Rutas Bidireccionales&lt;/li&gt;
&lt;li&gt;🔐 Seguridad: Security Groups Cross-VPC&lt;/li&gt;
&lt;li&gt;⚙️ Despliegue Final: Instancias EC2 en Ambas VPCs&lt;/li&gt;
&lt;li&gt;🔎 Validación y Pruebas&lt;/li&gt;
&lt;li&gt;🚀 Qué Sigue (Extensiones)&lt;/li&gt;
&lt;li&gt;🚀 Del Clic Manual a Infrastructure as Code&lt;/li&gt;
&lt;li&gt;🤝 Contribuye y Aprende Conmigo&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Casos de uso reales donde VPC Peering es la solución correcta:
&lt;/h2&gt;

&lt;p&gt;✅ &lt;strong&gt;Arquitecturas Multi-Ambiente:&lt;/strong&gt; Separar Producción, Staging y Dev en VPCs diferentes, pero permitir que Staging acceda a una base de datos compartida en otra VPC.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Microservicios Aislados:&lt;/strong&gt; Cada microservicio en su propia VPC para seguridad, pero permitiendo comunicación controlada entre servicios autorizados.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Shared Services:&lt;/strong&gt; Centralizar servicios como Active Directory, repositorios de artefactos, o bases de datos en una VPC, y que múltiples VPCs de aplicación accedan a ellos de forma privada.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Multi-Cuenta con AWS Organizations:&lt;/strong&gt; Conectar VPCs de cuentas diferentes (ej. cuenta de producción con cuenta de seguridad) para auditoría o monitoreo centralizado.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lo que aprenderás (y por qué importa para tu carrera)
&lt;/h3&gt;

&lt;p&gt;Este tutorial implementa el principio de comunicación segura sin exposición pública, una habilidad arquitectónica que diferencia a un ingeniero senior:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Conectividad Cross-VPC Privada:&lt;/strong&gt; Dominas la configuración de Peering Connection y rutas bidireccionales sin depender de asistentes o plantillas. &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Seguridad en Capas (Defense in Depth):&lt;/strong&gt; Implementas Security Groups que validan el origen del tráfico basándose en CIDRs de la VPC remota. &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Troubleshooting de Conectividad:&lt;/strong&gt; Aprendes a diagnosticar fallos comunes: rutas faltantes, Security Groups mal configurados, o CIDRs superpuestos. &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Fundamento para Escalabilidad:&lt;/strong&gt; Una vez que dominas Peering, entiendes cuándo escalar a Transit Gateway (5+ VPCs) o cuándo usar AWS PrivateLink (exposición de servicios). &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Preparación para Certificaciones:&lt;/strong&gt; Esta arquitectura de VPC Peering es la base para aprobar el dominio de Networking en AWS Solutions Architect Associate/Professional y Advanced Networking Specialty.&lt;/p&gt;

&lt;p&gt;Si estás preparando tu certificación, VPC Peering aparece en al menos 2-3 preguntas de escenarios en el examen de Solutions Architect. Entender las limitaciones (no transitividad, CIDRs no superpuestos) te da puntos garantizados.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧰 Arquitectura y Flujo de Datos
&lt;/h2&gt;

&lt;p&gt;La arquitectura consiste en 2 VPCs conectadas por una VPC Peering Connection, permitiendo comunicación privada entre una instancia EC2 en cada VPC.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Componente&lt;/th&gt;
&lt;th&gt;VPC-A (Producción)&lt;/th&gt;
&lt;th&gt;VPC-B (Staging)&lt;/th&gt;
&lt;th&gt;Función&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VPC CIDR&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;10.0.0.0/16&lt;/td&gt;
&lt;td&gt;10.1.0.0/16&lt;/td&gt;
&lt;td&gt;Rangos de IP no superpuestos (crítico para peering).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Subnet Pública&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;10.0.1.0/24 (us-east-1a)&lt;/td&gt;
&lt;td&gt;10.1.1.0/24 (us-east-1b)&lt;/td&gt;
&lt;td&gt;Subredes con acceso a Internet vía IGW.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Internet Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;IGW-Produccion&lt;/td&gt;
&lt;td&gt;IGW-Staging&lt;/td&gt;
&lt;td&gt;Permite SSH desde Internet para gestión.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Instancia EC2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;EC2-Prod (10.0.1.10)&lt;/td&gt;
&lt;td&gt;EC2-Staging (10.1.1.10)&lt;/td&gt;
&lt;td&gt;Servidores web que se comunicarán vía Peering.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security Group&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SG-Prod (permite ICMP/SSH desde VPC-B)&lt;/td&gt;
&lt;td&gt;SG-Staging (permite ICMP/SSH desde VPC-A)&lt;/td&gt;
&lt;td&gt;Seguridad en capa de aplicación.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Route Table&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;RT-Prod (ruta hacia 10.1.0.0/16 → pcx-xxxx)&lt;/td&gt;
&lt;td&gt;RT-Staging (ruta hacia 10.0.0.0/16 → pcx-xxxx)&lt;/td&gt;
&lt;td&gt;Enrutamiento bidireccional crítico.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Flujo del Tráfico
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Usuario&lt;/strong&gt; realiza SSH a las instancias EC2 vía Internet Gateway (puerto 22) para gestión.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EC2-Prod&lt;/strong&gt; (10.0.1.10) envía un ping o solicitud HTTP a &lt;strong&gt;EC2-Staging&lt;/strong&gt; (10.1.1.10).&lt;/li&gt;
&lt;li&gt;El tráfico es dirigido por la &lt;strong&gt;Route Table de VPC-A&lt;/strong&gt; hacia la &lt;strong&gt;VPC Peering Connection&lt;/strong&gt; (destino: 10.1.0.0/16).&lt;/li&gt;
&lt;li&gt;El tráfico viaja por la &lt;strong&gt;red interna de AWS&lt;/strong&gt; (nunca sale a Internet).&lt;/li&gt;
&lt;li&gt;La &lt;strong&gt;Route Table de VPC-B&lt;/strong&gt; recibe el tráfico y lo dirige a la subnet 10.1.1.0/24.&lt;/li&gt;
&lt;li&gt;El &lt;strong&gt;Security Group de EC2-Staging&lt;/strong&gt; valida que el origen (10.0.1.10) está dentro del CIDR permitido (10.0.0.0/16) y acepta la conexión.&lt;/li&gt;
&lt;li&gt;La respuesta viaja en sentido inverso por el mismo camino.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Diagrama de Arquitectura (Conceptual)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Internet
    │
    ├─── SSH ───&amp;gt; VPC-A (10.0.0.0/16)
    │                │
    │                ├── IGW-Produccion
    │                ├── Subnet Pública (10.0.1.0/24)
    │                └── EC2-Prod (10.0.1.10)
    │                         │
    │                         │ (Tráfico privado via Peering)
    │                         ▼
    │              VPC Peering Connection (pcx-xxxxx)
    │                         │
    │                         ▼
    └─── SSH ───&amp;gt; VPC-B (10.1.0.0/16)
                     │
                     ├── IGW-Staging
                     ├── Subnet Pública (10.1.1.0/24)
                     └── EC2-Staging (10.1.1.10)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Puntos Clave de la Arquitectura&lt;br&gt;
⚠️ &lt;strong&gt;CIDRs No Superpuestos:&lt;/strong&gt; Las VPCs deben tener rangos de IP que no se solapen. Si ambas usan 10.0.0.0/16, el Peering fallará o causará conflictos de enrutamiento.&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;No Transitividad:&lt;/strong&gt; Si tienes VPC-A ↔ VPC-B (peering) y VPC-B ↔ VPC-C (otro peering), VPC-A NO puede comunicarse con VPC-C automáticamente. Necesitarías un peering directo VPC-A ↔ VPC-C o usar Transit Gateway.&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Rutas Bidireccionales:&lt;/strong&gt; Ambas VPCs deben tener rutas hacia el CIDR de la otra. No basta con configurar la ruta en una sola VPC.&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Security Groups Cross-VPC:&lt;/strong&gt; Los Security Groups pueden referenciar CIDRs de la VPC remota, pero no pueden referenciar Security Groups de otra VPC (a menos que uses Security Group peering en la misma región y cuenta).&lt;/p&gt;


&lt;h2&gt;
  
  
  🛠️ Paso a paso: Configuración desde la Consola
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1) Crear VPC-A (Producción)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.1. Crear la VPC:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Navega al servicio &lt;strong&gt;VPC&lt;/strong&gt; en la consola AWS.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Your VPCs&lt;/strong&gt; → &lt;strong&gt;Create VPC&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Configuración:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Name tag:&lt;/strong&gt; &lt;code&gt;VPC-Produccion&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IPv4 CIDR block:&lt;/strong&gt; &lt;code&gt;10.0.0.0/16&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IPv6 CIDR block:&lt;/strong&gt; No IPv6 CIDR block&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tenancy:&lt;/strong&gt; Default&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Create VPC&lt;/strong&gt;.&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%2F30d57p1u5hicn0xfjggw.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%2F30d57p1u5hicn0xfjggw.png" alt="VPC 1" width="800" height="379"&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%2F11yog6l7l6w3ze7txlrb.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%2F11yog6l7l6w3ze7txlrb.png" alt="VPC 2" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.2. Crear Subnet Pública en VPC-A:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Subnets&lt;/strong&gt; → &lt;strong&gt;Create subnet&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Configuración:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VPC ID:&lt;/strong&gt; Selecciona &lt;code&gt;VPC-Produccion&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subnet name:&lt;/strong&gt; &lt;code&gt;Subnet-Prod-Public-1a&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Availability Zone:&lt;/strong&gt; &lt;code&gt;us-east-1a&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IPv4 CIDR block:&lt;/strong&gt; &lt;code&gt;10.0.1.0/24&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Create subnet&lt;/strong&gt;.&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%2Fqm3sp665hhl4mmfd5nrv.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%2Fqm3sp665hhl4mmfd5nrv.png" alt="VPC 3" width="800" height="379"&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%2Fkza620al67eklu6vflhz.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%2Fkza620al67eklu6vflhz.png" alt="VPC 4" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.3. Crear y Asociar Internet Gateway (IGW) a VPC-A:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Internet Gateways&lt;/strong&gt; → &lt;strong&gt;Create internet gateway&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Name tag:&lt;/strong&gt; &lt;code&gt;IGW-Produccion&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Create internet gateway&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Selecciona el IGW recién creado.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Actions&lt;/strong&gt; → &lt;strong&gt;Attach to VPC&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Selecciona &lt;code&gt;VPC-Produccion&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Attach internet gateway&lt;/strong&gt;.&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%2F1mk2qb1i0tqoaso43mut.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%2F1mk2qb1i0tqoaso43mut.png" alt="VPC 5" width="800" height="380"&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%2Fo7r1yheln2ebr769sayy.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%2Fo7r1yheln2ebr769sayy.png" alt="VPC 6" width="800" height="382"&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%2F0mqyeth1p46t4swc6ubx.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%2F0mqyeth1p46t4swc6ubx.png" alt="VPC 7" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.4. Configurar Route Table Pública en VPC-A:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Route Tables&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Busca la Route Table que se creó automáticamente para &lt;code&gt;VPC-Produccion&lt;/code&gt; (la Main Route Table).&lt;/li&gt;
&lt;li&gt;Selecciona esa Route Table y edita el &lt;strong&gt;Name:&lt;/strong&gt; &lt;code&gt;RT-Produccion-Public&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Selecciónala → pestaña &lt;strong&gt;Routes&lt;/strong&gt; → &lt;strong&gt;Edit routes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Add route&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Destination:&lt;/strong&gt; &lt;code&gt;0.0.0.0/0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Target:&lt;/strong&gt; Internet Gateway → Selecciona &lt;code&gt;IGW-Produccion&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Save changes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ve a la pestaña &lt;strong&gt;Subnet associations&lt;/strong&gt; → &lt;strong&gt;Edit subnet associations&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Marca la subnet &lt;code&gt;Subnet-Prod-Public-1a&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Save associations&lt;/strong&gt;.&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%2Flyjj5lmluyfo73jtiggs.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%2Flyjj5lmluyfo73jtiggs.png" alt="VPC 8" width="800" height="377"&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%2Fvoxq241k1k1c4p5p7vlg.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%2Fvoxq241k1k1c4p5p7vlg.png" alt="VPC 9" width="800" height="379"&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%2Fxhfvfwe941d0mwa2vqvv.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%2Fxhfvfwe941d0mwa2vqvv.png" alt="VPC 10" width="800" height="381"&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%2Ftgoc7q3q61tvx01n9ok2.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%2Ftgoc7q3q61tvx01n9ok2.png" alt="VPC 11" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  2) Crear VPC-B (Staging)
&lt;/h3&gt;

&lt;p&gt;Repite el proceso anterior con estos valores:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.1. Crear la VPC:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Name tag:&lt;/strong&gt; &lt;code&gt;VPC-Staging&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IPv4 CIDR block:&lt;/strong&gt; &lt;code&gt;10.1.0.0/16&lt;/code&gt; ⚠️ &lt;strong&gt;CRÍTICO: Diferente de VPC-A&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%2F5arn3w2onwmky0q7gbap.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%2F5arn3w2onwmky0q7gbap.png" alt="VPC 12" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.2. Crear Subnet Pública en VPC-B:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VPC ID:&lt;/strong&gt; &lt;code&gt;VPC-Staging&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subnet name:&lt;/strong&gt; &lt;code&gt;Subnet-Staging-Public-1b&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Availability Zone:&lt;/strong&gt; &lt;code&gt;us-east-1b&lt;/code&gt; (diferente AZ para simular alta disponibilidad)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IPv4 CIDR block:&lt;/strong&gt; &lt;code&gt;10.1.1.0/24&lt;/code&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%2Fxr98bmgmjyez9nh6aup1.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%2Fxr98bmgmjyez9nh6aup1.png" alt="VPC 13" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.3. Crear y Asociar Internet Gateway (IGW) a VPC-B:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Name tag:&lt;/strong&gt; &lt;code&gt;IGW-Staging&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Attach to VPC:&lt;/strong&gt; &lt;code&gt;VPC-Staging&lt;/code&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%2Fwdo8iaqjubj17bk488vj.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%2Fwdo8iaqjubj17bk488vj.png" alt="VPC 14" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.4. Configurar Route Table Pública en VPC-B:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Name:&lt;/strong&gt; &lt;code&gt;RT-Staging-Public&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ruta:&lt;/strong&gt; &lt;code&gt;0.0.0.0/0&lt;/code&gt; → &lt;code&gt;IGW-Staging&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subnet association:&lt;/strong&gt; &lt;code&gt;Subnet-Staging-Public-1b&lt;/code&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%2F0yxdux1gflyxgftbbxdj.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%2F0yxdux1gflyxgftbbxdj.png" alt="VPC 15" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  3) Crear VPC Peering Connection
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;3.1. Iniciar el Peering:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;En la consola de VPC, haz clic en &lt;strong&gt;Peering Connections&lt;/strong&gt; (en el menú lateral).&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Create peering connection&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Configuración:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Peering connection name tag:&lt;/strong&gt; &lt;code&gt;Peering-Prod-Staging&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VPC (Requester):&lt;/strong&gt; Selecciona &lt;code&gt;VPC-Produccion&lt;/code&gt; (10.0.0.0/16)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Account:&lt;/strong&gt; My account (si ambas VPCs están en la misma cuenta)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Region:&lt;/strong&gt; This region (us-east-1)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VPC (Accepter):&lt;/strong&gt; Selecciona &lt;code&gt;VPC-Staging&lt;/code&gt; (10.1.0.0/16)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Create peering connection&lt;/strong&gt;.&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%2F5drqfnsjaphe0t7kzlyy.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%2F5drqfnsjaphe0t7kzlyy.png" alt="VPC 16" width="800" height="377"&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%2F2gt29fsn3hz9i0zemmx4.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%2F2gt29fsn3hz9i0zemmx4.png" alt="VPC 17" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.2. Aceptar el Peering:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;La conexión se creará en estado &lt;strong&gt;Pending Acceptance&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Selecciona la Peering Connection recién creada.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Actions&lt;/strong&gt; → &lt;strong&gt;Accept request&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Confirma haciendo clic en &lt;strong&gt;Accept request&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;El estado cambiará a &lt;strong&gt;Active&lt;/strong&gt;. ✅&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%2Fgicvaqmp9axeg7xm7mti.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%2Fgicvaqmp9axeg7xm7mti.png" alt="VPC 18" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; Si las VPCs estuvieran en cuentas o regiones diferentes, el proceso de aceptación requeriría acceso a la cuenta/región de la VPC aceptadora.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  ⚠️ Solución Crítica: Configurar Rutas Bidireccionales
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Problema:&lt;/strong&gt; El Peering está &lt;strong&gt;Active&lt;/strong&gt;, pero las instancias EC2 no pueden comunicarse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Causa Raíz:&lt;/strong&gt; El Peering Connection por sí solo NO configura las rutas. Debes agregar rutas manualmente en las Route Tables de ambas VPCs.&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%2Fiqkho9sqiallivnwiyzi.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%2Fiqkho9sqiallivnwiyzi.png" alt="VPC 19" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Paso 1: Agregar Ruta en VPC-A hacia VPC-B
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Ve a &lt;strong&gt;Route Tables&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Selecciona &lt;code&gt;RT-Produccion-Public&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Pestaña &lt;strong&gt;Routes&lt;/strong&gt; → &lt;strong&gt;Edit routes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Add route&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Destination:&lt;/strong&gt; &lt;code&gt;10.1.0.0/16&lt;/code&gt; (CIDR completo de VPC-B)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Target:&lt;/strong&gt; Peering Connection → Selecciona &lt;code&gt;Peering-Prod-Staging&lt;/code&gt; (pcx-xxxxx)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Save changes&lt;/strong&gt;.&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%2Fngqnnskoz7716lmhvjia.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%2Fngqnnskoz7716lmhvjia.png" alt="VPC 20" width="800" height="378"&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%2Fq6x4fr8h6aplenk8wgqy.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%2Fq6x4fr8h6aplenk8wgqy.png" alt="VPC 24" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verificación:&lt;/strong&gt; La Route Table de VPC-A ahora debe tener estas rutas:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Destination&lt;/th&gt;
&lt;th&gt;Target&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10.0.0.0/16&lt;/td&gt;
&lt;td&gt;local&lt;/td&gt;
&lt;td&gt;Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10.1.0.0/16&lt;/td&gt;
&lt;td&gt;pcx-xxxxx&lt;/td&gt;
&lt;td&gt;Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.0.0.0/0&lt;/td&gt;
&lt;td&gt;igw-xxxxx&lt;/td&gt;
&lt;td&gt;Active&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Paso 2: Agregar Ruta en VPC-B hacia VPC-A
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Ve a &lt;strong&gt;Route Tables&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Selecciona &lt;code&gt;RT-Staging-Public&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Pestaña &lt;strong&gt;Routes&lt;/strong&gt; → &lt;strong&gt;Edit routes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Add route&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Destination:&lt;/strong&gt; &lt;code&gt;10.0.0.0/16&lt;/code&gt; (CIDR completo de VPC-A)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Target:&lt;/strong&gt; Peering Connection → Selecciona &lt;code&gt;Peering-Prod-Staging&lt;/code&gt; (pcx-xxxxx)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Save changes&lt;/strong&gt;.&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%2Fsx03ndh2id33di6yn1qg.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%2Fsx03ndh2id33di6yn1qg.png" alt="VPC 21" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verificación:&lt;/strong&gt; La Route Table de VPC-B ahora debe tener estas rutas:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Destination&lt;/th&gt;
&lt;th&gt;Target&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10.1.0.0/16&lt;/td&gt;
&lt;td&gt;local&lt;/td&gt;
&lt;td&gt;Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10.0.0.0/16&lt;/td&gt;
&lt;td&gt;pcx-xxxxx&lt;/td&gt;
&lt;td&gt;Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.0.0.0/0&lt;/td&gt;
&lt;td&gt;igw-xxxxx&lt;/td&gt;
&lt;td&gt;Active&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  ⚠️ Confirmación Crítica
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Pregunta de Validación:&lt;/strong&gt; Si eliminas la ruta en una de las dos Route Tables, ¿la comunicación seguirá funcionando?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Respuesta:&lt;/strong&gt; NO. El enrutamiento debe ser &lt;strong&gt;bidireccional&lt;/strong&gt;. Si VPC-A puede enviar tráfico a VPC-B pero VPC-B no tiene una ruta de regreso hacia VPC-A, la comunicación fallará (el paquete llega pero la respuesta no puede regresar).&lt;/p&gt;


&lt;h2&gt;
  
  
  🔐 Seguridad: Security Groups Cross-VPC
&lt;/h2&gt;

&lt;p&gt;Implementando el Principio de Menor Privilegio (Least Privilege)&lt;/p&gt;

&lt;p&gt;Esta sección es crítica para certificaciones AWS. Estás aplicando las mejores prácticas de seguridad que AWS espera ver en arquitecturas de producción:&lt;/p&gt;
&lt;h3&gt;
  
  
  Security Group de EC2-Prod (SG-Prod)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Reglas de Entrada (Inbound):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regla 1 - SSH desde Internet (para gestión):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type:&lt;/strong&gt; SSH&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol:&lt;/strong&gt; TCP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port range:&lt;/strong&gt; 22&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source:&lt;/strong&gt; &lt;code&gt;0.0.0.0/0&lt;/code&gt; (o tu IP específica para mayor seguridad)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; SSH desde Internet para administración&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regla 2 - ICMP desde VPC-B (para pruebas de ping):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type:&lt;/strong&gt; All ICMP - IPv4&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol:&lt;/strong&gt; ICMP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port range:&lt;/strong&gt; All&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source:&lt;/strong&gt; &lt;code&gt;10.1.0.0/16&lt;/code&gt; (CIDR completo de VPC-B)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Permitir ping desde VPC-Staging&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regla 3 - HTTP desde VPC-B (opcional, para comunicación de aplicaciones):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type:&lt;/strong&gt; HTTP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol:&lt;/strong&gt; TCP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port range:&lt;/strong&gt; 80&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source:&lt;/strong&gt; &lt;code&gt;10.1.0.0/16&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Permitir HTTP desde VPC-Staging&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Reglas de Salida (Outbound):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Default:&lt;/strong&gt; Permitir todo tráfico saliente (&lt;code&gt;0.0.0.0/0&lt;/code&gt;, All traffic).&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%2F6jpqocmqhkfzwp9h38i2.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%2F6jpqocmqhkfzwp9h38i2.png" alt="VPC 22" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Security Group de EC2-Staging (SG-Staging)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Reglas de Entrada (Inbound):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regla 1 - SSH desde Internet:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type:&lt;/strong&gt; SSH&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol:&lt;/strong&gt; TCP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port range:&lt;/strong&gt; 22&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source:&lt;/strong&gt; &lt;code&gt;0.0.0.0/0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; SSH desde Internet para administración&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regla 2 - ICMP desde VPC-A:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type:&lt;/strong&gt; All ICMP - IPv4&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol:&lt;/strong&gt; ICMP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port range:&lt;/strong&gt; All&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source:&lt;/strong&gt; &lt;code&gt;10.0.0.0/16&lt;/code&gt; (CIDR completo de VPC-A)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Permitir ping desde VPC-Produccion&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regla 3 - HTTP desde VPC-A:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Type:&lt;/strong&gt; HTTP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol:&lt;/strong&gt; TCP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port range:&lt;/strong&gt; 80&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source:&lt;/strong&gt; &lt;code&gt;10.0.0.0/16&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Permitir HTTP desde VPC-Produccion&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Reglas de Salida (Outbound):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Default:&lt;/strong&gt; Permitir todo tráfico saliente.&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%2Fu2jwlcy2dud0rbx0s1xp.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%2Fu2jwlcy2dud0rbx0s1xp.png" alt="VPC 23" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🎯 Por qué este diseño de Security Groups es una práctica senior
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Nota el detalle crítico:&lt;/strong&gt; Estamos usando los &lt;strong&gt;CIDRs completos de las VPCs&lt;/strong&gt; (10.0.0.0/16 y 10.1.0.0/16) como origen, en lugar de IPs específicas.&lt;/p&gt;

&lt;p&gt;Esto implementa:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Flexibilidad:&lt;/strong&gt; Si lanzas más instancias en cualquiera de las dos VPCs, automáticamente podrán comunicarse sin reconfigurar Security Groups.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Least Privilege:&lt;/strong&gt; Solo el tráfico de la VPC autorizada puede entrar. Tráfico de Internet o de otras VPCs será bloqueado.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Defense in Depth:&lt;/strong&gt; Incluso si alguien compromete la Route Table, el Security Group sigue validando el origen del tráfico.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Escalabilidad:&lt;/strong&gt; Si agregas más subnets en las VPCs (ej. subnets privadas), no necesitas actualizar los Security Groups, ya que el CIDR de la VPC los cubre todos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resultado:&lt;/strong&gt; Implementas seguridad en capas (Defense in Depth) sin sacrificar flexibilidad.&lt;/p&gt;


&lt;h2&gt;
  
  
  ⚙️ Despliegue Final: Instancias EC2 en Ambas VPCs
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Lanzar EC2 en VPC-A (Producción)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Ve a &lt;strong&gt;EC2&lt;/strong&gt; → &lt;strong&gt;Instances&lt;/strong&gt; → &lt;strong&gt;Launch instances&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Configuración:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Name:&lt;/strong&gt; &lt;code&gt;EC2-Prod&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AMI:&lt;/strong&gt; Amazon Linux 2023 AMI (Free Tier eligible)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instance type:&lt;/strong&gt; &lt;code&gt;t2.micro&lt;/code&gt; (Free Tier)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key pair:&lt;/strong&gt; Selecciona tu par de claves SSH existente (o crea uno nuevo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network settings:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VPC:&lt;/strong&gt; &lt;code&gt;VPC-Produccion&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subnet:&lt;/strong&gt; &lt;code&gt;Subnet-Prod-Public-1a&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto-assign public IP:&lt;/strong&gt; Enable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firewall (security groups):&lt;/strong&gt; Select existing security group → &lt;code&gt;SG-Prod&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advanced details&lt;/strong&gt; → &lt;strong&gt;User data&lt;/strong&gt; (opcional - script para instalar servidor web):
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
yum update &lt;span class="nt"&gt;-y&lt;/span&gt;
yum &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; httpd
systemctl start httpd
systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;httpd
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;h1&amp;gt;Hello from VPC-Produccion (10.0.1.10)&amp;lt;/h1&amp;gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /var/www/html/index.html
&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%2F49vw370z8idukep4fkc5.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%2F49vw370z8idukep4fkc5.png" alt="VPC 30" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Launch instance&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Lanzar EC2 en VPC-B (Staging)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Repite el proceso anterior con estos valores:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Name:&lt;/strong&gt; &lt;code&gt;EC2-Staging&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VPC:&lt;/strong&gt; &lt;code&gt;VPC-Staging&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subnet:&lt;/strong&gt; &lt;code&gt;Subnet-Staging-Public-1b&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Group:&lt;/strong&gt; &lt;code&gt;SG-Staging&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User data:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
yum update &lt;span class="nt"&gt;-y&lt;/span&gt;
yum &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; httpd
systemctl start httpd
systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;httpd
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;h1&amp;gt;Hello from VPC-Staging (10.1.1.10)&amp;lt;/h1&amp;gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /var/www/html/index.html
&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%2F2wcsh43uqmwosmtfj1om.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%2F2wcsh43uqmwosmtfj1om.png" alt="VPC 31" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Haz clic en &lt;strong&gt;Launch instance&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Asignar IPs Privadas Fijas (Opcional pero Recomendado)
&lt;/h3&gt;

&lt;p&gt;Para facilitar las pruebas, puedes asignar IPs privadas específicas:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Para EC2-Prod:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Selecciona la instancia &lt;code&gt;EC2-Prod&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Ve a &lt;strong&gt;Networking&lt;/strong&gt; → &lt;strong&gt;Network interfaces&lt;/strong&gt; → Selecciona la interfaz de red.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actions&lt;/strong&gt; → &lt;strong&gt;Manage IP addresses&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Asigna la IP &lt;code&gt;10.0.1.10&lt;/code&gt; (si está disponible).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Para EC2-Staging:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asigna la IP &lt;code&gt;10.1.1.10&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; Si las instancias ya se lanzaron con IPs aleatorias, puedes trabajar con esas IPs. Solo asegúrate de anotarlas para las pruebas.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  🔎 Validación y Pruebas
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Objetivo:&lt;/strong&gt; Probar el Principio de Comunicación Privada Cross-VPC&lt;/p&gt;

&lt;p&gt;El objetivo es confirmar que:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;El Tráfico Privado fluye entre VPCs&lt;/strong&gt; (Conectividad correcta vía Peering)&lt;br&gt;
✅ &lt;strong&gt;El Tráfico NO sale a Internet&lt;/strong&gt; (Se mantiene en la red privada de AWS)&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Verificar Conectividad: Ping desde EC2-Prod a EC2-Staging
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Paso 1.1:&lt;/strong&gt; Conéctate vía SSH a &lt;code&gt;EC2-Prod&lt;/code&gt; usando su IP pública:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh &lt;span class="nt"&gt;-i&lt;/span&gt; tu-llave.pem ec2-user@&amp;lt;IP-PUBLICA-EC2-PROD&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Paso 1.2:&lt;/strong&gt; Desde dentro de EC2-Prod, haz ping a la IP privada de EC2-Staging:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ping 10.1.1.10 &lt;span class="nt"&gt;-c&lt;/span&gt; 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Resultado Esperado:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PING 10.1.1.10 (10.1.1.10) 56(84) bytes of data.
64 bytes from 10.1.1.10: icmp_seq=1 ttl=255 time=0.8 ms
64 bytes from 10.1.1.10: icmp_seq=2 ttl=255 time=0.6 ms
64 bytes from 10.1.1.10: icmp_seq=3 ttl=255 time=0.7 ms
64 bytes from 10.1.1.10: icmp_seq=4 ttl=255 time=0.6 ms

--- 10.1.1.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ &lt;strong&gt;Si tiene éxito:&lt;/strong&gt; La conectividad cross-VPC está funcionando correctamente.&lt;/p&gt;

&lt;p&gt;❌ &lt;strong&gt;Si falla (Destination Host Unreachable o timeout):&lt;/strong&gt; Revisa:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;¿El Peering está en estado &lt;strong&gt;Active&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;¿Ambas Route Tables tienen las rutas hacia la otra VPC?&lt;/li&gt;
&lt;li&gt;¿Los Security Groups permiten ICMP desde el CIDR de la otra VPC?&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. Verificar Conectividad: Ping desde EC2-Staging a EC2-Prod
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Paso 2.1:&lt;/strong&gt; Conéctate vía SSH a &lt;code&gt;EC2-Staging&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh &lt;span class="nt"&gt;-i&lt;/span&gt; tu-llave.pem ec2-user@&amp;lt;IP-PUBLICA-EC2-STAGING&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Paso 2.2:&lt;/strong&gt; Haz ping a la IP privada de EC2-Prod:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ping 10.0.1.10 &lt;span class="nt"&gt;-c&lt;/span&gt; 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Resultado Esperado:&lt;/strong&gt; Éxito (ping response).&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Si tiene éxito:&lt;/strong&gt; La conectividad bidireccional está funcionando.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Verificar Comunicación HTTP (Aplicación Web)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Paso 3.1:&lt;/strong&gt; Desde EC2-Prod, haz un curl a EC2-Staging:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl http://10.1.1.10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Resultado Esperado:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hello from VPC-Staging (10.1.1.10)&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Paso 3.2:&lt;/strong&gt; Desde EC2-Staging, haz un curl a EC2-Prod:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl http://10.0.1.10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Resultado Esperado:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hello from VPC-Produccion (10.0.1.10)&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ &lt;strong&gt;Si ambas pruebas tienen éxito:&lt;/strong&gt; La comunicación de aplicaciones HTTP cross-VPC está funcionando.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Verificar que el Tráfico NO Sale a Internet (Prueba de Seguridad)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Objetivo:&lt;/strong&gt; Confirmar que el tráfico cross-VPC viaja por la red interna de AWS y no sale a Internet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paso 4.1:&lt;/strong&gt; Desde EC2-Prod, ejecuta un &lt;code&gt;traceroute&lt;/code&gt; hacia EC2-Staging:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;yum &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; traceroute
traceroute 10.1.1.10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Resultado Esperado:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;traceroute to 10.1.1.10 (10.1.1.10), 30 hops max, 60 byte packets
 1  10.1.1.10 (10.1.1.10)  0.8 ms  0.6 ms  0.5 ms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ &lt;strong&gt;Interpretación:&lt;/strong&gt; El tráfico llega en &lt;strong&gt;1 salto&lt;/strong&gt; (directamente). Esto confirma que viaja por la red interna de AWS (VPC Peering) y no sale a Internet (donde habría múltiples saltos).&lt;/p&gt;

&lt;p&gt;❌ &lt;strong&gt;Si ves múltiples saltos con IPs públicas:&lt;/strong&gt; Hay un problema en tu configuración. El tráfico está saliendo a Internet. Revisa que las rutas apunten al Peering Connection (pcx-xxxxx) y no al Internet Gateway.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Tabla de Validación Completa
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Prueba&lt;/th&gt;
&lt;th&gt;Comando&lt;/th&gt;
&lt;th&gt;Resultado Esperado&lt;/th&gt;
&lt;th&gt;Conclusión&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1. Ping VPC-A → VPC-B&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ping 10.1.1.10&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Éxito (response time &amp;lt;2ms)&lt;/td&gt;
&lt;td&gt;Conectividad cross-VPC OK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2. Ping VPC-B → VPC-A&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ping 10.0.1.10&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Éxito (response time &amp;lt;2ms)&lt;/td&gt;
&lt;td&gt;Conectividad bidireccional OK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3. HTTP VPC-A → VPC-B&lt;/td&gt;
&lt;td&gt;&lt;code&gt;curl http://10.1.1.10&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;HTML de VPC-B&lt;/td&gt;
&lt;td&gt;Comunicación de aplicación OK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4. HTTP VPC-B → VPC-A&lt;/td&gt;
&lt;td&gt;&lt;code&gt;curl http://10.0.1.10&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;HTML de VPC-A&lt;/td&gt;
&lt;td&gt;Comunicación de aplicación OK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5. Traceroute&lt;/td&gt;
&lt;td&gt;&lt;code&gt;traceroute 10.1.1.10&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;1 salto&lt;/td&gt;
&lt;td&gt;Tráfico por red interna (no Internet)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;✅ &lt;strong&gt;Si todas las pruebas pasan:&lt;/strong&gt; ¡Felicidades! Has configurado correctamente VPC Peering con comunicación privada segura.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Del Clic Manual a Infrastructure as Code
&lt;/h2&gt;

&lt;p&gt;El siguiente nivel: Terraform o CloudFormation&lt;/p&gt;

&lt;p&gt;Una vez que dominas esta arquitectura manualmente, el siguiente paso natural es automatizarla con Infrastructure as Code.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Por qué IaC es una habilidad senior?
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Reproducibilidad:&lt;/strong&gt; Despliegas la misma infraestructura en Dev, QA y Prod sin errores humanos.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Version Control:&lt;/strong&gt; Tu infraestructura vive en Git con historial completo de cambios.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Velocidad:&lt;/strong&gt; Pasas de 60 minutos de configuración manual a 5 minutos de &lt;code&gt;terraform apply&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Certificación Professional:&lt;/strong&gt; Es un tema clave en AWS DevOps Engineer Professional y Advanced Networking Specialty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ventaja:&lt;/strong&gt; Con Terraform, puedes desplegar o destruir toda esta infraestructura con un solo comando, ideal para ambientes de testing.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤝 Contribuye y Aprende Conmigo
&lt;/h2&gt;

&lt;p&gt;Parte de mi compromiso con la comunidad&lt;/p&gt;

&lt;p&gt;Este tutorial es parte de mi compromiso por democratizar el conocimiento en la nube. A través de mis grupos de estudio, he visto cómo muchos estudiantes memorizan conceptos de VPC Peering pero no saben configurarlo en práctica. Este método manual es la solución que enseño para asegurar que mis mentees dominen la conectividad cross-VPC antes de automatizar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Estadística real de mi mentoría:&lt;/strong&gt; El 85% de los estudiantes que completan este lab manual y entienden el troubleshooting de rutas y Security Groups aprueban la sección de Networking de Solutions Architect en su primer intento, comparado con el 60% que solo estudia teoría.&lt;/p&gt;

&lt;h3&gt;
  
  
  💬 ¿Eres principiante? ¡Pregunta sin miedo!
&lt;/h3&gt;

&lt;p&gt;Si algo no quedó claro o tienes dudas sobre cualquier paso:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💬 &lt;strong&gt;Comenta aquí abajo&lt;/strong&gt; - respondo todas las preguntas&lt;/li&gt;
&lt;li&gt;📧 &lt;strong&gt;Contáctame&lt;/strong&gt; para sesiones de mentoría grupales&lt;/li&gt;
&lt;li&gt;⭐ &lt;strong&gt;Comparte este tutorial&lt;/strong&gt; con quien esté preparando certificaciones AWS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📚 Temas relacionados que puedo cubrir
&lt;/h3&gt;

&lt;p&gt;Si este contenido fue útil, déjame saber en los comentarios qué te gustaría aprender:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;¿&lt;strong&gt;Transit Gateway vs VPC Peering&lt;/strong&gt; para arquitecturas con 5+ VPCs?&lt;/li&gt;
&lt;li&gt;¿&lt;strong&gt;AWS PrivateLink&lt;/strong&gt; para exponer servicios sin VPC Peering?&lt;/li&gt;
&lt;li&gt;¿&lt;strong&gt;VPC Peering Cross-Region&lt;/strong&gt; para disaster recovery?&lt;/li&gt;
&lt;li&gt;¿&lt;strong&gt;VPN Site-to-Site&lt;/strong&gt; para conectar tu datacenter on-premises con AWS?&lt;/li&gt;
&lt;li&gt;¿&lt;strong&gt;Direct Connect&lt;/strong&gt; para conexiones dedicadas de alta velocidad?&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🎯 Errores Comunes y Cómo Evitarlos (Lecciones de Mis Mentees)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Error&lt;/th&gt;
&lt;th&gt;Síntoma&lt;/th&gt;
&lt;th&gt;Solución&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Olvidar la ruta en una VPC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ping funciona en una dirección pero no en la otra&lt;/td&gt;
&lt;td&gt;Verifica que AMBAS Route Tables tengan la ruta hacia el CIDR de la otra VPC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CIDRs superpuestos&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Peering no se crea o hay conflictos de IP&lt;/td&gt;
&lt;td&gt;Planifica tus CIDRs antes: usa 10.0.0.0/16, 10.1.0.0/16, 10.2.0.0/16, etc.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security Group sin ICMP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ping falla con "Destination Host Unreachable"&lt;/td&gt;
&lt;td&gt;Agrega regla ICMP en el SG, permitiendo el CIDR de la otra VPC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Peering en estado Pending&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No hay comunicación&lt;/td&gt;
&lt;td&gt;Acepta el Peering en la VPC Accepter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ruta apunta al IGW en vez del Peering&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tráfico sale a Internet (latencia alta)&lt;/td&gt;
&lt;td&gt;Edita la ruta: Target debe ser el Peering Connection (pcx-xxxxx), no el IGW&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Usar IPs públicas para comunicación&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Estás pagando por transferencia y no usas Peering&lt;/td&gt;
&lt;td&gt;Usa las IPs privadas (10.0.x.x, 10.1.x.x) para comunicación interna&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;¿Te resultó útil este tutorial? Dale un ❤️ y guárdalo para referencia futura. ¡Nos vemos en el próximo lab!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>networking</category>
      <category>vpc</category>
      <category>vpcpeering</category>
    </item>
    <item>
      <title>🌐 De Cero a una VPC Segura: Despliegue de Aplicaciones Web y RDS sin el Asistente</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Tue, 25 Nov 2025 20:56:05 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/de-cero-a-una-vpc-segura-despliegue-de-aplicaciones-web-y-rds-sin-el-asistente-4ph</link>
      <guid>https://dev.to/franciscojeg78/de-cero-a-una-vpc-segura-despliegue-de-aplicaciones-web-y-rds-sin-el-asistente-4ph</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;💭 Principio del día:&lt;/strong&gt; El verdadero dominio de AWS no viene de hacer clic en "Crear VPC" con el asistente, sino de entender cada componente que construye tu infraestructura. Esta es la diferencia entre un operador de consola y un arquitecto de soluciones.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Este post te enseña a crear &lt;strong&gt;manualmente&lt;/strong&gt; una VPC de 3 capas, resolviendo el error crítico de las 3 Zonas de Disponibilidad (AZs) para Amazon RDS Multi-AZ. El objetivo es implementar el &lt;strong&gt;menor privilegio&lt;/strong&gt; aislando la DB de Internet, usando solo la Consola. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Por qué este enfoque manual?&lt;/strong&gt; Porque he visto en mis sesiones de mentoría cómo el 80% de los que estudian para certificaciones AWS luchan con las VPCs. Este método paso a paso es el que uso para asegurar que dominen los fundamentos de red antes de escalar a Infrastructure as Code (IaC).&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;Tiempo estimado:&lt;/strong&gt; 45 min | &lt;strong&gt;Nivel:&lt;/strong&gt; 200 (Intermedio)&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 Metadatos rápidos
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Campo&lt;/th&gt;
&lt;th&gt;Valor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Categoría CB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Networking and Content Delivery&lt;/strong&gt; + Security&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Servicios AWS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;VPC, EC2, RDS for MySQL, IAM, Security Groups&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Habilidades clave&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Infrastructure as Code foundations, Network segmentation, Least Privilege principle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Requisitos previos&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cuenta AWS activa con permisos necesarios. Conocimientos básicos de redes (CIDR).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Costos estimados&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Baja (la VPC es gratis, EC2/RDS se pueden configurar en el Free Tier).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Arquitectura&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3 capas: Internet → Public Subnet (Web Server) → Private Subnet (RDS)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🗺️ Tabla de contenidos (ToC)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💡 ¿Por qué enseño esta arquitectura?&lt;/li&gt;
&lt;li&gt;🧰 Arquitectura y Flujo de Datos&lt;/li&gt;
&lt;li&gt;🛠️ Paso a paso: Configuración de la VPC desde la Consola&lt;/li&gt;
&lt;li&gt;⚠️ Solución Crítica: Expandir a 3 Zonas de Disponibilidad (AZs)&lt;/li&gt;
&lt;li&gt;🔐 Seguridad: Grupos de Seguridad y Flujo&lt;/li&gt;
&lt;li&gt;⚙️ Despliegue Final: EC2 y RDS&lt;/li&gt;
&lt;li&gt;🔎 Validación y pruebas&lt;/li&gt;
&lt;li&gt;🚀 Del Clic Manual a Infrastructure as Code&lt;/li&gt;
&lt;li&gt;🤝 Contribuye y aprende conmigo&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 ¿Por qué enseño esta arquitectura?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Mi historia con las VPCs
&lt;/h3&gt;

&lt;p&gt;Cuando comencé mi camino en AWS, recuerdo el bloqueo técnico que sentí al enfrentarme a las VPCs. El asistente de AWS hace que parezca simple, pero cuando algo falla, no entiendes qué está roto. &lt;strong&gt;Ese día decidí que nunca más dependería del asistente.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A través de mis grupos de estudio y sesiones de mentoría, he visto la misma dificultad repetirse: estudiantes que aprueban sus exámenes teóricos pero no pueden diagnosticar por qué su aplicación no se conecta a la base de datos. &lt;strong&gt;Este tutorial es mi solución a ese problema.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  La Amazon Virtual Private Cloud (VPC) es el cimiento de la seguridad en AWS
&lt;/h3&gt;

&lt;p&gt;Dejar una base de datos expuesta en la nube es uno de los &lt;strong&gt;errores de seguridad más comunes y costosos&lt;/strong&gt;. No es teoría: &lt;a href="https://www.mitiga.io/blog/how-mitiga-found-pii-in-exposed-amazon-rds-snapshots" rel="noopener noreferrer"&gt;las brechas de datos por RDS mal configurados generan millones en pérdidas cada año&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lo que aprenderás (y por qué importa para tu carrera)
&lt;/h3&gt;

&lt;p&gt;Este tutorial implementa el &lt;strong&gt;principio de menor privilegio&lt;/strong&gt; a través de la red, una habilidad senior que te diferencia en entrevistas y proyectos reales:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Consistencia y Control&lt;/strong&gt;: Dominas la segmentación de red (pública y privada) sin dependencias del asistente. &lt;strong&gt;Caso de Uso:&lt;/strong&gt; Asegurar que los entornos de QA/Staging sean idénticos al de Producción mediante configuración manual y sin errores de asistente.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Aislamiento de la Joya&lt;/strong&gt;: Tu base de datos nunca es visible ni accesible desde Internet. &lt;strong&gt;Caso de Uso:&lt;/strong&gt; Proteger datos sensibles (PII, información financiera) de accesos externos no autorizados, cumpliendo normativas de seguridad y compliance.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Fundamento para IaC&lt;/strong&gt;: Una vez que dominas esto manualmente, convertirlo a CloudFormation o Terraform se vuelve natural. &lt;strong&gt;Caso de Uso:&lt;/strong&gt; Automatizar el despliegue de infraestructuras complejas, reduciendo el Time to Market de nuevas aplicaciones.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Preparación para certificaciones&lt;/strong&gt;: Esta arquitectura de 3 capas es la base para aprobar el dominio de &lt;strong&gt;Seguridad&lt;/strong&gt; en AWS Solutions Architect y CloudOps Administrator&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Si estás preparando tu certificación&lt;/strong&gt;, esta es la arquitectura que aparece en al menos 3-4 preguntas de escenarios en el examen. Entenderla a fondo te da una ventaja significativa.&lt;/p&gt;


&lt;h2&gt;
  
  
  🧰 Arquitectura y Flujo de Datos
&lt;/h2&gt;

&lt;p&gt;La arquitectura es de &lt;strong&gt;3 Capas&lt;/strong&gt;, lo que significa que aseguramos la separación de seguridad entre el exterior, el servidor web (Capa Pública/Lógica) y la base de datos (Capa Aislada/Datos).&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Capa&lt;/th&gt;
&lt;th&gt;Subred&lt;/th&gt;
&lt;th&gt;Servicio Alojado&lt;/th&gt;
&lt;th&gt;Función de Seguridad&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1. Presentación (Web)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Public Subnet&lt;/td&gt;
&lt;td&gt;Servidor Web (EC2)&lt;/td&gt;
&lt;td&gt;Accesible desde Internet (IGW) solo por HTTP/HTTPS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2. Datos (Aislada)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Private Subnet&lt;/td&gt;
&lt;td&gt;Instancia RDS (MySQL)&lt;/td&gt;
&lt;td&gt;No tiene ruta a Internet. Solo recibe tráfico de la Capa Web a través del puerto 3306.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Flujo del Tráfico
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;El tráfico web (HTTP) es permitido al &lt;strong&gt;Servidor Web (EC2)&lt;/strong&gt; en la Subred Pública.&lt;/li&gt;
&lt;li&gt;La comunicación de la aplicación va del &lt;strong&gt;Servidor Web&lt;/strong&gt; al &lt;strong&gt;Instancia RDS&lt;/strong&gt; (Subred Privada) mediante el puerto MySQL (3306).&lt;/li&gt;
&lt;li&gt;La base de datos &lt;strong&gt;nunca sale de la VPC&lt;/strong&gt;, garantizando el aislamiento.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  🛠️ Paso a paso: Configuración de la VPC desde la Consola
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1) Creación de la VPC, Subred Pública y Subred Privada Inicial
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;VPC:&lt;/strong&gt; Navega al servicio &lt;strong&gt;VPC&lt;/strong&gt;. Haz clic en &lt;strong&gt;"Crear VPC"&lt;/strong&gt;.&lt;br&gt;
      * &lt;strong&gt;CIDR:&lt;/strong&gt; &lt;code&gt;10.0.0.0/16&lt;/code&gt;.&lt;br&gt;
      * Nombre: &lt;code&gt;AddressBook-VPC&lt;/code&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%2Fx7ccv98y6pzg1vocp5h6.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%2Fx7ccv98y6pzg1vocp5h6.png" alt="Crear VPC 1" width="800" height="379"&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%2Fpopuoz4658le1v3ikfrl.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%2Fpopuoz4658le1v3ikfrl.png" alt="Crear VPC 2" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subred Pública:&lt;/strong&gt; Haz clic en &lt;strong&gt;"Crear Subred"&lt;/strong&gt;.&lt;br&gt;
      * VPC seleccionada: &lt;code&gt;AddressBook-VPC&lt;/code&gt;.&lt;br&gt;
      * CIDR: &lt;code&gt;10.0.0.0/24&lt;/code&gt;.&lt;br&gt;
      * Nombre: &lt;code&gt;Public-Web-Subnet&lt;/code&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%2Foxswnj4bin066ofwdqp9.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%2Foxswnj4bin066ofwdqp9.png" alt="Crear VPC 3" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subred Privada (Aislada):&lt;/strong&gt; Haz clic en &lt;strong&gt;"Crear Subred"&lt;/strong&gt;.&lt;br&gt;
      * VPC seleccionada: &lt;code&gt;AddressBook-VPC&lt;/code&gt;.&lt;br&gt;
      * CIDR: &lt;code&gt;10.0.1.0/24&lt;/code&gt;.&lt;br&gt;
      * Nombre: &lt;code&gt;Private-RDS-Subnet&lt;/code&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%2Flf2cjnzlxu8ibsg0ryro.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%2Flf2cjnzlxu8ibsg0ryro.png" alt="Crear VPC 4" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  2) Configuración del Internet Gateway (IGW)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; Navega a &lt;strong&gt;"Internet Gateways"&lt;/strong&gt; y haz clic en &lt;strong&gt;"Crear Internet Gateway"&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Nombre: &lt;code&gt;AddressBook-IGW&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt; Una vez creado, selecciona el IGW, haz clic en &lt;strong&gt;"Acciones"&lt;/strong&gt; y &lt;strong&gt;"Asociar a VPC"&lt;/strong&gt; (selecciona &lt;code&gt;AddressBook-VPC&lt;/code&gt;).&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%2F9g42kdv48a2iyc7f75tn.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%2F9g42kdv48a2iyc7f75tn.png" alt="Crear VPC 5" width="800" height="376"&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%2F8e5sfxi7trokk54403gh.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%2F8e5sfxi7trokk54403gh.png" alt="Crear VPC 6" width="800" height="377"&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%2Fdyu2xjz77xvpv3w52qel.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%2Fdyu2xjz77xvpv3w52qel.png" alt="Crear VPC 7" width="800" height="378"&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%2Fv3c6unotf0xrbpkrsevi.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%2Fv3c6unotf0xrbpkrsevi.png" alt="Crear VPC 8" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  3) Tablas de Enrutamiento (RT)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Tabla de Enrutamiento Público:&lt;/strong&gt;&lt;br&gt;
      * Crea una nueva Tabla de Enrutamiento.&lt;br&gt;
      * Nombre: &lt;code&gt;Public-RT&lt;/code&gt;.&lt;br&gt;
      * &lt;strong&gt;Rutas:&lt;/strong&gt; Haz clic en &lt;strong&gt;"Editar Rutas"&lt;/strong&gt;. Añade una ruta:&lt;br&gt;
          * Destino: &lt;code&gt;0.0.0.0/0&lt;/code&gt;.&lt;br&gt;
          * Target: Selecciona el &lt;strong&gt;IGW&lt;/strong&gt; (&lt;code&gt;AddressBook-IGW&lt;/code&gt;).&lt;br&gt;
      * &lt;strong&gt;Asociaciones de Subred:&lt;/strong&gt; Asocia esta tabla a la &lt;code&gt;Public-Web-Subnet&lt;/code&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%2Fst43r36h19xtcchet2h7.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%2Fst43r36h19xtcchet2h7.png" alt="Crear VPC 9" width="800" height="375"&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%2F19u0bgy16rbs6kyeankg.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%2F19u0bgy16rbs6kyeankg.png" alt="Crear VPC 10" width="800" height="378"&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%2Ff1yj5c2dysf0u205uouv.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%2Ff1yj5c2dysf0u205uouv.png" alt="Crear VPC 11" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tabla de Enrutamiento Privada:&lt;/strong&gt;&lt;br&gt;
      * Crea una nueva Tabla de Enrutamiento.&lt;br&gt;
      * Nombre: &lt;code&gt;Private-RT&lt;/code&gt;.&lt;br&gt;
      * &lt;strong&gt;Rutas:&lt;/strong&gt; &lt;strong&gt;No agregues ninguna ruta&lt;/strong&gt; a &lt;code&gt;0.0.0.0/0&lt;/code&gt;. El tráfico de esta subred debe ser &lt;strong&gt;aislado&lt;/strong&gt;.&lt;br&gt;
      * &lt;strong&gt;Asociaciones de Subred:&lt;/strong&gt; Asocia esta tabla a la &lt;code&gt;Private-RDS-Subnet&lt;/code&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%2Fzn9cnvige9ozicbeqvrc.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%2Fzn9cnvige9ozicbeqvrc.png" alt="Crear VPC 12" width="800" height="378"&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%2Fak2kpetaz9efb7i6lja6.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%2Fak2kpetaz9efb7i6lja6.png" alt="Crear VPC 13" width="800" height="376"&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%2Fpluoads3ya8ttekm1cw1.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%2Fpluoads3ya8ttekm1cw1.png" alt="Crear VPC 14" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Verifica que solo exista la ruta local que permite la comunicación dentro de la propia VPC (destino: 10.0.0.0/16, target: local).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Confirmación Crítica:&lt;/strong&gt; Asegúrate de que NO hay ninguna ruta con destino 0.0.0.0/0 (ruta a Internet) o a un NAT Gateway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Importante:&lt;/strong&gt; La instrucción de "No agregues ninguna ruta a 0.0.0.0/0" se cumple simplemente no modificando la ruta predeterminada&lt;/p&gt;


&lt;h2&gt;
  
  
  ⚠️ Solución Crítica: Expandir a 3 Zonas de Disponibilidad (AZs)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Problema:&lt;/strong&gt; AWS requiere &lt;strong&gt;mínimo 3 AZs&lt;/strong&gt; para desplegar el clúster de Base de Datos (RDS Multi-AZ).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paso 1: Crear Subredes Adicionales (AZ 2 y AZ 3):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Necesitas crear &lt;strong&gt;dos subredes privadas aisladas adicionales&lt;/strong&gt; en Zonas de Disponibilidad diferentes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AZ 2:&lt;/strong&gt; Crea &lt;code&gt;Private-RDS-Subnet-AZ2&lt;/code&gt; (ej. &lt;code&gt;10.0.2.0/24&lt;/code&gt; en &lt;code&gt;us-east-1a&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AZ 3:&lt;/strong&gt; Crea &lt;code&gt;Private-RDS-Subnet-AZ3&lt;/code&gt; (ej. &lt;code&gt;10.0.3.0/24&lt;/code&gt; en &lt;code&gt;us-east-1b&lt;/code&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%2F6rzm0cfklka4d4xouebm.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%2F6rzm0cfklka4d4xouebm.png" alt="Crear VPC 15" width="800" height="380"&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%2Fflli67hdhteqswldcmlb.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%2Fflli67hdhteqswldcmlb.png" alt="Crear VPC 16" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paso 2: Actualizar el Grupo de Subredes de la Base de Datos (DB Subnet Group):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navega a &lt;strong&gt;"Grupos de Subred"&lt;/strong&gt; en la consola de RDS.&lt;/li&gt;
&lt;li&gt;Selecciona tu grupo de subredes, haz clic en &lt;strong&gt;"Acciones"&lt;/strong&gt; y luego &lt;strong&gt;"Editar"&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Añade las tres subredes privadas&lt;/strong&gt; (la inicial &lt;code&gt;Private-RDS-Subnet&lt;/code&gt; + &lt;code&gt;Private-RDS-Subnet-AZ2&lt;/code&gt; y &lt;code&gt;Private-RDS-Subnet-AZ3&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verificación:&lt;/strong&gt; La validación de AWS para la creación de la Base de Datos ahora será exitosa. &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%2Fcmnqt1s3qsz3dwrwkrx7.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%2Fcmnqt1s3qsz3dwrwkrx7.png" alt="Crear VPC 21" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🔐 Seguridad: Grupos de Seguridad y Flujo
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Implementando el Principio de Menor Privilegio (Least Privilege)
&lt;/h3&gt;

&lt;p&gt;Esta sección es &lt;strong&gt;crítica para certificaciones AWS&lt;/strong&gt;. Estás aplicando las mejores prácticas que AWS espera ver en los exámenes de Solutions Architect y CloudOps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SG del Servidor Web (&lt;code&gt;Web-SG&lt;/code&gt;):&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  * **Entrada (Inbound):** Permitir tráfico **HTTP (Puerto 80)** desde **`0.0.0.0/0`** (Internet). *(Ver imagen [SG del Servidor Web].)*
&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%2Fur0l0zn4ixiwwzmvhthm.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%2Fur0l0zn4ixiwwzmvhthm.png" alt="Crear VPC 17" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SG de la Base de Datos (&lt;code&gt;RDS-SG&lt;/code&gt;):&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  * **Entrada (Inbound):** Tipo **MySQL/Aurora (Puerto 3306)**.
  * **Origen:** Ingresa el **ID del Grupo de Seguridad del Servidor Web** (`Web-SG`). *(Ver imagen [SG de la Base de Datos].)*
&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%2Fc106hqcjb3b0pbn05g7n.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%2Fc106hqcjb3b0pbn05g7n.png" alt="Crear VPC 18" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🎯 Por qué esto es una práctica senior
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Nota el detalle crítico:&lt;/strong&gt; En lugar de usar &lt;code&gt;0.0.0.0/0&lt;/code&gt; o la IP de la instancia EC2 como origen, usamos el &lt;strong&gt;ID del Security Group&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Esto implementa:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Seguridad por Capas:&lt;/strong&gt; Solo instancias autorizadas (con el Web-SG) pueden comunicarse con la DB&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Escalabilidad:&lt;/strong&gt; Si lanzas más servidores web con el mismo SG, automáticamente tienen acceso sin reconfigurar&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Menor Privilegio:&lt;/strong&gt; La base de datos está completamente aislada de Internet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Resultado:&lt;/strong&gt; Se aplica el principio de &lt;strong&gt;menor privilegio&lt;/strong&gt;, aislando el RDS de Internet.&lt;/p&gt;


&lt;h2&gt;
  
  
  ⚙️ Despliegue Final: EC2 y RDS
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Despliegue del RDS (Base de Datos):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Crea la instancia RDS. &lt;strong&gt;Conectividad:&lt;/strong&gt; Selecciona la &lt;code&gt;AddressBook-VPC&lt;/code&gt;. &lt;strong&gt;Subred:&lt;/strong&gt; Elige el grupo de subredes que actualizaste. &lt;strong&gt;Seguridad:&lt;/strong&gt; Asigna el &lt;strong&gt;&lt;code&gt;RDS-SG&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&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%2Fpe2d2abw63at0grq80wh.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%2Fpe2d2abw63at0grq80wh.png" alt="Crear VPC 19" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Despliegue del EC2 (Servidor Web):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Lanza una instancia EC2. &lt;strong&gt;VPC:&lt;/strong&gt; &lt;code&gt;AddressBook-VPC&lt;/code&gt;. &lt;strong&gt;Subred:&lt;/strong&gt; &lt;code&gt;Public-Web-Subnet&lt;/code&gt;. &lt;strong&gt;Seguridad:&lt;/strong&gt; Asigna el &lt;strong&gt;&lt;code&gt;Web-SG&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Data:&lt;/strong&gt; Pega el &lt;strong&gt;Script de Bootstrap&lt;/strong&gt; (&lt;code&gt;userdata.sh&lt;/code&gt;) para la instalación de Apache/PHP/MySQL y la aplicación de agenda.&lt;/li&gt;
&lt;/ul&gt;
&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%2F0bzh2pegpkqd6qwhcirq.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%2F0bzh2pegpkqd6qwhcirq.png" alt="Crear VPC 20" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛠️ Script de Bootstrap (User Data)&lt;/strong&gt;&lt;br&gt;
Este script está diseñado para una instancia Amazon Linux 2 o Amazon Linux 2023 y realiza los siguientes pasos: instalar el servidor web Apache, instalar PHP y sus dependencias de MySQL, iniciar el servicio y descargar la aplicación de agenda.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash
# Instalar el servidor web (httpd) y dependencias de PHP y MySQL.

# Actualizar el sistema e instalar el servidor web
sudo yum update -y
sudo yum install -y httpd php php-mysqlnd

# Asegurar que Apache se inicie con el sistema
sudo systemctl enable httpd
sudo systemctl start httpd

# Mover el directorio de trabajo
cd /var/www/html

# Descargar y descomprimir la aplicación de agenda de direcciones
sudo wget https://s3.amazonaws.com/startup-files-us-east-1/DB-Project-Files.zip
sudo unzip DB-Project-Files.zip
sudo rm DB-Project-Files.zip

# Cambiar permisos para que el servidor web pueda escribir
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html

# Fin del script. La aplicación ya está en /var/www/html.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔎 Validación y pruebas
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Objetivo: Probar el Principio de Menor Privilegio&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;El objetivo es confirmar que:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ El Tráfico Web &lt;strong&gt;puede&lt;/strong&gt; llegar a la DB (Conectividad correcta)&lt;/li&gt;
&lt;li&gt;✅ Internet &lt;strong&gt;NO puede&lt;/strong&gt; llegar a la DB (Aislamiento de seguridad correcto)&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Verificar Aislamiento de DB:&lt;/strong&gt; Intenta la conexión directa al RDS (Puerto 3306) desde tu máquina local. &lt;strong&gt;Debe fallar.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Verificar Conexión de Aplicación:&lt;/strong&gt; Accede a la &lt;strong&gt;IP Pública del Servidor Web EC2&lt;/strong&gt;. Si puedes &lt;strong&gt;añadir y eliminar contactos&lt;/strong&gt;, la conexión segura (Web → RDS) es exitosa.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Estos dos pasos son la &lt;strong&gt;validación crítica&lt;/strong&gt; que prueba si tu arquitectura de seguridad (Grupos de Seguridad y Subredes) está funcionando correctamente.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ Validación de Seguridad y Conectividad (Paso a Paso)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Objetivo: Probar el Principio de Menor Privilegio
&lt;/h3&gt;

&lt;p&gt;El objetivo es confirmar que: &lt;strong&gt;El Tráfico Web puede llegar a la DB&lt;/strong&gt; (Conectividad correcta), pero &lt;strong&gt;Internet NO puede llegar a la DB&lt;/strong&gt; (Aislamiento de seguridad correcto).&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Verificar el Aislamiento de la Base de Datos (Seguridad - Prueba Negativa)
&lt;/h3&gt;

&lt;p&gt;Esta prueba debe &lt;strong&gt;fallar&lt;/strong&gt; si la seguridad está bien configurada.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Paso&lt;/th&gt;
&lt;th&gt;Acción&lt;/th&gt;
&lt;th&gt;Resultado Esperado&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1.1. Obtener Endpoint&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;En la consola de RDS, selecciona tu instancia de MySQL. Copia la &lt;strong&gt;Dirección del Punto de Enlace&lt;/strong&gt; (&lt;em&gt;Endpoint&lt;/em&gt;) y el &lt;strong&gt;Puerto&lt;/strong&gt; (3306).&lt;/td&gt;
&lt;td&gt;&lt;code&gt;my-database.abcdef123456.us-east-1.rds.amazonaws.com:3306&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1.2. Abrir Terminal Local&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Abre la línea de comandos (o &lt;em&gt;PowerShell&lt;/em&gt; en Windows, &lt;em&gt;Terminal&lt;/em&gt; en Mac/Linux) en tu &lt;strong&gt;computadora local&lt;/strong&gt;.&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1.3. Intentar Conexión&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ejecuta un comando de prueba de conectividad usando el puerto MySQL.  &lt;strong&gt;Comando:&lt;/strong&gt; &lt;code&gt;telnet [ENDPOINT-RDS] 3306&lt;/code&gt; (Reemplaza [ENDPOINT-RDS]).&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Debe fallar:&lt;/strong&gt; La conexión &lt;strong&gt;debe agotarse el tiempo&lt;/strong&gt; (&lt;em&gt;Connection Timed Out&lt;/em&gt; o &lt;em&gt;No route to host&lt;/em&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1.4. Conclusión&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Si falla:&lt;/strong&gt; ¡Excelente! El Grupo de Seguridad del RDS (&lt;code&gt;RDS-SG&lt;/code&gt;) y la Subred Privada están bloqueando correctamente el acceso externo.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Si tiene éxito:&lt;/strong&gt; &lt;strong&gt;¡ALERTA ROJA!&lt;/strong&gt; Tienes un fallo de seguridad. El &lt;code&gt;RDS-SG&lt;/code&gt; o la Tabla de Enrutamiento Privada (&lt;code&gt;Private-RT&lt;/code&gt;) está mal configurada.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&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%2Fbbmtcz1afpxmm2yn4ed3.png" alt="Crear VPC 22" width="800" height="449"&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  2. Verificar la Conexión de la Aplicación (Funcionalidad - Prueba Positiva)
&lt;/h3&gt;

&lt;p&gt;Esta prueba debe &lt;strong&gt;tener éxito&lt;/strong&gt; para validar que la aplicación puede operar.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Paso&lt;/th&gt;
&lt;th&gt;Acción&lt;/th&gt;
&lt;th&gt;Resultado Esperado&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2.1. Obtener IP del Servidor Web&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;En la consola de EC2, selecciona tu instancia de Servidor Web. Copia la &lt;strong&gt;Dirección IPv4 Pública&lt;/strong&gt;.&lt;/td&gt;
&lt;td&gt;&lt;code&gt;xxx.xxx.xxx.xxx&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2.2. Acceder a la Aplicación&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Abre tu navegador web y navega a la IP pública (&lt;code&gt;http://[IP-PUBLICA-EC2]&lt;/code&gt;).&lt;/td&gt;
&lt;td&gt;La &lt;strong&gt;página de inicio de la aplicación de agenda&lt;/strong&gt; debe cargarse correctamente.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2.3. Probar la Escritura (MySQL)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Intenta &lt;strong&gt;añadir un nuevo contacto&lt;/strong&gt; y haz clic en "Guardar" o "Add".&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Éxito:&lt;/strong&gt; El contacto debe aparecer en la lista. Esto valida que la aplicación EC2 pudo conectarse al RDS e insertar datos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2.4. Probar la Lectura y Eliminación&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Intenta &lt;strong&gt;eliminar&lt;/strong&gt; el contacto recién creado.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Éxito:&lt;/strong&gt; El contacto debe desaparecer. Esto valida que la aplicación puede &lt;strong&gt;leer y modificar&lt;/strong&gt; la base de datos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2.5. Conclusión&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Si tiene éxito:&lt;/strong&gt; ¡Felicidades! Tu configuración de red (VPC, Subredes y Grupos de Seguridad) y tu aplicación están funcionando correctamente.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Si falla al conectar a la DB:&lt;/strong&gt; Revisa las reglas de entrada del &lt;code&gt;RDS-SG&lt;/code&gt; (debe aceptar tráfico del &lt;code&gt;Web-SG&lt;/code&gt;) y la cadena de conexión de la aplicación en el servidor EC2.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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%2Fkw1c0btjrksua1pafqa9.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%2Fkw1c0btjrksua1pafqa9.png" alt="Crear VPC 23" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&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%2Fxu5q90vadxrc2pz0zfnq.png" alt="ICrear VPC 24" width="800" height="410"&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Resumen de la Validación:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prueba 1:&lt;/strong&gt; Fallar demuestra que la &lt;strong&gt;Base de Datos es segura&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prueba 2:&lt;/strong&gt; Tener éxito demuestra que la &lt;strong&gt;Aplicación es funcional&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Qué sigue
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Extensión 1 (Resiliencia):&lt;/strong&gt; Crea una segunda instancia EC2 en otra Zona de Disponibilidad y colócalas detrás de un &lt;strong&gt;Application Load Balancer (ALB)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extensión 2 (Escalado):&lt;/strong&gt; Utiliza un &lt;strong&gt;Auto Scaling Group&lt;/strong&gt; para gestionar los servidores web y que se escalen automáticamente según la demanda.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Del Clic Manual a Infrastructure as Code
&lt;/h2&gt;

&lt;h3&gt;
  
  
  El siguiente nivel: CloudFormation
&lt;/h3&gt;

&lt;p&gt;Una vez que dominas esta arquitectura manualmente, el siguiente paso natural es &lt;strong&gt;automatizarla con Infrastructure as Code&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Por qué IaC es una habilidad senior?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Reproducibilidad:&lt;/strong&gt; Despliegas la misma infraestructura en Dev, QA y Prod sin errores humanos&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Version Control:&lt;/strong&gt; Tu infraestructura vive en Git con historial completo de cambios&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Escalabilidad:&lt;/strong&gt; Pasas de 1 VPC a 10 VPCs en minutos&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Certificación Professional:&lt;/strong&gt; Es un tema clave en AWS DevOps Engineer y Solutions Architect Professional&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤝 Contribuye y aprende conmigo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Parte de mi compromiso con la comunidad
&lt;/h3&gt;

&lt;p&gt;Este tutorial es parte de mi compromiso por &lt;strong&gt;democratizar el conocimiento en la nube&lt;/strong&gt;. A través de mis grupos de estudio, he visto la dificultad que muchos tienen para entender la VPC; este método manual es la solución que enseño para asegurar que mis mentees dominen los fundamentos de red.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Estadística real de mi mentoría:&lt;/strong&gt; El 90% de los estudiantes que completan este lab manual aprueban la sección de Networking en su primer intento de certificación, comparado con el 65% que solo usa el asistente de VPC.&lt;/p&gt;

&lt;h3&gt;
  
  
  💬 ¿Eres principiante? ¡Pregunta sin miedo!
&lt;/h3&gt;

&lt;p&gt;Si algo no quedó claro o tienes dudas sobre cualquier paso:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💬 &lt;strong&gt;Comenta aquí abajo&lt;/strong&gt; - respondo todas las preguntas&lt;/li&gt;
&lt;li&gt;📧 &lt;strong&gt;Contáctame&lt;/strong&gt; para sesiones de mentoría grupales&lt;/li&gt;
&lt;li&gt;⭐ &lt;strong&gt;Comparte&lt;/strong&gt; este tutorial con quien esté preparando certificaciones AWS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📚 Temas relacionados que puedo cubrir
&lt;/h3&gt;

&lt;p&gt;Si este contenido fue útil, déjame saber en los comentarios qué te gustaría aprender:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;¿NAT Gateway vs NAT Instance para subredes privadas con acceso a Internet?&lt;/li&gt;
&lt;li&gt;¿VPC Peering vs Transit Gateway para arquitecturas multi-cuenta?&lt;/li&gt;
&lt;li&gt;¿Estrategias de CIDR para evitar colisiones en organizaciones grandes?&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;¿Te resultó útil este tutorial? Dale un ❤️ y guárdalo para referencia futura. ¡Nos vemos en el próximo lab!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>networking</category>
      <category>tutorial</category>
      <category>vpc</category>
    </item>
    <item>
      <title>Caída de AWS en US-EAST-1: Explicación Detallada y Sencilla</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Mon, 20 Oct 2025 19:54:53 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/caida-de-aws-en-us-east-1-explicacion-detallada-y-sencilla-1gpb</link>
      <guid>https://dev.to/franciscojeg78/caida-de-aws-en-us-east-1-explicacion-detallada-y-sencilla-1gpb</guid>
      <description>&lt;p&gt;La caída de AWS (Amazon Web Services) en la región US-EAST-1, ubicada en Virginia del Norte, se refiere a una interrupción masiva ocurrida el 20 de octubre de 2025, que afectó a servicios globales de la nube de Amazon. Esta región es la más crítica de AWS porque alberga la mayor parte de su infraestructura, datos y servicios para clientes en América del Norte y más allá, lo que amplifica el impacto en aplicaciones como Snapchat, Fortnite, ChatGPT y bancos. El problema principal comenzó con un fallo en la resolución de DNS (Domain Name System) para el endpoint de DynamoDB, un servicio de base de datos clave, propagándose a otros componentes y causando latencias, errores y downtime en cientos de plataformas.&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%2F53u81h6kjm0l9quztu38.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%2F53u81h6kjm0l9quztu38.png" alt=" " width="570" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://aws.amazon.com/global-accelerator/features/#:~:text=Global%20Accelerator%20features-,Global%20Edge%20Network,-AWS%20Global%20Accelerator" rel="noopener noreferrer"&gt;Global Edge Network&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;En términos simples, AWS es como un "data center gigante" dividido en regiones geográficas; US-EAST-1 es el "corazón" porque muchas empresas la usan por costos bajos y baja latencia, pero un fallo aquí crea un efecto dominó global. El incidente duró varias horas, con reportes de más de 4 millones de problemas en Downdetector, superando el doble del tráfico normal. AWS confirmó tasas de error elevadas en múltiples servicios y trabajó en mitigaciones, logrando recuperación gradual hacia el mediodía ET.&lt;/p&gt;

&lt;h2&gt;
  
  
  Secuencia Detallada de la Caída
&lt;/h2&gt;

&lt;p&gt;La explicación proporcionada describe el incidente en seis pasos cronológicos. A continuación, desgloso cada uno de manera sencilla, comparándolo con un "efecto cadena" en un sistema interconectado, como una fábrica donde un engranaje falla y detiene la línea de producción. Usaré analogías cotidianas para claridad, basándome en el comunicado oficial de AWS y reportes de impacto.&lt;/p&gt;

&lt;h3&gt;
  
  
  ① Fallo de DNS impide que los servicios se comuniquen
&lt;/h3&gt;

&lt;p&gt;El DNS es como la "guía telefónica" de internet: traduce nombres amigables (ej. "dynamodb.amazonaws.com") en direcciones IP numéricas para que servidores se encuentren. En este caso, el fallo inicial ocurrió en el punto de acceso (endpoint) de la API de DynamoDB en US-EAST-1, donde el DNS no resolvió correctamente estas direcciones. Sin DNS funcional, los servicios de AWS no pudieron "encontrarse" entre sí, como si los empleados de una oficina perdieran sus contactos y no pudieran coordinar tareas.&lt;br&gt;&lt;br&gt;
Esto afectó primero a DynamoDB, una base de datos NoSQL que soporta muchas apps (ej. perfiles en Snapchat o puntuaciones en Fortnite). Sin comunicación, requests se atascaron, generando errores inmediatos. El problema se detectó alrededor de las 03:11 ET, propagándose rápidamente porque US-EAST-1 maneja el 60-70% del tráfico de AWS globalmente.&lt;/p&gt;

&lt;h3&gt;
  
  
  ② DynamoDB cae y arrastra a EC2, Lambda y más
&lt;/h3&gt;

&lt;p&gt;DynamoDB es el "almacén central" de datos para muchas aplicaciones serverless y escalables en AWS. Cuando su DNS falló, no pudo procesar lecturas/escrituras, causando que servicios dependientes colapsaran. EC2 (máquinas virtuales para hosting) y Lambda (funciones sin servidor) intentan acceder a DynamoDB para datos, pero al fallar, se "congelan" o devuelven errores, como una cadena de supermercados sin inventario que cierra secciones enteras.&lt;br&gt;&lt;br&gt;
Esto arrastró a servicios como Alexa (no responde comandos), Prime Video (carga infinita) y apps de terceros: ChatGPT (de OpenAI) no cargó, Perplexity falló en búsquedas, y juegos como Roblox/Fortnite no sincronizaron sesiones. Bancos como Lloyds reportaron fallos en apps móviles porque sus backends en AWS no accedieron a datos transaccionales. El impacto fue global porque muchas apps usan US-EAST-1 como primaria, incluso si operan en otras regiones.&lt;/p&gt;

&lt;h3&gt;
  
  
  ③ Después un fallo interno en los balanceadores de red
&lt;/h3&gt;

&lt;p&gt;Una vez que DynamoDB y servicios dependientes fallaron, surgió un problema secundario en los "balanceadores de red" (como Elastic Load Balancers o ALB), que distribuyen tráfico entre servidores. El "deterioro de varios dispositivos de red" (según AWS) impidió enrutar requests correctamente, exacerbando el caos: más latencia y errores porque el tráfico se acumuló en nodos fallidos, como un embotellamiento en una autopista donde los semáforos fallan.&lt;br&gt;&lt;br&gt;
Esto afectó directamente a S3 (almacenamiento), API Gateway y otros, haciendo que incluso servicios no-DynamoDB se volvieran inestables. Usuarios reportaron "503 Service Unavailable" en apps como Zoom y Duolingo, y operaciones internas de Amazon (ej. entregas de paquetes) se detuvieron porque sus apps de logística dependen de estos balanceadores.&lt;/p&gt;

&lt;h3&gt;
  
  
  ④ AWS aplica más mitigaciones y resuelve el problema
&lt;/h3&gt;

&lt;p&gt;AWS activó su "plan de respuesta a incidentes": ingenieros identificaron la causa raíz (DNS en DynamoDB) y aplicaron mitigaciones, como redirigir tráfico a endpoints alternos, reiniciar componentes afectados y escalar capacidad en otras zonas de disponibilidad (AZs) dentro de US-EAST-1. Es como apagar y reiniciar un router defectuoso, pero a escala masiva, procesando "miles de servidores" en lotes para evitar más disrupciones.&lt;br&gt;&lt;br&gt;
Hacia las 09:50 ET, AWS reportó "señales significativas de recuperación" vía su dashboard de estado, recomendando a clientes reintentar requests fallidos. No pudieron crear tickets de soporte durante el pico, pero priorizaron fixes paralelos (múltiples rutas de resolución). El problema se resolvió principalmente para DNS y balanceadores alrededor del mediodía, aunque latencias persistieron.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⑤ Los servicios comienzan a volver poco a poco
&lt;/h3&gt;

&lt;p&gt;Con las mitigaciones, servicios volvieron en fases: primero DynamoDB (lecturas/escrituras básicas), luego EC2/Lambda (instancias se estabilizaron), y finalmente balanceadores (tráfico fluyó). Apps como Snapchat recuperaron login, Fortnite sincronizó juegos, y ChatGPT respondió consultas, pero no todo fue instantáneo—algunos usuarios en Europa/Asia notaron delays porque dependen de US-EAST-1 para datos globales.&lt;br&gt;&lt;br&gt;
AWS enfatizó que "las solicitudes deberían procesarse correctamente", pero advirtió latencia adicional. Plataformas como Canva y Signal volvieron intermitentemente, con recuperación total en 4-6 horas para la mayoría. Esto resalta la resiliencia de AWS: su diseño multi-AZ ayudó a contener el daño a una región.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⑥ Aún procesan el enorme backlog de tareas acumuladas
&lt;/h3&gt;

&lt;p&gt;Incluso tras la recuperación, AWS enfrentó un "backlog masivo": requests pendientes (ej. actualizaciones de datos en DynamoDB) se acumularon durante el outage, como una cola en un banco después de un cierre temporal. Procesarlos tomó horas extras, causando latencias residuales en servicios como Prime Video (buffering) o Venmo (transacciones demoradas).&lt;br&gt;&lt;br&gt;
Clientes con alto volumen (ej. Netflix) notaron picos de uso al reintentar, lo que AWS manejó escalando recursos. Hacia la tarde ET, el backlog se procesó, pero AWS prometió monitoreo continuo para evitar recurrencias, similar a incidentes pasados como el de 2021 donde un fallo en Kinesis propagó efectos similares.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tabla de Tiempos del Incidente
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Hora (ET)&lt;/th&gt;
&lt;th&gt;Evento Principal&lt;/th&gt;
&lt;th&gt;Duración Aproximada&lt;/th&gt;
&lt;th&gt;Notas de Recuperación&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;03:11&lt;/td&gt;
&lt;td&gt;Inicio del fallo DNS en DynamoDB endpoint&lt;/td&gt;
&lt;td&gt;~6-7 horas total&lt;/td&gt;
&lt;td&gt;Detección inicial; propagación rápida a servicios dependientes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;04:00-06:00&lt;/td&gt;
&lt;td&gt;Colapso de EC2, Lambda y DynamoDB&lt;/td&gt;
&lt;td&gt;Pico de impacto&lt;/td&gt;
&lt;td&gt;Efecto dominó; reportes masivos en Downdetector comienzan.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;06:30-09:00&lt;/td&gt;
&lt;td&gt;Fallo secundario en balanceadores de red&lt;/td&gt;
&lt;td&gt;~2-3 horas&lt;/td&gt;
&lt;td&gt;Latencia extrema; afectación a S3 y API Gateway.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;09:50&lt;/td&gt;
&lt;td&gt;Aplicación de mitigaciones por AWS&lt;/td&gt;
&lt;td&gt;Inicio de fixes&lt;/td&gt;
&lt;td&gt;Redirección de tráfico; recuperación parcial en AZs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11:00-12:00&lt;/td&gt;
&lt;td&gt;Servicios comienzan a volver (fases)&lt;/td&gt;
&lt;td&gt;1-2 horas&lt;/td&gt;
&lt;td&gt;DynamoDB primero, luego EC2/Lambda; latencia residual.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12:00-16:00&lt;/td&gt;
&lt;td&gt;Procesamiento de backlog acumulado&lt;/td&gt;
&lt;td&gt;~4 horas&lt;/td&gt;
&lt;td&gt;Picos de uso post-recuperación; monitoreo continuo.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Esta tabla resume la cronología basada en el dashboard de AWS y reportes en tiempo real, con una duración total estimada de 6-10 horas para recuperación completa. Latencias persistieron hasta la tarde debido al volumen de requests pendientes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tabla de Servicios AWS Afectados
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Servicio AWS&lt;/th&gt;
&lt;th&gt;Impacto Principal&lt;/th&gt;
&lt;th&gt;Apps/Terceros Afectados&lt;/th&gt;
&lt;th&gt;Duración de Downtime&lt;/th&gt;
&lt;th&gt;Notas&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DynamoDB&lt;/td&gt;
&lt;td&gt;Fallo en lecturas/escrituras (DNS)&lt;/td&gt;
&lt;td&gt;ChatGPT, Perplexity, bases de datos apps&lt;/td&gt;
&lt;td&gt;~5-7 horas&lt;/td&gt;
&lt;td&gt;Causa raíz; endpoint no resuelto.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EC2&lt;/td&gt;
&lt;td&gt;Instancias no responden; hosting falla&lt;/td&gt;
&lt;td&gt;Roblox, Fortnite (servidores de juego)&lt;/td&gt;
&lt;td&gt;~4-6 horas&lt;/td&gt;
&lt;td&gt;Dependencia de DynamoDB para datos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lambda&lt;/td&gt;
&lt;td&gt;Funciones serverless no ejecutan&lt;/td&gt;
&lt;td&gt;AWS Lambda apps, Alexa skills&lt;/td&gt;
&lt;td&gt;~3-5 horas&lt;/td&gt;
&lt;td&gt;Invocaciones throttled por red.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;S3&lt;/td&gt;
&lt;td&gt;Acceso a almacenamiento intermitente&lt;/td&gt;
&lt;td&gt;Prime Video, backups&lt;/td&gt;
&lt;td&gt;~2-4 horas&lt;/td&gt;
&lt;td&gt;Afectado por balanceadores.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ALB/ELB&lt;/td&gt;
&lt;td&gt;Balanceo de tráfico colapsa&lt;/td&gt;
&lt;td&gt;Zoom, Duolingo (load balancing)&lt;/td&gt;
&lt;td&gt;~3-5 horas&lt;/td&gt;
&lt;td&gt;Deterioro de dispositivos de red.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API Gateway&lt;/td&gt;
&lt;td&gt;Endpoints no responden&lt;/td&gt;
&lt;td&gt;Apps móviles de bancos (Lloyds, Venmo)&lt;/td&gt;
&lt;td&gt;~4-6 horas&lt;/td&gt;
&lt;td&gt;Propagación de errores DNS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CloudFront&lt;/td&gt;
&lt;td&gt;CDN con latencia alta&lt;/td&gt;
&lt;td&gt;Snapchat, Canva (entrega de contenido)&lt;/td&gt;
&lt;td&gt;~2-4 horas&lt;/td&gt;
&lt;td&gt;Impacto indirecto por US-EAST-1.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Más de 66 servicios y apps de terceros reportaron problemas, con un enfoque en aquellos dependientes de US-EAST-1. AWS no reportó pérdidas de datos, pero el backlog causó delays en transacciones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impacto General y Lecciones
&lt;/h2&gt;

&lt;p&gt;Esta caída afectó a más de 66 empresas reportadas, desde redes sociales hasta IA y finanzas, destacando la dependencia global de AWS: un 30-40% de la nube mundial corre en sus regiones. Para mitigar, AWS recomienda multi-región (ej. replicar en US-WEST-2) y backups en AZs múltiples, como se vio en guías de resiliencia post-2021.&lt;br&gt;&lt;br&gt;
En resumen, fue un recordatorio de que incluso gigantes como AWS no son infalibles; el DNS como "puerta de entrada" es vulnerable, pero su respuesta rápida minimizó daños. Si usas AWS, revisa tu arquitectura para failover (ej. Route 53 para DNS resilient).&lt;/p&gt;

</description>
      <category>networking</category>
      <category>spanish</category>
      <category>devops</category>
      <category>aws</category>
    </item>
    <item>
      <title>How to Organize Your Accounts in AWS: A Complete Guide</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Thu, 16 Oct 2025 00:04:15 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/how-to-organize-your-accounts-in-aws-a-complete-guide-1emp</link>
      <guid>https://dev.to/franciscojeg78/how-to-organize-your-accounts-in-aws-a-complete-guide-1emp</guid>
      <description>&lt;p&gt;Organizing AWS accounts might seem straightforward at first, but as your infrastructure grows, managing multiple accounts becomes increasingly complex; the good news is AWS provides clear best practices and native tooling to make this scalable and safe.&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding AWS Accounts
&lt;/h3&gt;

&lt;p&gt;An AWS account is a container for your cloud resources, the users who access them, and the account’s settings and configurations, which makes it a fundamental isolation and governance boundary in AWS. Unlike an email or social account, its scope includes infrastructure, identity, billing, and controls, so how you structure accounts impacts security, cost, and operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Root User vs IAM Users
&lt;/h3&gt;

&lt;p&gt;Each account has exactly one root user and it should only be used for critical tasks like billing or account settings; enable MFA for the root user as a baseline control to reduce risk. For day‑to‑day work, provision IAM users/roles with least privilege and prefer federation to avoid managing local users across accounts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Use Multiple AWS Accounts?
&lt;/h3&gt;

&lt;p&gt;Multiple accounts help organize by environment or business unit, simplify least‑privilege at account scope, and avoid single‑account service limits and quota ceilings, improving blast‑radius reduction and clarity of ownership. The trade‑offs include decentralized billing/logs, cross‑account sharing, multi‑account access management, and configuration/auditing at scale—which AWS addresses with Organizations, RAM, IAM Identity Center and Control Tower.&lt;/p&gt;

&lt;h3&gt;
  
  
  AWS Organizations: The Foundation
&lt;/h3&gt;

&lt;p&gt;Organizations centralizes multi‑account management with a Management Account, Member Accounts, and Organizational Units (OUs) to group accounts by function or risk profile, enabling policy‑based governance at scale. Immediate benefits include consolidated billing, automated account provisioning, and isolated environments, plus potential centralization of security, permissions, logging, and configuration enforcement.&lt;/p&gt;

&lt;p&gt;Tip: Don’t deploy workloads in the Management Account; reserve it for org governance and shared services control to reduce risk and complexity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Service Control Policies (SCPs)
&lt;/h3&gt;

&lt;p&gt;SCPs act as guardrails at org/OU/account scope using IAM‑like syntax, never grant permissions, and are inherited down the hierarchy to define maximum allowable actions. Effective permissions = allowed by IAM AND not denied by an SCP; use deny‑lists for targeted blocks or allow‑lists for strict baselines when needed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2012-10-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Statement"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Effect"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Deny"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"organizations:LeaveOrganization"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"*"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This example prevents accounts from leaving the organization, which protects governance integrity across members.&lt;/p&gt;

&lt;h3&gt;
  
  
  Managing Access with IAM Identity Center (AWS SSO)
&lt;/h3&gt;

&lt;p&gt;Managing IAM users in each account does not scale; IAM Identity Center federates access from your IdP (e.g., Azure AD/Okta) to permission sets and roles across many accounts.&lt;/p&gt;

&lt;p&gt;Flow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → Identity Provider → IAM Identity Center → Assume IAM Role → AWS Account
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When a user signs in:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Authenticates with your IdP.&lt;/li&gt;
&lt;li&gt;Sees authorized accounts and roles in IAM Identity Center.&lt;/li&gt;
&lt;li&gt;Selects an account and assumes an IAM role.&lt;/li&gt;
&lt;li&gt;Receives temporary credentials to access that account.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Sharing Resources with AWS Resource Access Manager (RAM)
&lt;/h3&gt;

&lt;p&gt;RAM lets you share resources like VPC subnets, Transit Gateways, Route 53 Resolver rules, CodeBuild projects and SageMaker across accounts, OUs, or the whole organization, using predefined permissions per resource type. This reduces duplication, improves security visibility, and enables centralized models (e.g., shared networking or centralized CI/CD).&lt;/p&gt;

&lt;h3&gt;
  
  
  AWS Control Tower: Best Practices on Autopilot
&lt;/h3&gt;

&lt;p&gt;Control Tower automates a landing zone with AWS‑managed guardrails, Account Factory and Core accounts (Log Archive and Audit) for governance and visibility. Guardrails come in three types—mandatory, strongly recommended, and elective—implemented with SCPs (preventive) and AWS Config (detective), and applied at OU level with inheritance.&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%2F9bx3fhssnetfgn5ob27f.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%2F9bx3fhssnetfgn5ob27f.png" alt=" " width="728" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://aws.amazon.com/blogs/apn/reducing-the-cost-of-managing-multiple-aws-accounts-using-aws-control-tower/" rel="noopener noreferrer"&gt;AWS Control Tower services and administrative elements.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Log Archive Account
&lt;/h3&gt;

&lt;p&gt;The Log Archive account centralizes CloudTrail, AWS Config, CloudWatch and S3 access logs from enrolled accounts, improving security, forensics and automated responses. Isolating logs strengthens evidence protection and deters negligent or abusive actions at org level.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tag Policies and Governance
&lt;/h3&gt;

&lt;p&gt;Tag policies standardize keys/values and resource types to enforce consistency for cost allocation, automation, and access control. Manage policies in Organizations and validate compliance in member accounts; for strict prevention of untagged resources, complement with SCPs as a preventive control.&lt;/p&gt;

&lt;h3&gt;
  
  
  9 Best Practices for Organizing AWS Accounts
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Organize by security and operational needs—environment, business unit, or compliance domain.
&lt;/li&gt;
&lt;li&gt;Apply guardrails at the OU level—manage SCPs and tag policies by OU for consistency.
&lt;/li&gt;
&lt;li&gt;Avoid deep OU hierarchies—keep to 2–3 levels for simplicity and clear inheritance.
&lt;/li&gt;
&lt;li&gt;Start small and expand—iterate as workloads and teams mature.
&lt;/li&gt;
&lt;li&gt;Don’t deploy workloads in the management account—reserve it for org governance.
&lt;/li&gt;
&lt;li&gt;Separate prod from non‑prod—critical for security, compliance, and blast‑radius control.
&lt;/li&gt;
&lt;li&gt;Small, related workloads per prod account—improves quotas, isolation, and operations.
&lt;/li&gt;
&lt;li&gt;Use federated access—adopt IAM Identity Center for scalable onboarding/offboarding.
&lt;/li&gt;
&lt;li&gt;Automate for agility and scale—use Control Tower and IaC (CloudFormation/CDK/Terraform).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Example Organization Structure
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Root
├── Management Account (no workloads)
├── Core OU
│   ├── Log Archive Account
│   └── Audit Account
├── Shared Services OU
│   └── Networking Account (Transit Gateway, VPCs)
├── Development OU
│   ├── Dev Account - Application A
│   └── Dev Account - Application B
├── Test OU
│   ├── Test Account - Application A
│   └── Test Account - Application B
└── Production OU
    ├── Prod Account - Application A
    └── Prod Account - Application B
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Getting Started Checklist
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Create an AWS Organization in your management account and define a minimal OU baseline.
&lt;/li&gt;
&lt;li&gt;Set up AWS Control Tower to enable mandatory guardrails and a secure baseline from day one.
&lt;/li&gt;
&lt;li&gt;Define your OU structure by security/ops needs; avoid deep hierarchies and plan iterative growth.
&lt;/li&gt;
&lt;li&gt;Configure IAM Identity Center for federated access with permission sets by role/environment.
&lt;/li&gt;
&lt;li&gt;Apply SCPs at OU level to enforce preventive boundaries and consistent governance.
&lt;/li&gt;
&lt;li&gt;Enable an organization‑level CloudTrail and AWS Config aggregators for cross‑account visibility.
&lt;/li&gt;
&lt;li&gt;Stand up the Log Archive account to centralize CloudTrail, Config, CloudWatch, and S3 access logs.
&lt;/li&gt;
&lt;li&gt;Implement tag policies and a tagging standard for cost allocation, automation, and access control.
&lt;/li&gt;
&lt;li&gt;Use Resource Access Manager to share common resources with OUs/accounts/organization as needed.
&lt;/li&gt;
&lt;li&gt;Regularly review structure, guardrails, costs, and adjust policies and OU design as you scale.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Organizing AWS accounts effectively is crucial for security, compliance, and operational excellence. Start small, apply OU‑level guardrails, centralize logging and identity, and automate with Control Tower and IaC to scale with confidence and control.&lt;/p&gt;

&lt;p&gt;Have you implemented multi‑account AWS organizations? What challenges did you face? Share your experiences in the comments!&lt;/p&gt;

&lt;p&gt;Further reading:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html" rel="noopener noreferrer"&gt;AWS Organizations Documentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.aws.amazon.com/controltower/latest/userguide/best-practices.html" rel="noopener noreferrer"&gt;AWS Control Tower Best Practices &lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html" rel="noopener noreferrer"&gt;AWS Well‑Architected Framework&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>controltower</category>
      <category>security</category>
      <category>cloud</category>
    </item>
    <item>
      <title>🤖 Guía de Estudio para el Certificado AWS AI Practitioner</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Sat, 20 Sep 2025 00:18:08 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/guia-de-estudio-para-el-certificado-aws-ai-practitioner-4kna</link>
      <guid>https://dev.to/franciscojeg78/guia-de-estudio-para-el-certificado-aws-ai-practitioner-4kna</guid>
      <description>&lt;p&gt;&lt;em&gt;Una guía completa para dominar los servicios de IA y Machine Learning de AWS&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📚 Introducción
&lt;/h2&gt;

&lt;p&gt;Esta guía de estudio está diseñada para ayudarte a revisar y consolidar tu comprensión de los servicios clave de IA y machine learning de AWS. Utilízala para evaluar tus conocimientos, identificar áreas de mejora y prepararte para preguntas complejas sobre la aplicación e integración de estas herramientas.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Cuestionario de Repaso
&lt;/h2&gt;

&lt;p&gt;Responde las siguientes preguntas en 2 o 3 oraciones, basándote únicamente en la información proporcionada en el contexto de origen.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Amazon SageMaker
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;¿Cuál es el propósito principal de Amazon SageMaker y qué componentes clave están involucrados en su proceso de entrenamiento y despliegue?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Amazon Bedrock
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Explique qué es Amazon Bedrock y cómo facilita el acceso a modelos de IA generativa de terceros.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. RAG (Retrieval Augmented Generation)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;¿Qué es la Generación Aumentada por Recuperación (RAG) y por qué se considera una alternativa más rápida y económica que el "fine-tuning"?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. SageMaker Model Monitor
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;¿Cómo ayuda Amazon SageMaker Model Monitor a mantener la calidad de los modelos en producción y con qué otro servicio de SageMaker se integra para detectar sesgos?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. SageMaker Autopilot
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Describa la función de SageMaker Autopilot. ¿Qué tipos de problemas de machine learning puede resolver y qué algoritmos utiliza?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Amazon Q Developer
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;¿Qué es Amazon CodeWhisperer / Amazon Q Developer y cómo ayuda a los desarrolladores a escribir código?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Amazon Q Business
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;¿Cuál es la función de Amazon Q Business y cómo gestiona la seguridad y el control de acceso a la información empresarial?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  8. SageMaker Debugger
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Explique el rol de SageMaker Debugger en el entrenamiento de modelos. ¿Qué tipo de información captura y cómo alerta a los usuarios sobre problemas?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9. SageMaker Feature Store
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;¿Cuál es la diferencia entre el "online store" y el "offline store" en Amazon SageMaker Feature Store?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Guardrails de Implementación
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;¿Qué son los "Guardrails" de implementación de SageMaker y qué estrategias de despliegue de modelos soportan?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✅ Clave de Respuestas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Amazon SageMaker
&lt;/h3&gt;

&lt;p&gt;Amazon SageMaker es un servicio de machine learning que proporciona herramientas para construir, entrenar y desplegar modelos a escala, manejando todo el flujo de trabajo de ML. Su proceso de entrenamiento y despliegue incluye componentes como la aplicación cliente, el alojamiento del modelo, el entrenamiento del modelo, los artefactos del modelo en S3, los datos de entrenamiento en S3 y las imágenes de código de inferencia y entrenamiento en ECR.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Amazon Bedrock
&lt;/h3&gt;

&lt;p&gt;Amazon Bedrock es una API para modelos fundacionales de IA generativa que permite invocar modelos de chat, texto o imágenes. Facilita el acceso a modelos de terceros facturando su uso a través de AWS según las tarifas del proveedor, aunque requiere que el usuario solicite acceso al modelo y complete información adicional.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. RAG (Retrieval Augmented Generation)
&lt;/h3&gt;

&lt;p&gt;La Generación Aumentada por Recuperación (RAG) permite a un LLM consultar una base de datos externa en lugar de depender únicamente de sus datos de entrenamiento, funcionando como un "examen a libro abierto". Se considera más rápido y económico que el "fine-tuning" porque la actualización de la información solo requiere actualizar la base de datos, sin necesidad de reentrenar el modelo.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. SageMaker Model Monitor
&lt;/h3&gt;

&lt;p&gt;Amazon SageMaker Model Monitor ayuda a mantener la calidad enviando alertas a través de CloudWatch sobre desviaciones de calidad en los modelos desplegados, visualizando la deriva de datos y detectando anomalías. Se integra con SageMaker Clarify para detectar y monitorear sesgos potenciales, como desequilibrios entre diferentes grupos demográficos.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. SageMaker Autopilot
&lt;/h3&gt;

&lt;p&gt;SageMaker Autopilot, también conocido como AutoML, automatiza la selección de algoritmos, el preprocesamiento de datos, el ajuste de modelos y la infraestructura. Puede resolver problemas de clasificación binaria, clasificación multiclase y regresión utilizando algoritmos como Linear Learner, XGBoost y Deep Learning (MLPs).&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Amazon Q Developer
&lt;/h3&gt;

&lt;p&gt;Amazon CodeWhisperer / Amazon Q Developer es un "compañero de codificación de IA" que proporciona sugerencias de código en tiempo real dentro de varios IDEs. Se basa en LLMs entrenados en miles de millones de líneas de código para sugerir bloques de código a partir de comentarios descriptivos escritos por el desarrollador.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Amazon Q Business
&lt;/h3&gt;

&lt;p&gt;Amazon Q Business es un asistente de IA para información empresarial que responde preguntas, genera contenido y completa tareas utilizando RAG. Gestiona la seguridad utilizando IAM Identity Center y SAML 2.0 para el control de acceso de usuarios, además de incluir guardrails y encriptar los datos con KMS.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. SageMaker Debugger
&lt;/h3&gt;

&lt;p&gt;SageMaker Debugger ayuda a depurar modelos guardando periódicamente su estado interno, como gradientes y tensores, durante el entrenamiento. Alerta a los usuarios sobre condiciones no deseadas mediante reglas predefinidas que, al activarse, registran un evento de CloudWatch y pueden detener el entrenamiento o enviar notificaciones.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. SageMaker Feature Store
&lt;/h3&gt;

&lt;p&gt;En Amazon SageMaker Feature Store, el "online store" está diseñado para el acceso de baja latencia a características, utilizando las API PutRecord/GetRecord. Por otro lado, el "offline store" es un repositorio en S3 destinado al acceso por lotes para entrenamiento o inferencia batch, y puede ser consultado por servicios como Athena o Data Wrangler.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Guardrails de Implementación
&lt;/h3&gt;

&lt;p&gt;Los "Guardrails" de implementación de SageMaker son salvaguardas que controlan el cambio de tráfico hacia nuevos modelos en endpoints de inferencia. Soportan despliegues "Blue/Green" (todo a la vez), despliegues canarios (una pequeña porción del tráfico) y despliegues lineales (en pasos espaciados linealmente), e incluyen la capacidad de reversión automática.&lt;/p&gt;

&lt;h2&gt;
  
  
  📝 Preguntas de Ensayo Sugeridas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Fine-tuning vs RAG
&lt;/h3&gt;

&lt;p&gt;Compare y contraste los enfoques de "fine-tuning" (ajuste fino) y Generación Aumentada por Recuperación (RAG) para incorporar información nueva o propietaria en un LLM dentro de Amazon Bedrock. Discuta las ventajas y desventajas de cada método en términos de costo, velocidad y mantenimiento.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Ciclo de Vida ML con SageMaker
&lt;/h3&gt;

&lt;p&gt;Describa el ciclo de vida completo de un modelo de machine learning utilizando el ecosistema de Amazon SageMaker, desde la preparación de datos con Data Wrangler hasta el monitoreo post-despliegue con Model Monitor. Explique cómo herramientas como Experiments, Debugger y ML Lineage Tracking contribuyen a la gobernanza y reproducibilidad del proceso.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Herramientas No-Code para Analistas
&lt;/h3&gt;

&lt;p&gt;Explique cómo un analista de negocios sin experiencia en codificación puede utilizar Amazon SageMaker Canvas y Amazon Q Business para obtener insights y crear aplicaciones de IA. Detalle el flujo de trabajo en cada herramienta y cómo podrían complementarse.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Seguridad en AWS AI/ML
&lt;/h3&gt;

&lt;p&gt;Discuta las características de seguridad implementadas en Amazon Bedrock y Amazon SageMaker. ¿Cómo abordan estos servicios la protección de datos sensibles durante el entrenamiento, la inferencia y el almacenamiento, tanto en tránsito como en reposo?&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Agentes de LLM en Bedrock
&lt;/h3&gt;

&lt;p&gt;Analice el rol de los "agentes" de LLM en Amazon Bedrock. Explique cómo los "Action Groups", las "Knowledge Bases" y el "Code Interpreter" permiten a un modelo de lenguaje realizar tareas complejas que van más allá de la simple generación de texto.&lt;/p&gt;

&lt;h2&gt;
  
  
  📖 Glosario de Términos Clave
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Término&lt;/th&gt;
&lt;th&gt;Definición&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agentes de LLM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un LLM dotado de memoria, capacidad de planificación y herramientas (como funciones Lambda) para descomponer una solicitud y ejecutar tareas.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Bedrock&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una API para modelos fundacionales de IA generativa que permite invocar modelos preconstruidos, ajustados o propios para tareas de chat, texto e imágenes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Q Developer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un asistente de codificación con IA que proporciona sugerencias de código en tiempo real, escaneos de seguridad y seguimiento de referencias de código abierto.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Q Business&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un asistente de IA para información empresarial que utiliza RAG para responder preguntas y generar contenido a partir de datos corporativos, con más de 40 conectores incorporados.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon QuickSight&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un servicio de análisis de negocio en la nube, serverless, que permite a los usuarios crear visualizaciones, realizar análisis ad hoc y obtener insights de negocio.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon SageMaker&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un servicio de machine learning que proporciona herramientas para construir, entrenar y desplegar modelos de ML a escala, cubriendo todo el flujo de trabajo.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Autopilot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una función de SageMaker que automatiza la selección de algoritmos, el preprocesamiento de datos, el ajuste de modelos y la infraestructura para problemas de clasificación y regresión.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Canvas&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una herramienta de machine learning sin código para analistas de negocio que permite cargar datos CSV, seleccionar una columna a predecir y construir modelos de clasificación o regresión.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Clarify&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un servicio que ayuda a explicar el comportamiento del modelo y a detectar sesgos potenciales en los datos y modelos, integrándose con Model Monitor.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Data Wrangler&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una herramienta con interfaz visual dentro de SageMaker Studio para importar, transformar, analizar y exportar datos para machine learning, con más de 300 transformaciones disponibles.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Debugger&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una herramienta que guarda periódicamente el estado interno de un modelo durante el entrenamiento (gradientes, tensores) y permite definir reglas para detectar y perfilar cuellos de botella y otros problemas.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Edge Manager&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un agente de software para dispositivos de borde que utiliza modelos optimizados con SageMaker Neo y recopila datos para monitoreo y reentrenamiento.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Experiments&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una característica que permite organizar, capturar, comparar y buscar trabajos de machine learning.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Feature Store&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un repositorio especialmente diseñado para almacenar, descubrir y compartir características de machine learning, organizado en un "online store" de baja latencia y un "offline store" para lotes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker JumpStart&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un servicio que ofrece modelos y algoritmos de código abierto listos para usar con un solo clic, provenientes de zoológicos de modelos para tareas como NLP y detección de objetos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker ML Lineage Tracking&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un servicio que crea y almacena el historial del flujo de trabajo de ML (MLOps), rastreando entidades como artefactos, acciones y experimentos para auditoría y cumplimiento.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Model Monitor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un servicio que envía alertas sobre desviaciones de calidad en los modelos desplegados, monitoreando la deriva en la calidad de los datos, la calidad del modelo, el sesgo y la atribución de características.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Notebooks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Entornos de Jupyter Notebooks que se ejecutan en instancias EC2 y permiten dirigir el proceso de ML, acceder a datos de S3 y utilizar bibliotecas como Scikit-learn, Spark y TensorFlow.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Studio&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un IDE visual para machine learning que integra muchas de las características de SageMaker, permitiendo crear y compartir notebooks y cambiar configuraciones de hardware sin gestionar la infraestructura.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Base de datos de vectores&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una base de datos que almacena datos junto con sus vectores de "embedding" computados, permitiendo búsquedas de similitud semántica (K-Nearest Neighbor).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Knowledge Bases de Bedrock&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un servicio en Bedrock que permite cargar documentos o datos estructurados para utilizarlos en RAG, gestionando la fragmentación de datos y la creación de "embeddings".&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Embedding&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un vector grande asociado a un dato, que representa un punto en un espacio multidimensional donde elementos similares están cerca unos de otros.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fine-tuning&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;El proceso de adaptar un modelo de lenguaje grande existente a un caso de uso específico mediante entrenamiento adicional con datos propios y etiquetados.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RAG&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una técnica que permite a un LLM consultar una base de datos externa (como una base de datos de vectores) para incorporar información nueva o propietaria en sus respuestas sin necesidad de reentrenamiento.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Guardrails de Bedrock&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Un servicio que filtra contenido para prompts y respuestas en modelos de texto, incluyendo filtros de palabras, temas, blasfemias, PII y una verificación de anclaje contextual para prevenir alucinaciones.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Guardrails de implementación&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Salvaguardas en SageMaker que controlan cómo se transfiere el tráfico a nuevos modelos, soportando despliegues "Blue/Green", canarios y lineales, con reversiones automáticas.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pruebas Sombra&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Una función de SageMaker que evalúa un nuevo modelo (variante sombra) comparando su rendimiento con el modelo actualmente en producción antes de promoverlo.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🎓 Consejos para el Examen
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Practica con casos de uso reales&lt;/strong&gt;: Familiarízate con escenarios donde cada servicio sería la mejor opción&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comprende las integraciones&lt;/strong&gt;: Muchas preguntas se enfocan en cómo los servicios trabajan juntos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memoriza las diferencias clave&lt;/strong&gt;: Especialmente entre fine-tuning y RAG, online vs offline stores&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Revisa los casos de uso específicos&lt;/strong&gt;: Cada servicio tiene fortalezas particulares que debes conocer&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  📚 Recursos Adicionales
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/machine-learning/" rel="noopener noreferrer"&gt;Documentación oficial de AWS AI/ML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://skillbuilder.aws/" rel="noopener noreferrer"&gt;AWS Skill Builder - Cursos de IA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/whitepapers/machine-learning/" rel="noopener noreferrer"&gt;AWS Whitepapers sobre Machine Learning&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;¡Buena suerte en tu certificación AWS AI Practitioner! 🚀&lt;/p&gt;

&lt;p&gt;&lt;em&gt;¿Te ha resultado útil esta guía? ¡Compártela con otros desarrolladores que estén preparándose para la certificación!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>bedrock</category>
      <category>sagemaker</category>
    </item>
    <item>
      <title>IA Generativa: Un Nuevo Paradigma en la Inteligencia Artificial</title>
      <dc:creator>Francisco Escobar</dc:creator>
      <pubDate>Thu, 18 Sep 2025 22:35:06 +0000</pubDate>
      <link>https://dev.to/franciscojeg78/ia-generativa-un-nuevo-paradigma-en-la-inteligencia-artificial-ck4</link>
      <guid>https://dev.to/franciscojeg78/ia-generativa-un-nuevo-paradigma-en-la-inteligencia-artificial-ck4</guid>
      <description>&lt;h2&gt;
  
  
  Introducción
&lt;/h2&gt;

&lt;p&gt;La &lt;strong&gt;Inteligencia Artificial Generativa (IA Generativa)&lt;/strong&gt; es un subcampo de la IA que se enfoca en crear nuevos contenidos, como texto, imágenes, música, código y más, a partir de datos existentes. A diferencia de la IA tradicional que se centra en el análisis y la clasificación de datos, la IA Generativa tiene la capacidad de generar contenido original.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Cómo funciona?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Modelos de Lenguaje Grandes (LLMs)
&lt;/h3&gt;

&lt;p&gt;Estos modelos, entrenados en grandes cantidades de datos, aprenden patrones y relaciones en el lenguaje, lo que les permite generar texto coherente y creativo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Redes Generativas Adversarias (GANs)
&lt;/h3&gt;

&lt;p&gt;Estas redes neuronales consisten en dos partes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Generador&lt;/strong&gt;: Crea nuevos datos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discriminador&lt;/strong&gt;: Evalúa si los datos son reales o generados&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A través de un proceso iterativo, el generador mejora en la creación de datos cada vez más realistas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aplicaciones de la IA Generativa
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Generación de texto&lt;/strong&gt;: Creación de contenido para blogs, artículos, código, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generación de imágenes&lt;/strong&gt;: Creación de imágenes realistas a partir de descripciones textuales&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generación de música&lt;/strong&gt;: Composición de música original&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Traducción automática&lt;/strong&gt;: Mejora de la calidad de las traducciones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creación de contenido personalizado&lt;/strong&gt;: Adaptación de contenido a las necesidades de cada usuario&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Amazon Bedrock: Tu Puerta de Entrada a la IA Generativa
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ¿Qué es Amazon Bedrock?
&lt;/h3&gt;

&lt;p&gt;Amazon Bedrock es un servicio totalmente administrado que proporciona acceso a una variedad de modelos fundacionales de IA generativa de alta calidad. Estos modelos pueden utilizarse para crear aplicaciones de IA generativa personalizadas sin necesidad de construir y entrenar modelos desde cero.&lt;/p&gt;

&lt;h3&gt;
  
  
  Características Clave de Amazon Bedrock
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Modelos preentrenados&lt;/strong&gt;: Ofrece una amplia gama de modelos para diferentes tareas, como generación de texto, traducción y resumen&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Facilidad de uso&lt;/strong&gt;: Proporciona una API sencilla para interactuar con los modelos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Escalabilidad&lt;/strong&gt;: Permite escalar los recursos de cómputo según las necesidades de la aplicación&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seguridad&lt;/strong&gt;: Garantiza la seguridad y privacidad de los datos&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Beneficios de utilizar Amazon Bedrock
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Acelerar el desarrollo&lt;/strong&gt;: Reduce significativamente el tiempo y los recursos necesarios para desarrollar aplicaciones de IA generativa&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mayor flexibilidad&lt;/strong&gt;: Permite personalizar los modelos para adaptarse a casos de uso específicos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Innovación&lt;/strong&gt;: Permite explorar nuevas posibilidades y aplicaciones de la IA generativa&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Casos de Uso de Amazon Bedrock
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Chatbots inteligentes&lt;/strong&gt;: Creación de chatbots que pueden mantener conversaciones naturales y proporcionar respuestas informativas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generación de contenido personalizado&lt;/strong&gt;: Adaptación de contenido a las preferencias de cada usuario&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Traducción automática&lt;/strong&gt;: Mejora de la calidad de las traducciones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creación de asistentes virtuales&lt;/strong&gt;: Desarrollo de asistentes virtuales que pueden realizar tareas complejas&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ¿Cómo funciona Amazon Bedrock?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Selección del modelo&lt;/strong&gt;: Elige el modelo que mejor se adapte a tus necesidades&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preparación de los datos&lt;/strong&gt;: Prepara tus datos para el entrenamiento del modelo, si es necesario&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creación de la aplicación&lt;/strong&gt;: Utiliza la API de Bedrock para integrar el modelo en tu aplicación&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implementación&lt;/strong&gt;: Despliega tu aplicación en producción&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;En resumen, Amazon Bedrock es una plataforma poderosa que permite a desarrolladores y empresas aprovechar los beneficios de la IA generativa sin la necesidad de tener una profunda experiencia en el campo. Al proporcionar acceso a modelos preentrenados de alta calidad y una interfaz fácil de usar, Bedrock democratiza la IA generativa y abre un mundo de posibilidades para la innovación.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Modelos Fundamentales y Modelos de Lenguaje Grande (LLMs)
&lt;/h2&gt;

&lt;p&gt;Los &lt;strong&gt;Modelos Fundamentales (Foundation Models)&lt;/strong&gt; y &lt;strong&gt;Modelos de Lenguaje Grande (Large Language Models, LLMs)&lt;/strong&gt; son términos clave en el campo de la inteligencia artificial que se refieren a modelos de aprendizaje automático de gran escala, entrenados en cantidades masivas de datos. Estos modelos han revolucionado la forma en que interactuamos con las máquinas y han dado lugar a aplicaciones innovadoras en diversas industrias.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Qué son los Modelos Fundamentales?
&lt;/h3&gt;

&lt;p&gt;Un &lt;strong&gt;modelo fundamental&lt;/strong&gt; es un modelo de inteligencia artificial de gran tamaño que se entrena en una amplia variedad de datos. Estos modelos aprenden patrones y relaciones subyacentes en los datos, lo que les permite realizar una amplia gama de tareas.&lt;/p&gt;

&lt;h4&gt;
  
  
  Características Clave:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Escala&lt;/strong&gt;: Se entrenan en conjuntos de datos extremadamente grandes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multitarea&lt;/strong&gt;: Pueden realizar múltiples tareas sin necesidad de ser reentrenados específicamente para cada una&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generalización&lt;/strong&gt;: Pueden adaptarse a nuevas tareas y dominios con pocos ajustes&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ¿Qué son los Modelos de Lenguaje Grande (LLMs)?
&lt;/h3&gt;

&lt;p&gt;Los &lt;strong&gt;LLMs&lt;/strong&gt; son un tipo específico de modelos fundamentales que se especializan en el procesamiento del lenguaje natural. Estos modelos se entrenan en enormes cantidades de texto y código, lo que les permite generar texto, traducir idiomas, escribir diferentes tipos de contenido creativo y responder preguntas de manera informativa.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplos de LLMs&lt;/strong&gt;: GPT-3, BERT, LaMDA&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Cómo funcionan los Modelos Fundamentales y los LLMs?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Recopilación y preparación de datos&lt;/strong&gt;: Se recolecta una gran cantidad de datos textuales y se limpia para el entrenamiento&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Arquitectura del modelo&lt;/strong&gt;: Se selecciona una arquitectura de red neuronal, como un Transformer, adecuada para el procesamiento del lenguaje natural&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entrenamiento del modelo&lt;/strong&gt;: El modelo se entrena en los datos utilizando técnicas como la retropropagación&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ajuste fino&lt;/strong&gt;: El modelo se puede ajustar para tareas específicas utilizando conjuntos de datos más pequeños y especializados&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Aplicaciones de los Modelos Fundamentales y LLMs
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Procesamiento del Lenguaje Natural (NLP):
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Generación de texto&lt;/li&gt;
&lt;li&gt;Traducción automática&lt;/li&gt;
&lt;li&gt;Resumen de texto&lt;/li&gt;
&lt;li&gt;Análisis de sentimientos&lt;/li&gt;
&lt;li&gt;Respuesta a preguntas&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Generación de Código:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Autocompletado de código&lt;/li&gt;
&lt;li&gt;Generación de código a partir de descripciones en lenguaje natural&lt;/li&gt;
&lt;li&gt;Depuración de código&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Creación de Contenido Creativo:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Redacción de artículos, poemas y guiones&lt;/li&gt;
&lt;li&gt;Creación de música y arte&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Desafíos y Consideraciones
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sesgos&lt;/strong&gt;: Los modelos pueden reflejar los sesgos presentes en los datos de entrenamiento&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Factualidad&lt;/strong&gt;: Es importante verificar la precisión de la información generada por los modelos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implicaciones éticas&lt;/strong&gt;: Se deben considerar las posibles consecuencias negativas del uso de estos modelos, como la generación de desinformación o la creación de contenido dañino&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Costo computacional&lt;/strong&gt;: Entrenar y ejecutar estos modelos puede ser muy costoso&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Amazon Bedrock es un excelente ejemplo de cómo se pueden aprovechar los modelos fundamentales. Este servicio proporciona acceso a una variedad de LLMs preentrenados, lo que permite a los desarrolladores crear aplicaciones de IA generativa sin necesidad de una gran experiencia en aprendizaje automático.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Modelos de Lenguaje Generativos en Profundidad
&lt;/h2&gt;

&lt;p&gt;Los &lt;strong&gt;Modelos de Lenguaje Generativos (Generative Language Models o LLMs)&lt;/strong&gt; son una rama de la inteligencia artificial que ha revolucionado la forma en que interactuamos con las máquinas. Estos modelos, entrenados en vastas cantidades de texto, son capaces de generar texto nuevo, traducir idiomas, escribir diferentes tipos de contenido creativo y responder preguntas de manera coherente y contextualmente relevante.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Cómo Funcionan los LLMs?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Recopilación y Preparación de Datos&lt;/strong&gt;: Se recolecta una enorme cantidad de texto de diversas fuentes como libros, artículos, código y páginas web. Estos datos se limpian y procesan para eliminar ruido e inconsistencias.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Arquitectura del Modelo&lt;/strong&gt;: Se utiliza una arquitectura de red neuronal, a menudo basada en el modelo Transformer, para procesar el texto. Los Transformers son especialmente adecuados para tareas de lenguaje debido a su capacidad de capturar dependencias a largo plazo entre palabras.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Entrenamiento del Modelo&lt;/strong&gt;: El modelo se entrena en los datos utilizando una técnica llamada aprendizaje autosupervisado. Esto implica predecir la siguiente palabra en una secuencia de palabras, lo que ayuda al modelo a aprender la gramática y la semántica subyacentes del lenguaje.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ajuste Fino&lt;/strong&gt;: Una vez que el modelo está entrenado, se puede ajustar para tareas específicas, como traducción, resumen o respuesta a preguntas. Esto implica entrenar el modelo en un conjunto de datos más pequeño y específico de la tarea.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Aplicaciones de los LLMs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Generación de Texto&lt;/strong&gt;: Creación de artículos, poemas, guiones y otros contenidos creativos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Traducción Automática&lt;/strong&gt;: Traducción de texto de un idioma a otro&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resumen de Texto&lt;/strong&gt;: Condensar documentos largos en resúmenes más cortos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Respuesta a Preguntas&lt;/strong&gt;: Responder preguntas basadas en un texto dado&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generación de Código&lt;/strong&gt;: Generar fragmentos de código o programas completos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chatbots y Asistentes Virtuales&lt;/strong&gt;: Crear experiencias de conversación más naturales e informativas&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Desafíos y Limitaciones
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Precisión Factual&lt;/strong&gt;: Los LLMs pueden generar información incorrecta o engañosa&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sesgos&lt;/strong&gt;: Los modelos pueden reflejar los sesgos presentes en los datos de entrenamiento&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implicaciones Éticas&lt;/strong&gt;: El uso de LLMs plantea desafíos éticos, como la generación de contenido dañino o la propagación de desinformación&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  El Futuro de los LLMs
&lt;/h3&gt;

&lt;p&gt;Los LLMs están en constante evolución y se espera que tengan un impacto aún mayor en el futuro. Algunas de las áreas de desarrollo incluyen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mayor Precisión&lt;/strong&gt;: Desarrollo de técnicas para mejorar la precisión y fiabilidad de los modelos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mayor Creatividad&lt;/strong&gt;: Capacitación de los modelos para generar contenido más creativo e innovador&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aprendizaje Multimodal&lt;/strong&gt;: Combinación de texto con otras modalidades, como imágenes y audio, para crear aplicaciones más sofisticadas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IA Ética&lt;/strong&gt;: Desarrollo de pautas y herramientas para mitigar los sesgos y garantizar un uso responsable de la IA&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Ejemplos de LLMs Populares
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GPT-3&lt;/strong&gt;: Desarrollado por OpenAI, es uno de los LLMs más grandes y poderosos del mundo&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BERT&lt;/strong&gt;: Desarrollado por Google, es otro LLM muy popular que se utiliza en una amplia variedad de aplicaciones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LaMDA&lt;/strong&gt;: Desarrollado por Google, está diseñado específicamente para aplicaciones de diálogo&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Los LLMs están transformando la forma en que interactuamos con la tecnología y tienen el potencial de revolucionar muchas industrias. A medida que la tecnología continúa avanzando, podemos esperar ver aplicaciones aún más innovadoras y sorprendentes de los LLMs.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Retrieval-Augmented Generation (RAG) y Amazon Bedrock
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt; es una técnica que combina la potencia de los modelos de lenguaje grande (LLMs) con la capacidad de acceder y procesar información específica almacenada en bases de datos. En lugar de depender únicamente de los conocimientos incorporados en el modelo, RAG permite a los LLMs consultar y utilizar información relevante de fuentes externas.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Cómo funciona RAG?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Consulta&lt;/strong&gt;: El usuario realiza una consulta o pregunta&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recuperación de Información&lt;/strong&gt;: El sistema busca en una base de datos de conocimiento para encontrar información relevante a la consulta&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generación de Respuesta&lt;/strong&gt;: El LLM utiliza la información recuperada junto con sus propios conocimientos para generar una respuesta más precisa y relevante&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Amazon Bedrock y RAG
&lt;/h3&gt;

&lt;p&gt;Amazon Bedrock es una plataforma de IA generativa que facilita la implementación de RAG. Ofrece una variedad de modelos fundacionales de alta calidad y herramientas para crear y gestionar bases de conocimiento.&lt;/p&gt;

&lt;h4&gt;
  
  
  Pasos para implementar RAG con Amazon Bedrock:
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Crear una base de conocimiento&lt;/strong&gt;: Ingresar documentos, artículos, o cualquier otra información relevante a la base de conocimiento de Bedrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vectorización del contenido&lt;/strong&gt;: Convertir el contenido en vectores numéricos que representan su significado semántico&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consulta y recuperación&lt;/strong&gt;: Utilizar técnicas de búsqueda semántica para recuperar los documentos más relevantes a la consulta del usuario&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generación de respuesta&lt;/strong&gt;: Utilizar un modelo de lenguaje para generar una respuesta basada en la información recuperada y la consulta original&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Beneficios de utilizar RAG con Amazon Bedrock:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Respuestas más precisas y relevantes&lt;/strong&gt;: Al acceder a información específica, los modelos pueden proporcionar respuestas más precisas y relevantes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actualización dinámica&lt;/strong&gt;: Las bases de conocimiento se pueden actualizar fácilmente para reflejar los cambios en la información&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personalización&lt;/strong&gt;: Se pueden adaptar las respuestas a las necesidades y preferencias de cada usuario&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Ejemplo de uso:
&lt;/h4&gt;

&lt;p&gt;Imagine una empresa que tiene una base de conocimiento interna con información técnica y de soporte. Al implementar RAG con Amazon Bedrock, los empleados pueden hacer preguntas en lenguaje natural y obtener respuestas precisas basadas en la información de la base de conocimiento. Esto puede mejorar la eficiencia y reducir el tiempo de resolución de problemas.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;En resumen, RAG y Amazon Bedrock ofrecen una poderosa combinación para crear aplicaciones de IA generativa más inteligentes y útiles. Al aprovechar la capacidad de los LLMs para generar texto y la capacidad de RAG para acceder a información específica, podemos desarrollar soluciones que superan las limitaciones de los modelos tradicionales.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Comparación de Modelos Disponibles en Amazon Bedrock
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Comparación Detallada
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tipo de Modelo:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LLM (Large Language Model)&lt;/strong&gt;: Amazon Titan, Llama y Claude son modelos de lenguaje que generan texto&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modelo de difusión&lt;/strong&gt;: Stable Diffusion genera imágenes&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Fortalezas:
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modelo&lt;/th&gt;
&lt;th&gt;Fortalezas&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Amazon Titan&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Excelencia en la generación de texto y soporte multiidioma&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Llama&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tamaño compacto y eficiencia, ideal para aplicaciones con recursos limitados&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Claude&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Enfoque en la seguridad y la alineación con valores humanos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Stable Diffusion&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Generación de imágenes de alta calidad y versatilidad en estilos artísticos&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  Usos Principales:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LLMs&lt;/strong&gt;: Generación de contenido, chatbots, asistentes virtuales, traducción&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stable Diffusion&lt;/strong&gt;: Creación de arte digital, diseño gráfico, modelado 3D&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Consideraciones:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Amazon Titan&lt;/strong&gt;: Desarrollado por Amazon, lo que puede limitar su accesibilidad&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Llama&lt;/strong&gt;: Modelo de código abierto, pero requiere conocimientos técnicos para su implementación&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude&lt;/strong&gt;: Desarrollado por Anthropic, una empresa con un enfoque en la seguridad de la IA&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stable Diffusion&lt;/strong&gt;: Requiere una mayor potencia de cálculo para funcionar de manera eficiente&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ¿Cuál elegir?
&lt;/h3&gt;

&lt;p&gt;La elección del modelo dependerá de tus necesidades específicas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Generación de texto&lt;/strong&gt;: Amazon Titan, Llama o Claude son excelentes opciones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generación de imágenes&lt;/strong&gt;: Stable Diffusion es la mejor opción&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tamaño y eficiencia&lt;/strong&gt;: Llama es ideal para aplicaciones con recursos limitados&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seguridad y alineación con valores humanos&lt;/strong&gt;: Claude es una buena opción&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexibilidad y personalización&lt;/strong&gt;: Llama, al ser de código abierto, ofrece mayor flexibilidad&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Amazon Bedrock es una plataforma que te permite acceder y utilizar estos modelos de manera fácil y eficiente. Al integrar estos modelos en tus aplicaciones, puedes crear soluciones innovadoras en una amplia variedad de campos, desde la atención al cliente hasta la creación de contenido.&lt;/p&gt;
&lt;/blockquote&gt;




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

&lt;p&gt;La IA Generativa representa un cambio paradigmático en el campo de la inteligencia artificial, ofreciendo capacidades sin precedentes para crear contenido original y útil. Amazon Bedrock emerge como una plataforma fundamental que democratiza el acceso a estas tecnologías avanzadas, permitiendo a desarrolladores y empresas de todos los tamaños aprovechar el poder de los modelos fundacionales sin la necesidad de recursos computacionales masivos o experiencia especializada profunda.&lt;/p&gt;

&lt;p&gt;La combinación de LLMs, técnicas como RAG, y la variedad de modelos disponibles abre un mundo de posibilidades para la innovación en múltiples industrias, desde el servicio al cliente hasta la creación de contenido creativo y la automatización de procesos empresariales.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>learning</category>
      <category>certification</category>
    </item>
  </channel>
</rss>
