<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AWS &#8211; Cloud IO Strategy</title>
	<atom:link href="https://cloudiostrategy.com/tag/aws/feed/" rel="self" type="application/rss+xml" />
	<link>https://cloudiostrategy.com</link>
	<description></description>
	<lastBuildDate>Thu, 05 Sep 2024 18:05:03 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://cloudiostrategy.com/wp-content/uploads/2023/06/cropped-favicon-32x32.png</url>
	<title>AWS &#8211; Cloud IO Strategy</title>
	<link>https://cloudiostrategy.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Estrategias de Migración a la Nube(7Rs)</title>
		<link>https://cloudiostrategy.com/estrategias-de-migracion-a-la-nube/</link>
					<comments>https://cloudiostrategy.com/estrategias-de-migracion-a-la-nube/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Thu, 05 Sep 2024 17:13:19 +0000</pubDate>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tecnologías]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Computación en la Nube]]></category>
		<category><![CDATA[migracion]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=3319</guid>

					<description><![CDATA[Migrar a la nube es una decisión estratégica crucial para cualquier organización moderna. Para los líderes de TI, es esencial comprender las diferentes estrategias de migración a la nube y […]]]></description>
										<content:encoded><![CDATA[
<p>Migrar a la nube es una decisión estratégica crucial para cualquier organización moderna. Para los líderes de TI, es esencial comprender las diferentes estrategias de migración a la nube y cómo se alinean con los objetivos de la empresa, en este artículo vamos a revisar las 7 Estrategias de Migración a la Nube (7Rs) propuestas por AWS.</p>



<p>Ya sea simplemente mover aplicaciones existentes (migración a la nube) o rediseñar completamente tu infraestructura digital para aprovechar al máximo las capacidades de la nube (transformación en la nube), requiere de una estrategia adecuada, AWS promueve 7 estrategias de migración a la nube (las 7Rs):</p>



<ul class="wp-block-list">
<li><a href="#rehost">Rehost</a></li>



<li><a href="#replatform">Replatform</a></li>



<li><a href="#repurchase">Repurchase</a></li>



<li><a href="#refactor">Refactor / Re-architect</a></li>



<li><a href="#retire">Retire</a></li>



<li><a href="#retain">Retain</a></li>



<li><a href="#realocate">Realocate</a></li>
</ul>



<p>Este artículo te ayudará a entender cada una, cuándo utilizarlas, los pros y contras asociados, de forma que puedas tomar una decisión informada, buscando la innovación y optimización de recursos.</p>



<h2 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-e1b39c0d533d74bbbc3e6a9a890dae6f">Estrategias de Migración a la Nube (7Rs)</h2>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-04f477b912b460eb13325f9980400811" id="rehost">Rehost (Lift and Shift)</h3>



<p>El Rehost, o &#8220;lift and shift&#8221;, es una estrategia de migración a la nube que implica trasladar aplicaciones y datos a la nube con pocos o ningún cambio. Es una opción ideal para organizaciones que buscan una transición rápida, sin la necesidad de rediseñar su infraestructura actual.</p>



<div class="wp-block-columns has-border-color has-ast-global-color-6-border-color is-layout-flex wp-container-core-columns-is-layout-cb277dc2 wp-block-columns-is-layout-flex" style="border-width:1px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-290298db19f0693ffe6e994b34cb8c37">Casos de Uso</h4>



<ul class="wp-block-list">
<li><strong>Migración a la nube rápida</strong>:** Para empresas que necesitan migrar cargas de trabajo críticas a la nube de manera urgente.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Optimización de costos:</strong> Enfocado en reducir costos operativos manteniendo la estructura de las aplicaciones tal como están.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-d50fc98ff2e6aad5d39aeedca03c95e8">Pros</h4>



<ul class="wp-block-list">
<li>Implementación rápida y sencilla.</li>



<li>Menores costos iniciales.</li>



<li>Menor riesgo en la ejecución.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-9c9de52cae23b545dafa51bdf638e5d6">Cons</h4>



<ul class="wp-block-list">
<li>No optimiza completamente las aplicaciones para la nube.</li>



<li>Puede generar costos operativos más altos a largo plazo.</li>
</ul>
</div>
</div>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-18e4b9883d3ef5f39365097bf0fead6e" id="replatform">Replatform (Lift, Tinker, and Shift)</h3>



<p>Replatform es una estrategia de migración que implica hacer ligeros ajustes a la aplicación para optimizar su rendimiento en la nube. A diferencia de Rehost, esta estrategia aprovecha algunas capacidades de la nube sin realizar un rediseño completo, lo que puede llevar a una mayor eficiencia operativa.</p>



<div class="wp-block-columns has-border-color has-ast-global-color-6-border-color is-layout-flex wp-container-core-columns-is-layout-cb277dc2 wp-block-columns-is-layout-flex" style="border-width:1px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-290298db19f0693ffe6e994b34cb8c37">Casos de Uso</h4>



<ul class="wp-block-list">
<li><strong>Optimización sin rediseño completo:</strong> Empresas que buscan mejorar el rendimiento y la eficiencia de sus aplicaciones en la nube.</li>



<li><strong>Migración a la nube con mejora del rendimiento:</strong> Ideal cuando se requiere optimizar ciertas funciones para aprovechar mejor los servicios en la nube.</li>
</ul>



<p></p>



<ul class="wp-block-list">
<li></li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-d50fc98ff2e6aad5d39aeedca03c95e8">Pros</h4>



<ul class="wp-block-list">
<li>Balance entre simplicidad y optimización.</li>



<li>Mejora del rendimiento sin grandes modificaciones.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-9c9de52cae23b545dafa51bdf638e5d6">Cons</h4>



<ul class="wp-block-list">
<li>Requiere un análisis más profundo de la arquitectura existente.</li>



<li>Puede ser más costoso y complejo que Rehost.</li>
</ul>
</div>
</div>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-99c889ac2c98a9a1e223a8841d451bf1" id="repurchase">Repurchase (Drop and Shop)</h3>



<p>Repurchase implica abandonar una aplicación existente y migrar a una nueva solución SaaS en la nube. Esta estrategia es adecuada cuando una aplicación legada no justifica el esfuerzo de migración y una solución en la nube ofrece mayores beneficios.</p>



<div class="wp-block-columns has-border-color has-ast-global-color-6-border-color is-layout-flex wp-container-core-columns-is-layout-cb277dc2 wp-block-columns-is-layout-flex" style="border-width:1px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-290298db19f0693ffe6e994b34cb8c37">Casos de Uso</h4>



<ul class="wp-block-list">
<li><strong>Migración a la nube con modernización:</strong> Organizaciones que desean adoptar rápidamente nuevas tecnologías y funcionalidades.</li>



<li><strong>Renovación tecnológica:</strong> Cuando la tecnología existente ya no cumple con los requisitos del negocio.</li>
</ul>



<p></p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-d50fc98ff2e6aad5d39aeedca03c95e8">Pros</h4>



<ul class="wp-block-list">
<li>Acceso a las últimas funcionalidades y tecnologías.</li>



<li>Reducción de la carga de mantenimiento.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-9c9de52cae23b545dafa51bdf638e5d6">Cons</h4>



<ul class="wp-block-list">
<li>Puede requerir reentrenamiento del personal.</li>



<li>Dependencia del proveedor SaaS.</li>
</ul>
</div>
</div>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-628b0530c3529acc914514771ac40b71" id="refactor">Refactor / Re-architect</h3>



<p>Refactor o re-architect es una estrategia de transformación en la nube que implica rediseñar una aplicación para aprovechar completamente las capacidades de la nube, como la escalabilidad automática o el uso de microservicios. Esta estrategia se utiliza cuando el objetivo es optimizar el rendimiento y la agilidad a largo plazo.</p>



<div class="wp-block-columns has-border-color has-ast-global-color-6-border-color is-layout-flex wp-container-core-columns-is-layout-cb277dc2 wp-block-columns-is-layout-flex" style="border-width:1px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-290298db19f0693ffe6e994b34cb8c37">Casos de Uso</h4>



<ul class="wp-block-list">
<li><strong>Transformación en la nube:</strong> Organizaciones que buscan rediseñar sus aplicaciones para maximizar las ventajas de la nube, incluyendo la capacidad de escalar y mejorar la resiliencia.</li>



<li><strong>Innovación continua:</strong> Empresas que necesitan un entorno ágil y adaptable para soportar el crecimiento y la innovación.</li>
</ul>



<p></p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-d50fc98ff2e6aad5d39aeedca03c95e8">Pros</h4>



<ul class="wp-block-list">
<li>Máximo aprovechamiento de las capacidades de la nube.</li>



<li>Posibilidad de mejorar significativamente la agilidad y escalabilidad de una solución.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-9c9de52cae23b545dafa51bdf638e5d6">Cons</h4>



<ul class="wp-block-list">
<li>Alto costo inicial y tiempo de desarrollo.</li>



<li>Mayor complejidad y riesgo.</li>
</ul>
</div>
</div>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-4c601eb751118e6be251faea1353bed1" id="retire">Retire</h3>



<p>Retire implica desactivar/decomisar aplicaciones o componentes que ya no son necesarios. Esta estrategia forma parte del proceso de migración a la nube, ayudando a simplificar el entorno de TI y reducir costos.</p>



<div class="wp-block-columns has-border-color has-ast-global-color-6-border-color is-layout-flex wp-container-core-columns-is-layout-cb277dc2 wp-block-columns-is-layout-flex" style="border-width:1px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-290298db19f0693ffe6e994b34cb8c37">Casos de Uso</h4>



<ul class="wp-block-list">
<li><strong>Optimización del portafolio:</strong> Identificación y eliminación de aplicaciones que ya no aportan valor, liberando recursos y reduciendo la complejidad.</li>



<li><strong>Reducción de costos:</strong> Minimización de costos asociados a aplicaciones obsoletas.</li>
</ul>



<p></p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-d50fc98ff2e6aad5d39aeedca03c95e8">Pros</h4>



<ul class="wp-block-list">
<li>Reducción de costos y complejidad.</li>



<li>Simplificación del entorno de TI.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-9c9de52cae23b545dafa51bdf638e5d6">Cons</h4>



<ul class="wp-block-list">
<li>Requiere un análisis exhaustivo para evitar la eliminación de aplicaciones críticas.</li>



<li>Puede haber resistencia al cambio dentro de la organización.</li>
</ul>
</div>
</div>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-f9b9f438461f2a1481b98e32240ae741" id="retain">Retain (Retener)</h3>



<p>Retain es la decisión de mantener aplicaciones o componentes en su estado actual, en lugar de migrarlos a la nube. Esta estrategia de migración se utiliza cuando la migración no es viable o necesaria en el corto plazo, permitiendo una transformación en la nube más gradual.</p>



<div class="wp-block-columns has-border-color has-ast-global-color-6-border-color is-layout-flex wp-container-core-columns-is-layout-cb277dc2 wp-block-columns-is-layout-flex" style="border-width:1px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-290298db19f0693ffe6e994b34cb8c37">Casos de Uso</h4>



<ul class="wp-block-list">
<li><strong>Retención de aplicaciones críticas:</strong> Aplicaciones que deben permanecer on-premise por requisitos de cumplimiento o técnicos.</li>



<li><strong>Planificación gradual:</strong> Empresas que prefieren una migración menos disruptiva, con una transición gradual a la nube.</li>
</ul>



<p></p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-d50fc98ff2e6aad5d39aeedca03c95e8">Pros</h4>



<ul class="wp-block-list">
<li>Permite una migración menos disruptiva.</li>



<li>Minimiza el riesgo en aplicaciones críticas.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-9c9de52cae23b545dafa51bdf638e5d6">Cons</h4>



<ul class="wp-block-list">
<li>Se pospone la modernización.</li>



<li>Puede generar costos operativos elevados a largo plazo.</li>
</ul>
</div>
</div>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-183b8b4f9768cc37ea0f737588f9d398" id="realocate">Relocate</h3>



<p>Relocate es similar al Rehost, pero se enfoca en mover una infraestructura completa, como máquinas virtuales VMware, directamente a la nube de AWS. Esta estrategia de migración a la nube es útil para organizaciones que buscan trasladar sus centros de datos sin realizar cambios significativos.</p>



<div class="wp-block-columns has-border-color has-ast-global-color-6-border-color is-layout-flex wp-container-core-columns-is-layout-cb277dc2 wp-block-columns-is-layout-flex" style="border-width:1px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-290298db19f0693ffe6e994b34cb8c37">Casos de Uso</h4>



<ul class="wp-block-list">
<li><strong>Migración a la nube de centros de datos:</strong> Empresas que necesitan mover rápidamente infraestructuras completas a la nube sin rediseñarlas.</li>



<li><strong>Continuidad y rapidez:</strong> Proyectos donde la continuidad operativa y la velocidad de ejecución son clave.</li>
</ul>



<p></p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.34%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-d50fc98ff2e6aad5d39aeedca03c95e8">Pros</h4>



<ul class="wp-block-list">
<li>Rápido y menos disruptivo.</li>



<li>Permite aprovechar la infraestructura existente.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<h4 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-9c9de52cae23b545dafa51bdf638e5d6">Cons</h4>



<ul class="wp-block-list">
<li>No optimiza las aplicaciones para la nube.</li>



<li>Puede haber costos ocultos en la operación a largo plazo.</li>
</ul>
</div>
</div>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-31ae66bd6ae9d43b3eb7e93af447a926">Planificación y Evaluación de la Migración</h3>



<p>Antes de decidir cuál estrategia de migración es la más adecuada para tu organización, es crucial realizar un análisis exhaustivo del portafolio de aplicaciones.<br>AWS proporciona una guía detallada sobre cómo evaluar y planificar la migración de tu portafolio de aplicaciones existentes, lo que es fundamental para asegurar una migración a la nube exitosa y efectiva. Este análisis te permitirá identificar qué aplicaciones deben ser rehosteadas, replatformadas, o incluso retiradas, optimizando así la estrategia de migración de tu empresa.<br>Para más detalles sobre cómo realizar esta evaluación, consulta <a href="https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/portfolio-analysis-migration-planning.html" rel="nofollow noopener" target="_blank">esta guía de AWS sobre planificación de la migración</a>.</p>



<h3 class="wp-block-heading has-ast-global-color-8-color has-text-color has-link-color wp-elements-0ed2fb580999f7f52e37f0f87cfa00fe">Pensamiento finales</h3>



<p>Entender estas estrategias de migración es clave para desarrollar una estrategia que se alinee con los objetivos de tu empresa. Ya sea que busques una simple migración a la nube o una transformación completa, combinar diferentes estrategias puede ayudarte a maximizar los beneficios y minimizar los riesgos.</p>



<p><strong>Recomendaciones:</strong></p>



<ol class="wp-block-list">
<li><strong>Evaluación Inicial:</strong> Realiza una auditoría detallada de tus aplicaciones y recursos antes de elegir una estrategia de migración.</li>



<li><strong>Combinación de Estrategias:</strong> Considera usar una combinación de &#8220;Rehost&#8221; y &#8220;Refactor&#8221; para balancear entre rapidez y optimización.</li>



<li><strong>Evolución Continua:</strong> Piensa en &#8220;Replatform&#8221; y &#8220;Refactor&#8221; como parte de un proceso evolutivo en la nube, donde inicialmente puedes optar por &#8220;Rehost&#8221; y luego optimizar progresivamente.</li>
</ol>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/estrategias-de-migracion-a-la-nube/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Despliegue de una Aplicación Java con Spring Boot y Docker en Elastic Beanstalk</title>
		<link>https://cloudiostrategy.com/despliegue-de-una-aplicacion-java-con-spring-boot-y-docker-en-elastic-beanstalk/</link>
					<comments>https://cloudiostrategy.com/despliegue-de-una-aplicacion-java-con-spring-boot-y-docker-en-elastic-beanstalk/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Thu, 01 Aug 2024 21:41:02 +0000</pubDate>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[AWS Elastic Beanstalk]]></category>
		<category><![CDATA[Contenedores]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring Boot]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=3280</guid>

					<description><![CDATA[En este tutorial vamos a ver el despliegue de una Aplicación Java con Spring Boot y Docker en Elastic Beanstalk de AWS, paso a paso y estudiando los temas principales […]]]></description>
										<content:encoded><![CDATA[
<p>En este tutorial vamos a ver el despliegue de una Aplicación Java con Spring Boot y Docker en Elastic Beanstalk de AWS, paso a paso y estudiando los temas principales de este servicio.</p>



<h2 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-0f0542c934550aea46e386dd01df8722">¿Qué es Elastic Beanstalk?</h2>



<p>Elastic Beanstalk es un servicio de AWS que simplifica el despliegue de aplicaciones en la nube. ¿Cómo lo hace? Este servicio tiene más de 100 servicios asociados y es compatible con aplicaciones desarrolladas en los lenguajes Go, Java, .NET, Node.js, PHP, Python y Ruby, y los orquesta creando una infraestructura basada en el código desplegado de la aplicación y archivos de configuración adicionados en el despliegue.</p>



<p>El desarrollador no tiene que aprovisionar nada.. o casi nada manualmente.</p>



<h2 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-56d65a66c4ef39f428b38e4a10c0bd6d">¿Porqué este tutorial?</h2>



<p>Actualmente, existen muchos ejemplos de cómo desplegar aplicaciones en Elastic Beanstalk, y los puedes encontrar <a href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/tutorials.html" rel="nofollow noopener" target="_blank">aquí</a>. Sin embargo, ninguno de ellos aborda específicamente el despliegue de una aplicación Java con Spring Boot y Docker en Elastic Beanstalk. Este artículo asume que tienes conocimientos básicos de este servicio, por lo que si aún no estás familiarizado con el mismo, revisa <a href="https://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/Welcome.html" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<h2 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-d94aa0534dd43a5a5312895e4b4ab341">Contenido</h2>



<p>En este tutorial, vamos a ver cómo desplegar una aplicación de ejemplo desarrollada con Java, utilizando el framework Spring Boot y diseñada para ser desplegada como contenedor Docker. </p>



<p>Además, realizaremos el proceso manualmente (por línea de comandos) y no a través de la consola web de AWS, ya que interactuar con la consola web cada vez que queremos hacer cambios en una aplicación y subirla a la nube, no es automatizable y puede ser largo y complejo.</p>



<p>Por lo tanto, los pasos a seguir son:</p>



<ol class="wp-block-list">
<li>Descargar la aplicación y probarla localmente.</li>



<li>Instalar y configurar el cliente Elastic Beanstalk CLI.</li>



<li>Desplegar una primera versión en desarrollo (dev).</li>



<li>Desplegar una versión en QA (próximamente).</li>
</ol>



<h3 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-ffa1d60609aa3c83d13fa5eca73cd5ae">Descargar la aplicación y probarla localmente</h3>



<p>La aplicación de ejemplo es un simple CRUD, que puedes descargar <a href="https://github.com/pazfernando/crud-spring-boot-example" rel="nofollow noopener" target="_blank">aquí</a> con el comando:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-353bd963de96f8af2187cff817f5282a"><code>git clone https://github.com/pazfernando/crud-spring-boot-example.git</code></pre>



<p>Ve a la carpeta donde se descargó y compílala con (requieres tener instalado Java 17+):</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-ad79f40a87cddd1efc1bbba320eb14cd"><code>cd crud-spring-boot-example
./mvnw clean install</code></pre>



<p>Ejecuta la aplicación con:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a93961128fa231458b89989426196a8a"><code>java -jar target/crud-0.0.1-SNAPSHOT.war</code></pre>



<p>Prueba la aplicación en tu navegador con: </p>



<p><a href="http://localhost:8080/" rel="nofollow noopener" target="_blank">http://localhost:8080/</a></p>



<h3 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-e37d6d9947b20bd54fafd16ebbe966fb">Instalar y configurar el cliente Elastic Beanstalk CLI</h3>



<p><strong>IMPORTANTE:</strong> El procedimiento a continuación es para ambiente Linux, ya que tiene mejor soporte para herramientas y frameworks de desarrollo en general. Si no tienes Linux o Mac, instala WSL en Windows. Mira las instrucciones <a href="https://learn.microsoft.com/es-mx/windows/wsl/install" rel="nofollow noopener" target="_blank">aquí</a>. Por defecto tendrás un Ubuntu instalado en Windows y podrás usarlo ejecutando en PowerShell lo siguiente:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-6b320e48590f1b78928a7d7b9554446e"><code>wsl</code></pre>



<p>Listo, asumimos desde aquí que tienes Linux, Mac o WSL en Windows.</p>



<h4 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-53d696e7e44e8b361e0a0516a219d238">Instalación de pyenv</h4>



<p>Empezamos instalando un manejador de versiones de Python llamado pyenv. Encuentra cómo <a href="https://github.com/pyenv/pyenv#basic-github-checkout" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<h5 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-090330abbf7897197fb9f1d6cbc62abd">Post instalación de pyenv</h5>



<p>Añade o verifica estas líneas en .bashrc de $HOME:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-42f00763f2ea9271df904cf4cc0b0b62"><code>export PYENV_ROOT="$HOME/.pyenv"
&#091;&#091; -d $PYENV_ROOT/bin ]] &amp;&amp; export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"</code></pre>



<p>Actualiza tu .bashrc con:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-ba2a4e69ad9708425f853d7191805498"><code>source ~/.bashrc</code></pre>



<h4 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-5d50a13f5f2afa2d41ad1490adae17be">Instala la última versión estable de Python</h4>



<p>Encuentra la documentación de versiones estables en <a href="https://devguide.python.org/versions/" rel="nofollow noopener" target="_blank">https://devguide.python.org/versions/</a>. La instalación es con el comando:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-3cf0fa226a6542dc0853fc0774bbb543"><code>pyenv install 3.11</code></pre>



<p><strong>IMPORTANTE:</strong> A la fecha de creación de este artículo, puedes usar Python 3.11 máximo.</p>



<p>Configura esta versión como la de defecto en tu ambiente:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-a5a25d87cf9490cf7ebc3aa4e3f21047"><code>pyenv global 3.11</code></pre>



<h4 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-8441201c381c559f507acaff115d6b64">Instala virtualenv para aislar tu ambiente de Python</h4>



<p>Encuentra cómo hacerlo <a href="https://virtualenv.pypa.io/en/latest/installation.html#via-pip" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<h4 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-61c50b8b91a672872e5fce27a235f68e">Instala Elastic Beanstalk CLI</h4>



<p>Encuentra cómo hacerlo <a href="https://github.com/aws/aws-elastic-beanstalk-cli-setup" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<p>Actualiza tu <code>.bash_profile</code> para incluir los ejecutables de Elastic Beanstalk CLI en tu PATH:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-aedd48dc5e16de73b389832b7b4d94b0"><code>echo 'export PATH="/home/pazfernando/.ebcli-virtual-env/executables:$PATH"' &gt;&gt; ~/.bash_profile</code></pre>



<p>Refresca tus archivos de ambiente en tu <code>$HOME</code>:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-5d6b232e7f70fec71c70ebb19b60da44"><code>source ~/.bash_profile
source ~/.profile</code></pre>



<h3 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-6efb651eab5873eab9d401687ba782d3">Desplegar una primera versión en desarrollo (dev)</h3>



<p>Ve a la carpeta del proyecto (donde se descargó).</p>



<p>Configura el Elastic Beanstalk CLI, mira cómo hacerlo <a href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<h4 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-e8418abcb52c17b65c6148f03dd995e4">Aspectos importantes previos</h4>



<p>Antes de desplegar la aplicación, hay ciertos puntos esenciales a entender acerca de Elastic Beanstalk, ya que este conocimiento nos dará el entendimiento de por qué se despliega una aplicación de una forma u otra.</p>



<p><strong>Ignorando archivos con .ebignore</strong></p>



<p>Cuando desplegamos aplicaciones con Elastic Beanstalk CLI, debemos saber qué archivos son ejecutables, cuáles son de configuración, cuáles son de apoyo, etc. Esto se debe a que CLI empaqueta dichos archivos en un archivo <code>.zip</code> para luego extraerlo y desplegarlo en la instancia o instancias de la infraestructura que sirve la aplicación.</p>



<p>Por defecto, Elastic Beanstalk CLI busca el archivo <code>.gitignore</code> para saber, desde la carpeta donde se están ejecutando los comandos, qué archivos debe excluir de este archivo <code>.zip</code>. Pero como sabemos, para los proyectos Java, el archivo <code>.gitignore</code> excluye el directorio <code>target/</code>, el cual es esencial pues tiene el artefacto compilado del proyecto, y en su lugar empaqueta <code>src/</code> y otros archivos que son fuentes de la aplicación, y que en este caso no aplican.</p>



<p>Esta estrategia funciona muy bien en proyectos tipo Python o PHP donde no hay compilados, pero no en el caso de Java. Aquí aparece otro archivo, <code><strong>.ebignore</strong></code>, que es otro recurso que busca por defecto Elastic Beanstalk CLI ante la ausencia de un archivo <code>.gitignore</code> o incluso lo precede si existiera. Por esta razón, el archivo <code>.ebignore</code> en este tipo de proyectos es tan importante, y por eso nosotros tenemos en los fuentes este contenido:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-5dc9257befada7b79cb42ca738f8e645"><code>HELP.md
src/
*
!Dockerfile
!target/
!.ebextensions</code></pre>



<p>Esto asegura y le dice a Elastic Beanstalk CLI qué ignorar y por ende qué sí empaquetar. En nuestro caso, es importante <code>Dockerfile</code>, <code>target/</code> y <code>.ebextensions</code>.</p>



<p><strong>Configuración avanzada con .ebextensions</strong></p>



<p>Desplegar una aplicación con Elastic Beanstalk no es siempre, o nunca lo es, algo tan simple como desplegar un artefacto. Si bien la infraestructura se aprovisiona automáticamente, la aplicación suele requerir de variables de ambiente, datos de conexión con servicios externos, capacidades mínimas, etc.</p>



<p>¿Cómo especificamos esto sin tocar el código? La respuesta es con archivos de configuración o archivos <code><strong>.ebextensions</strong></code>.</p>



<p>En nuestro caso, tenemos el archivo <code>env-vars.config</code> donde configuramos ciertas variables de ambiente para que funcione la aplicación:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-7ea978c726f039fde67d3ddaf22e9b62"><code>option_settings:
  aws:elasticbeanstalk:application:environment:
    SPRING_PROFILES_ACTIVE: dev
    CRUD_DB_URL: 'jdbc:postgresql://${RDS_ENDPOINT}/crud_spring_boot_example'
    CRUD_DB_USERNAME: ebroot
    CRUD_DB_PASSWORD: clave</code></pre>



<p>Algo a destacar es <code>SPRING_PROFILES_ACTIVE</code> que determina cómo va a funcionar la aplicación Java + Spring Boot. En la vida real, tenemos cientos de configuraciones posibles que podemos hacer a través de estos archivos. Puedes aprender más <a href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<p>La documentación es un poco confusa, por eso te dejo dos enlaces más de los tipos de opciones: <a href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html" rel="nofollow noopener" target="_blank">comando opciones</a> y de las opciones a detalle <a href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<p><strong>Trabajando con aplicaciones del tipo Docker</strong></p>



<p>Para empezar, necesitas un <code>Dockerfile</code> que en nuestro caso contiene:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-ce5121ce18b95d70226e37db736c01d1"><code>FROM amazoncorretto:17.0.11-alpine
ARG JAR_FILE=target/*.war
COPY ${JAR_FILE} app.jar
EXPOSE 8080
CMD &#091;"java", "-jar", "/app.jar"]</code></pre>



<p>Muy simple y claro, y que será incluido en el archivo <code>.zip</code> gracias a nuestro archivo <code>.ebignore</code>.</p>



<p>No tenemos en este caso Docker Compose y lo haremos a partir de ese archivo. Sin embargo, si quieres saber más de las opciones de despliegue, puedes mirarlo <a href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/docker.html" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<p><strong>IMPORTANTE:</strong> Hay otra forma de hacerlo en un clúster de Amazon ECS (Elastic Container Service), que está fuera de esta explicación pero que puedes consultarla <a href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecs.html" rel="nofollow noopener" target="_blank">aquí</a>.</p>



<h4 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-91d0f00e8e0f879e5b9e78a281651244">Despliega la aplicación</h4>



<p>Excelente, ahora para desplegar vamos a ejecutar el comando:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-35e5416c17c138e1809f5eb489c403ac"><code>eb create --single</code></pre>



<p>El <code>--single</code> nos ayuda a desplegar una infraestructura simple, sin redundancia y alta disponibilidad, y que aplica en este caso del tutorial.</p>



<p>Verás algo como:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-7460199a80ee33a00af60e8f96d6207b"><code>Enter Environment Name
(default is crud-spring-boot-example-dev): 
Enter DNS CNAME prefix
(default is crud-spring-boot-example-dev): 

Would you like to enable Spot Fleet requests for this environment? (y/N): 
Creating application version archive "app-0048-240801_111838855018".
Uploading: &#091;##################################################] 100% Done...
...
2024-08-01 16:21:52    INFO    Application available at crud-spring-boot-example-dev.us-east-1.elasticbeanstalk.com.
2024-08-01 16:21:54    INFO    Successfully launched environment: crud-spring-boot-example-dev</code></pre>



<p><strong>IMPORTANTE</strong>: Si no eliges <code>--single</code>, adicionalmente te preguntarán alguna información necesaria para el despliegue, sigue las siguientes recomendaciones:</p>



<ul class="wp-block-list">
<li>Usa Application Load Balancer ALB (por defecto)</li>



<li>Di que no a Spot Fleet (por defecto)</li>



<li>Todo lo demás que no sepas deja por defecto.</li>
</ul>



<p>Prueba tu aplicación visitando precisamente el url de la salida:</p>



<p><a href="http://crud-spring-boot-example-dev.us-east-1.elasticbeanstalk.com/" target="_blank" rel="noreferrer noopener nofollow">http://crud-spring-boot-example-dev.us-east-1.elasticbeanstalk.com/</a></p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="472" src="https://cloudiostrategy.com/wp-content/uploads/2024/08/Captura-de-pantalla-2024-08-01-142824-1024x472.png" alt="" class="wp-image-3293" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/08/Captura-de-pantalla-2024-08-01-142824-1024x472.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/08/Captura-de-pantalla-2024-08-01-142824-300x138.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/08/Captura-de-pantalla-2024-08-01-142824-768x354.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/08/Captura-de-pantalla-2024-08-01-142824.png 1068w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Finaliza el despliegue <strong>IMPORTANTE</strong> <strong>IMPORTANTE</strong> <strong>IMPORTANTE</strong></p>



<p>Si fallas este paso tu <strong><span style="text-decoration: underline;">factura puede salir muy alta</span></strong>, especialmente si no usaste <code>--single</code>, así que ejecuta este comando para finalizar el tutorial:</p>



<pre class="wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-b87a52ee7dc1699ac6540e507f44bd0c"><code>eb terminate</code></pre>



<h2 class="wp-block-heading has-black-color has-text-color has-link-color wp-elements-ecc7229c9a6201903bcbb934ebce2fdb">Pensamientos finales</h2>



<p>Desplegar una aplicación Java con Spring Boot en Elastic Beanstalk de AWS utilizando Docker es algo más complejo, pero siguiendo estos pasos detallados, el proceso se vuelve manejable y entendible, por lo que espero que sea de valor para ustedes.</p>



<p>Elastic Beanstalk de AWS simplifica enormemente el proceso de despliegue y gestión de aplicaciones, permitiendo enfocarte en el desarrollo sin preocuparte por la infraestructura. Utilizar Docker agrega una capa de consistencia y portabilidad, asegurando que tu aplicación funcione de la misma manera en cualquier entorno.</p>



<p>Es vital seguir entender prácticas como el uso adecuado de archivos <code>.ebignore</code> y <code>.ebextensions</code> para asegurar que solo los archivos necesarios se incluyan en el despliegue y que la configuración de tu aplicación sea flexible y segura. Además, siempre finaliza los entornos no utilizados para evitar costos innecesarios.</p>



<p>Usar perfiles de Maven es un poco más complicado, pero la idea es trabajar con <code>.ebextension</code> para configurar los valores requeridos, si hay recursos relacionados como bases de datos servicios colas y demás, la recomendación es que se creen fuera de el scope de la aplicación.</p>



<p>La implementación de una aplicación en la nube es un proceso iterativo. A medida que te familiarices con Elastic Beanstalk y Docker, encontrarás formas de optimizar y mejorar tu flujo de trabajo. Comparte tus experiencias y cualquier obstáculo que encuentres, y sigue aprendiendo de la documentación y la comunidad de AWS.</p>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/despliegue-de-una-aplicacion-java-con-spring-boot-y-docker-en-elastic-beanstalk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Endpoint Proxy con API Gateway</title>
		<link>https://cloudiostrategy.com/endpoint-proxy-con-api-gateway/</link>
					<comments>https://cloudiostrategy.com/endpoint-proxy-con-api-gateway/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Mon, 22 Jan 2024 14:47:00 +0000</pubDate>
				<category><![CDATA[Tecnologías]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Amazon API Gateway]]></category>
		<category><![CDATA[API RESTful]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Endpoint Proxy]]></category>
		<category><![CDATA[serverless]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=3126</guid>

					<description><![CDATA[Muchas veces nos encontramos en la necesidad de exponer un API de negocio en la Nube, y mientras existen muchas formas que requieren de más o menos esfuerzo, en una […]]]></description>
										<content:encoded><![CDATA[
<p>Muchas veces nos encontramos en la necesidad de exponer un API de negocio en la Nube, y mientras existen muchas formas que requieren de más o menos esfuerzo, en una primera etapa de migración (Rehost) una estrategia común es implementar un Endpoint Proxy con API Gateway.</p>



<p>Esta estrategia, Endpoint Proxy en API Gateway, es muy adecuada especialmente porque tenemos los siguientes beneficios:con </p>



<ul class="wp-block-list">
<li>Implementar el escenario Rehost (lift and shift) para una migración.</li>



<li>No realizar ninguna modificación a la implementación del API.</li>



<li>Mantener el servicio web en una red privada y sin acceso a internet.</li>



<li>Acceder a mejoras de seguridad del API de negocio y poder monitorearlo, dado que vamos a usar API Gateway.</li>



<li>Posibilita el versionamiento del API de negocio con menor esfuerzo.</li>



<li>Integración con el escudo de seguridad AWS WAF.</li>
</ul>



<h2 class="wp-block-heading">Tutorial Endpoint Proxy con API Gateway</h2>



<p>Se piensa en implementar con Amazon API Gateway un Endpoint Proxy de tipo HTTP API, que puede brindar la solución a lo requerido.</p>



<h3 class="wp-block-heading">Escenario API Público</h3>



<p>Para este escenario vamos a utilizar el API ejemplo de Swagger https://petstore.swagger.io/ como referencia, que nos ayuda a probar operaciones RESTful comunes.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29df6ff&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29df6ff" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" width="1024" height="551" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094910-1024x551.png" alt="" class="wp-image-3128" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094910-1024x551.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094910-300x161.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094910-768x413.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094910-1536x826.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094910.png 1839w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Probamos la operación https://petstore.swagger.io/#/pet/findPetsByStatus para mirar los datos disponibles.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure class="wp-block-image size-full"><img decoding="async" width="811" height="736" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094954-1.png" alt="" class="wp-image-3130" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094954-1.png 811w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094954-1-300x272.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-094954-1-768x697.png 768w" sizes="(max-width: 811px) 100vw, 811px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29e152c&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29e152c" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="332" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095127-1024x332.png" alt="" class="wp-image-3131" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095127-1024x332.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095127-300x97.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095127-768x249.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095127-1536x497.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095127.png 1773w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29e20d2&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29e20d2" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="629" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095218-1024x629.png" alt="" class="wp-image-3132" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095218-1024x629.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095218-300x184.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095218-768x472.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095218-1536x944.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-095218.png 1771w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Ok, el API está funcionando correctamente.</p>



<p>Definimos una arquitectura Cloud para este efecto en AWS.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="408" height="144" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/proxy-restful-with-apigateway-API-Public.webp" alt="" class="wp-image-3134" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/proxy-restful-with-apigateway-API-Public.webp 408w, https://cloudiostrategy.com/wp-content/uploads/2024/01/proxy-restful-with-apigateway-API-Public-300x106.webp 300w" sizes="(max-width: 408px) 100vw, 408px" /></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Creamos el API Gateway HTTP con el nombre proxy-swagger-api.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29e283a&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29e283a" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="858" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111409-1024x858.png" alt="" class="wp-image-3135" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111409-1024x858.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111409-300x251.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111409-768x644.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111409.png 1100w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29e2dda&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29e2dda" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="654" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111518.png" alt="" class="wp-image-3136" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111518.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111518-300x192.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111518-768x491.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:0;padding-left:0">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29e33db&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29e33db" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="975" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111644-1024x975.png" alt="" class="wp-image-3137" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111644-1024x975.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111644-300x286.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111644-768x732.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-111644.png 1034w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29e42bc&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29e42bc" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="309" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113156-1024x309.png" alt="" class="wp-image-3138" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113156-1024x309.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113156-300x91.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113156-768x232.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113156.png 1522w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Creamos la ruta $default.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29e492c&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29e492c" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="275" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113325-1024x275.png" alt="" class="wp-image-3141" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113325-1024x275.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113325-300x81.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113325-768x206.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113325-1536x413.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113325.png 1869w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29f2b77&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29f2b77" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="299" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113415-1024x299.png" alt="" class="wp-image-3142" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113415-1024x299.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113415-300x88.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113415-768x225.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113415-1536x449.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113415.png 1867w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29f324e&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29f324e" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="317" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113525-1-1024x317.png" alt="" class="wp-image-3146" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113525-1-1024x317.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113525-1-300x93.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113525-1-768x238.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113525-1-1536x475.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113525-1.png 1869w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La ruta $default actúa como un &#8220;catch-all&#8221; es decir gestiona cualquier petición que no coincida con otras rutas definidas.  Puedes saber más <a href="http://$default route that acts as a catch-all for requests that don’t match any other routes" target="_blank" rel="noreferrer noopener nofollow">aquí</a>.</p>



<p>Creamos la integración.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29f3959&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29f3959" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="331" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113708-1-1024x331.png" alt="" class="wp-image-3147" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113708-1-1024x331.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113708-1-300x97.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113708-1-768x248.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113708-1-1536x497.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113708-1.png 1871w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b29f3f66&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b29f3f66" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="676" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113939-1-1024x676.png" alt="" class="wp-image-3148" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113939-1-1024x676.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113939-1-300x198.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113939-1-768x507.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-113939-1.png 1518w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a002d4&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a002d4" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="646" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-114014-1024x646.png" alt="" class="wp-image-3149" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-114014-1024x646.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-114014-300x189.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-114014-768x485.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-114014.png 1494w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Probamos el API RESTful de la misma forma que lo hicimos al inicio. </p>



<p>Debemos cambiar el Endpoint a el nuevo del API Gateway: https://gl1p0rt1gc.execute-api.us-east-2.amazonaws.com/ (reemplaza para tu caso con el apropiado).</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a012ab&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a012ab" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="389" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-184121-1024x389.png" alt="" class="wp-image-3211" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-184121-1024x389.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-184121-300x114.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-184121-768x292.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-184121-1536x584.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-184121.png 1839w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p>Esta vez la prueba la vamos ha hacer desde <a href="https://www.postman.com/downloads/" data-type="link" data-id="https://www.postman.com/downloads/" target="_blank" rel="noreferrer noopener nofollow">Postman</a>.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a02b8b&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a02b8b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="780" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115233-1024x780.png" alt="" class="wp-image-3151" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115233-1024x780.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115233-300x229.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115233-768x585.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115233.png 1194w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a03132&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a03132" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="826" height="329" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115301.png" alt="" class="wp-image-3152" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115301.png 826w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115301-300x119.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115301-768x306.png 768w" sizes="(max-width: 826px) 100vw, 826px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a036f8&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a036f8" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="433" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115435-1024x433.png" alt="" class="wp-image-3153" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115435-1024x433.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115435-300x127.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115435-768x325.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115435.png 1513w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a03c44&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a03c44" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="566" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115514-1024x566.png" alt="" class="wp-image-3154" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115514-1024x566.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115514-300x166.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115514-768x425.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115514.png 1458w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-container-core-column-is-layout-7c6f89b2 wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a056d7&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a056d7" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="371" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115622-1024x371.png" alt="" class="wp-image-3155" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115622-1024x371.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115622-300x109.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115622-768x278.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115622-1536x556.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115622.png 1644w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a05c21&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a05c21" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="428" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115735-1024x428.png" alt="" class="wp-image-3156" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115735-1024x428.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115735-300x125.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115735-768x321.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115735-1536x642.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-115735.png 1624w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-container-core-column-is-layout-85e0d46d wp-block-column-is-layout-flow" style="padding-top:0;padding-right:var(--wp--preset--spacing--20);padding-bottom:0;padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a061a4&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a061a4" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="661" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-120031-1024x661.png" alt="" class="wp-image-3157" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-120031-1024x661.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-120031-300x194.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-120031-768x496.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-120031-1536x992.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-2024-01-18-120031.png 1859w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>¡Excelente! Funciona igual y como un Endpoint Proxy con las ventajas y funcionalidades que ofrece API Gateway.</p>



<h3 class="wp-block-heading">Escenario API Privado</h3>



<p>¿En la vida real como sería un ejemplo?</p>



<p>Vamos a ver una arquitectura donde este API es una implementación privada que esta en una instancia EC2 en una subred privada de una VPC de la empresa. Por tanto el único que permite acceso y controla los flujos es el API Gateway.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a06926&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a06926" class="wp-block-image aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="614" height="411" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/proxy-restful-with-apigateway-API-Private.webp" alt="Endpoint Proxy con API Gateway" class="wp-image-3219" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/proxy-restful-with-apigateway-API-Private.webp 614w, https://cloudiostrategy.com/wp-content/uploads/2024/01/proxy-restful-with-apigateway-API-Private-300x201.webp 300w" sizes="(max-width: 614px) 100vw, 614px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para este escenario vamos a usar la implementación de un <a href="https://github.com/pazfernando/crud-spring-boot-example" target="_blank" rel="noreferrer noopener nofollow">CRUD API RESTful construído con Spring de Código Libre / Opensource en GitHub</a>.</p>



<p>Descargamos el proyecto en la instancia EC2 en la red privada, lo compilamos y corremos de acuerdo a las instrucciones del archivo README.mb en el código .fuente.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a07f4d&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a07f4d" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="953" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/image-1024x953.png" alt="" class="wp-image-3162" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/image-1024x953.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/image-300x279.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/image-768x715.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/image.png 1154w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Seguido a esto hacemos una prueba.  En este caso nos ayudamos de AWS CloudShell.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a08617&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a08617" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="938" height="903" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-082722-1.png" alt="" class="wp-image-3165" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-082722-1.png 938w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-082722-1-300x289.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-082722-1-768x739.png 768w" sizes="(max-width: 938px) 100vw, 938px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Son dos comandos curl, que insertan un registro visita y luego recuperan todas los registros visitas.</p>



<p>Cabe mencionar que antes debemos conectarnos a esa máquina con los protocoles estándar de SSH + Server Key, y, primero pasando por un Bastion Host&#8230; ya se mucha información pero ese es el camino dado que el servidor EC2 esta en una subred privada.</p>



<p>Creamos un Endpoint Proxy de tipo HTTP API, igual que en primer escenario.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a08cf6&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a08cf6" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="482" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084223-1024x482.png" alt="" class="wp-image-3166" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084223-1024x482.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084223-300x141.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084223-768x361.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084223.png 1031w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a17ded&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a17ded" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1020" height="973" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084352.png" alt="" class="wp-image-3167" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084352.png 1020w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084352-300x286.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084352-768x733.png 768w" sizes="(max-width: 1020px) 100vw, 1020px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Creamos una Route (ruta) proxy $default.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a18d07&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a18d07" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="351" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084548-1024x351.png" alt="" class="wp-image-3168" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084548-1024x351.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084548-300x103.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084548-768x263.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084548.png 1519w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1930b&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1930b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="449" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084650-1024x449.png" alt="" class="wp-image-3169" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084650-1024x449.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084650-300x131.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084650-768x337.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084650.png 1515w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1ae94&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1ae94" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="378" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084717-1024x378.png" alt="" class="wp-image-3170" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084717-1024x378.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084717-300x111.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084717-768x284.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084717.png 1470w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para poder direccionar el tráfico a un recurso en una red privada, vamos a usar un Aplication Load Balancer (ALB), el mismo que va incluir en su Target Group a la instancia EC2 que provee el API privado.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1b613&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1b613" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="314" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084904-1024x314.png" alt="" class="wp-image-3171" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084904-1024x314.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084904-300x92.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084904-768x236.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084904-1536x471.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084904.png 1549w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1bd8b&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1bd8b" class="wp-block-image size-medium wp-lightbox-container"><img loading="lazy" decoding="async" width="104" height="300" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084942-104x300.png" alt="" class="wp-image-3172" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084942-104x300.png 104w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-084942.png 332w" sizes="(max-width: 104px) 100vw, 104px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1c631&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1c631" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="706" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085310-1024x706.png" alt="" class="wp-image-3173" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085310-1024x706.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085310-300x207.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085310-768x530.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085310.png 1383w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1cbb2&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1cbb2" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="647" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085537-1024x647.png" alt="" class="wp-image-3174" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085537-1024x647.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085537-300x189.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085537-768x485.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-085537.png 1349w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1dfad&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1dfad" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="502" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090001-1024x502.png" alt="" class="wp-image-3175" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090001-1024x502.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090001-300x147.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090001-768x376.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090001.png 1351w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>El ALB debe ser de tipo &#8220;internal&#8221; es decir solo se puede usar dentro de la VPC (no desde Internet).</p>



<p>Evidentemente necesitas tener un Target Group que contenga el servidor EC2 privado donde esta el API al cual el ALB va a dirigir las peticiones.  Por esto en medio de la creación del ALB tendrás que crear este Target Group.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1e8a9&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1e8a9" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="393" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090023-1024x393.png" alt="" class="wp-image-3179" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090023-1024x393.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090023-300x115.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090023-768x295.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090023.png 1480w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1ef37&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1ef37" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="998" height="981" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091818.png" alt="" class="wp-image-3182" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091818.png 998w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091818-300x295.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091818-768x755.png 768w" sizes="(max-width: 998px) 100vw, 998px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a1fe77&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a1fe77" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="319" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115316-1-1024x319.png" alt="" class="wp-image-3184" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115316-1-1024x319.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115316-1-300x93.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115316-1-768x239.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115316-1.png 1388w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a20e22&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a20e22" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="349" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-120315-1024x349.png" alt="" class="wp-image-3188" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-120315-1024x349.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-120315-300x102.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-120315-768x262.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-120315.png 1395w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a21464&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a21464" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="496" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115632-1024x496.png" alt="" class="wp-image-3186" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115632-1024x496.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115632-300x145.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115632-768x372.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115632.png 1501w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a2f66b&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a2f66b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="268" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115649-1024x268.png" alt="" class="wp-image-3187" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115649-1024x268.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115649-300x79.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115649-768x201.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-115649.png 1484w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Debes asegurarte que el grupo de seguridad del ALB permite el tráfico al puerto donde esta el listener.</p>



<p>Continúa con la creación del ALB.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a3005d&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a3005d" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="496" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090936-1024x496.png" alt="" class="wp-image-3189" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090936-1024x496.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090936-300x145.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090936-768x372.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-090936.png 1351w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a306c7&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a306c7" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="333" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091000-1024x333.png" alt="" class="wp-image-3190" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091000-1024x333.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091000-300x98.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091000-768x250.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091000.png 1384w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a30bb6&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a30bb6" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="225" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091511-1024x225.png" alt="" class="wp-image-3191" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091511-1024x225.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091511-300x66.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091511-768x169.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091511-1536x337.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-091511.png 1799w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Bien, vamos a continuar con la creación de la integración de nuestro API proxy-api-crud, para esto vamos al servicio API Gateway para iniciar.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-f1061711 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="331" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121935-1024x331.png" alt="" class="wp-image-3194" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121935-1024x331.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121935-300x97.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121935-768x248.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121935.png 1521w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="352" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122013-1024x352.png" alt="" class="wp-image-3195" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122013-1024x352.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122013-300x103.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122013-768x264.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122013-1536x528.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122013.png 1868w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="461" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121953-1024x461.png" alt="" class="wp-image-3196" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121953-1024x461.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121953-300x135.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121953-768x346.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-121953.png 1521w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>
</div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>La integración debe ser de tipo &#8220;Private resource&#8221; y en método seleccionamo9s &#8220;Select manually&#8221; para tener la opción de elegir un ALB/NLB como Target service.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a3326d&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a3326d" class="wp-block-image size-large is-style-default wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="714" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122437-1024x714.png" alt="" class="wp-image-3197" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122437-1024x714.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122437-300x209.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122437-768x535.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-122437.png 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>En la lista desplegada de los ALBs, seleccionamos nuestro proxy-alb recién creado.. Además vamos a tener que crear &#8220;Create new VPC link&#8221; en la selección correspondiente, ya que este será el puente entre nuestro API creado con API Gateway y por defecto en una red propia de AWS, con nuestra VPC propia de la empresa.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a338b1&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a338b1" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="686" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-124107-1024x686.png" alt="" class="wp-image-3202" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-124107-1024x686.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-124107-300x201.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-124107-768x515.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-124107.png 1422w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Para este caso la VPC es proxy-vpc-vpx, pero debes elegir la correspondiente en tu infraestructura.</p>



<p>Aquí una ampliación al concepto de VPC Link, un VPC Link es un recurso que permite crear una integración con los recursos privados de una VPC desde una ruta del API Gateway de tipo HTTP.  De esta forma no tienes que exponer ningún recurso de la VPC al público e igual puedes usarlo como destino final de un API Gateway que si sea público.  Si quieres saber más de integraciones privadas para API Gateway HTTP a recursos de tu VPC puedes mirar <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-private.html" data-type="link" data-id="https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-private.html" target="_blank" rel="noreferrer noopener nofollow">aquí</a>.</p>



<p>Luego en las opciones siguientes es importante elegir a qué subredes tiene acceso este nuevo VPC Link y que grupos de seguridad se le asignan.  </p>



<p>Las subredes son importantes porque <strong>deben</strong> ser las subredes asociadas a tu ALB y su correspondiente Target Group.</p>



<p>El grupo de seguridad, es que que <strong>permite</strong> el acceso al puerto correspondiente donde el Listener del ALB esta escuchando peticiones.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a33f7e&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a33f7e" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="686" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-123920-1024x686.png" alt="" class="wp-image-3200" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-123920-1024x686.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-123920-300x201.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-123920-768x515.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-123920.png 1421w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Realizada la integración vamos a identificar el url (Invoke URL) del Endpoint Proxy con API Gateway creado.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a345f9&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a345f9" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="391" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-181810-1024x391.png" alt="" class="wp-image-3204" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-181810-1024x391.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-181810-300x115.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-181810-768x293.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-181810-1536x587.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-181810.png 1832w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Listo, con ese url, si todo es correcto podemos hacer las siguientes peticiones:</p>



<p>Para crear una visita:</p>



<pre class="wp-block-code"><code>curl --location 'https://bg4gmloull.execute-api.us-east-2.amazonaws.com/api/visits' \<br>--header 'Content-Type: application/json' \<br>--data '{"date":"2024-01-19","name":"Fer","comment":"by CloudIO Strategy"}'</code></pre>



<p>Para consultar visitas:</p>



<pre class="wp-block-code"><code>curl --location 'https://bg4gmloull.execute-api.us-east-2.amazonaws.com/api/visits'</code></pre>



<p>Son las mismas peticiones que usamos con consultar el servicio web RESTful desde el shell de la instancia EC2 mostrada en el ejemplo.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69de2b2a34d2b&quot;}" data-wp-interactive="core/image" data-wp-key="69de2b2a34d2b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="957" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-145946-1024x957.png" alt="" class="wp-image-3206" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-145946-1024x957.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-145946-300x280.png 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-145946-768x718.png 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Captura-de-pantalla-2024-01-19-145946.png 1114w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Agrandar"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p>¡Excelente! Hemos creado un Endpoint Proxy con API Gateway, son tocar la implementación, con la funcionalidad esperada y todos los beneficios que tenemos en el servicio Amazon API Gateway.</p>



<h2 class="wp-block-heading">Conclusiones y pensamientos finales</h2>



<p>Hoy en este tutorial hemos visto como podemos implementar un Endpoint Proxy con API Gateway, un requerimiento que viene a partir de una migración al estilo Rehost del cliente que no desea entrar en temas de modificación a sus aplicaciones.</p>



<p>Presentamos dos escenarios, un proxy para un API público, que es infrecuente, y, un proxy a un API privado que si es muy frecuente y en ambos casos el servicio Amazon API Gateway nos permite implementar tal necesidad.</p>



<p>Nuestra arquitectura es solo una posibilidad de implementación del requerimiento, sin embargo en nuestra opinión es la más simple y rápida para dar una respuesta adecuada.</p>



<p>Vimos un concepto &#8220;VPC Link&#8221; que es importantísimo a la hora de integrar un API HTTP con recursos privados en la VPC, y en nuestro caso, nos integramos a un ABL o Aplication Load Balancer, sin embargo podríamos habernos integrado por ejemplo a AWS Cloud Map.  Dado esto, no es la única forma de integración que podrían usar.</p>



<p>El ALB nos habilita todas las ventajas que tenemos de un Load Balancer por ejemplo resiliencia o escalamiento horizontal, y aunque representa un costo adicional es justificable frente a un lineamiento SRT (Server Response Time) del negocio.</p>



<p>Evidentemente, falta muchas configuraciones complementarias a una arquitectura de este estilo, como por ejemplo lo relacionado a las decisiones de stages del API, las seguridades, el monitoreo y la trazabilidad.  Además la buena práctica es conectar este API Gateway a un dominio o subdominio apropiado de su empresa para facilidad de uso y estrategias de contingencia, entre otros.</p>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/endpoint-proxy-con-api-gateway/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Que es Amazon VPC</title>
		<link>https://cloudiostrategy.com/que-es-amazon-vpc-y-cuales-son-caracteristicas/</link>
					<comments>https://cloudiostrategy.com/que-es-amazon-vpc-y-cuales-son-caracteristicas/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Wed, 05 Jul 2023 12:43:24 +0000</pubDate>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tecnologías]]></category>
		<category><![CDATA[Amazon VPC]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Computación en la Nube]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=3099</guid>

					<description><![CDATA[Se habla muy poco de Amazon VPC, tal vez porque se da por hecho que todos conocen lo que es o porque solo lo ven como la red privada, pero… […]]]></description>
										<content:encoded><![CDATA[
<p>Se habla muy poco de <strong>Amazon VPC</strong>, tal vez porque se da por hecho que todos conocen lo que es o porque solo lo ven como la red privada, pero… ¿qué es Amazon VPC concretamente?, ¿cuáles con las características que podemos usar? y más importante ¿cuáles son los beneficios?.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://docs.aws.amazon.com/es_es/vpc/latest/userguide/images/how-it-works.png" alt=""/></figure>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h2>Contenidos</h2><nav><ul><li class=""><a href="#introduccion-a-amazon-vpc">Introducción a Amazon VPC</a></li><li class=""><a href="#caracteristicas-de-amazon-vpc">Características de Amazon VPC</a></li><li class=""><a href="#5-beneficios-principales-de-amazon-vpc">5 Beneficios principales de Amazon VPC</a></li><li class=""><a href="#precios-de-amazon-vpc">Precios de Amazon VPC</a></li><li class=""><a href="#pensamientos-finales">Pensamientos finales</a></li></ul></nav></div>



<p></p>



<h2 class="wp-block-heading" id="introduccion-a-amazon-vpc">Introducción a Amazon VPC</h2>



<p class="has-text-align-center">Amazon VPC significa Amazon Virtual Private Cloud.</p>



<p>El servicio Amazon VPC permite a los usuarios crear una sección virtual y aislada de la nube de AWS, donde pueden lanzar recursos en una red virtual definida por ellos mismos. Esto brinda un control granular sobre el entorno de red, incluida la selección de rangos de direcciones IP, creación de subredes, y configuración de tablas de rutas y gateways de red.<br>Amazon VPC es esencial para mantener la seguridad y el aislamiento de los recursos, y para crear redes escalables y flexibles que se integren con otros servicios de <a href="https://cloudiostrategy.com/que-es-aws/" target="_blank" rel="noreferrer noopener">AWS</a>.</p>



<p><strong>IMPORTANTE</strong></p>



<ul class="wp-block-list">
<li>Cuando comienzas a utilizar AWS, se crea de forma predeterminada una VPC en cada región de AWS. Una VPC predeterminada viene con una subred pública en cada zona de disponibilidad (AZ), una puerta de enlace de Internet (IGW).</li>



<li>La idea es que puedas comenzar rápidamente y lanzar instancias públicas como un blog o un sitio web simple.</li>



<li>Siempre podrás modificar esta configuración inicial, mientras evoluciona tu arquitectura.</li>
</ul>



<h2 class="wp-block-heading" id="caracteristicas-de-amazon-vpc">Características de Amazon VPC</h2>



<p>Las siguientes son las características o componentes que ayudan a entender ¿qué es Amazon VPC? y que Amazon VPC permite crear en la nube AWS.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="redes-virtuales-privadas">Redes virtuales privadas</h3>



<p>Son redes virtuales que simulan redes tradicionales, pero con los beneficios de la infraestructura de AWS. Puedes definir tu rango de direcciones IP y crear subredes dentro del mismo.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="subredes">Subredes</h3>



<p>Es el mismo concepto de una red física, pero directamente relacionada a una Zona de Disponibilidad (AZ) de la Región (las AZs estas aisladas unas de otras por redundancia). Puedes tener sin embargo varias redes en una misma AZ pero no una subred en 2 o más AZs.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="tablas-de-enrutamiento">Tablas de Enrutamiento</h3>



<p>Es una definición de cómo se enruta el tráfico de red dentro de tu VPC.</p>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="asignacion-de-i-ps">Asignación de IPs</h3>



<p>Una carácterística que permite asignar rangos de IPs a las subredes, y, se permite también asignar una IP publica a un recurso en tu VPC como un servidor Amazon EC2.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="puertas-de-enlace">Puertas de Enlace</h3>



<p>Permite definir como tu VPC se comunica con Internet o otra red. Entre otros tenermos NAT Gateways y IGW o Internet Gateways</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="endpoints">Endpoints</h3>



<p>Llamados VPC endpoints, es un punto de entrada y salida desde una VPC para conectarse a un servicio de AWS soportado (como Amazon S3) pero de forma privada.</p>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="peering-connections">Peering connections</h3>



<p>Funcionalidad que permite establecer conexiones entre VPCs pero no es trasitivo.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="traffic-mirroring">Traffic Mirroring</h3>



<p>Al habilitarlo, permite reenviar el trafico de una interfaz de red a servicios de análisis.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="transit-gateways">Transit Gateways</h3>



<p>La definición de un tipo de puerta de enlace que comunica tu ambiente on-premises con tus VPCs, entre VPCs, con VPNs y con conexiones AWS Direct Connect (enlace dedicado más rápido y más seguro que una VPN).</p>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="vpc-flow-logs">VPC Flow Logs</h3>



<p>Funcionalidad que captura la información del tráfico en tu red bajo demanda y la envía a otros servicios para un análisis de comportamiento, amenazas y errores.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading" id="vpn-connections">VPN connections</h3>



<p>Te permite conectarte a tus redes privadas a través de VPN sobre Internet.</p>
</div>
</div>



<h2 class="wp-block-heading" id="5-beneficios-principales-de-amazon-vpc">5 Beneficios principales de Amazon VPC</h2>



<p><br>Seguido a la descripción de las características de Amazon VPC, veamos como las mismas tienen la capacidad de ofrecer opciones muy poderosas para tu infraestructura en la Nube.</p>



<ol class="wp-block-list">
<li><strong>Seguridad y Control de Acceso</strong><br>Amazon VPC permite crear un entorno de red aislado con control granular sobre el acceso, asegurando que solo el tráfico autorizado acceda a tus recursos.</li>



<li><strong>Personalización y Flexibilidad</strong><br>Permite configurar tu red virtual según las necesidades específicas de tu empresa, incluyendo la selección de rangos de direcciones IP y la creación de subredes.</li>



<li><strong>Escalabilidad</strong><br>Puedes adaptar fácilmente tus recursos de red a medida que crece tu empresa, sin la necesidad de invertir en infraestructura física costosa.</li>



<li><strong>Integración con Otros Servicios de AWS</strong><br>Te provee de mecanismos de integración de Amazon VPC con otros servicios de AWS (VPC endpoints) para una implementación y gestión eficiente de aplicaciones en la nube.</li>



<li><strong>Opciones de Conectividad Híbrida</strong><br>Conexión de forma segura de tu VPC con tu red local mediante opciones como VPN y <a href="https://cloudiostrategy.com/como-conectarse-directamente-a-aws/" target="_blank" rel="noreferrer noopener">AWS Direct Connect</a>, permitiendo un entorno de red híbrido.</li>
</ol>



<h2 class="wp-block-heading" id="precios-de-amazon-vpc">Precios de Amazon VPC</h2>



<p>No hay cargos por configurar y usar VPCs, los cargos vienen de otros servicios (activados a demanda) que se usan para personalizar el control, monitoreo, seguridad o conectividad en la VPC.<br>Los casos incluyen, entre otros, servicios como:</p>



<ul class="wp-block-list">
<li>VPC Flow Logs y Trafic Mirroring.</li>



<li>Transferencia de datos fuera de la red de AWS con redes privadas o VPCs en otras regiones.</li>



<li>IPs públicas reservadas pero no usadas con servicios AWS en ejecución.</li>



<li>Servicios adicionales de conexión como NAT Gateways, VPNs, VPC Endpoints o AWS Direct Connections.<br>Evidentemente, hay más servicios que vamos a aprovisionar en la VPC, como Amazon EC2 o Amazon RDS o Amazon Load Balancers, los cuales tendrán cada uno su costo independiente.</li>
</ul>



<p>Puedes encontrar más detalles en <a href="https://aws.amazon.com/es/vpc/pricing/" target="_blank" rel="noreferrer noopener nofollow">Precio de Amazon VPC</a>.</p>



<h2 class="wp-block-heading" id="pensamientos-finales">Pensamientos finales</h2>



<p>¿Qué es Amazon VPC? En este artículo hemos descrito a Amazon VPC como servicio esencial dentro de AWS que permite a las empresas crear redes virtuales seguras y escalables y ofrece un control granular sobre el entorno de red.<br>Los beneficios de usar Amazon VPC incluyen seguridad mejorada, escalabilidad, integración con otros servicios de AWS y opciones de conectividad híbrida.<br>Al migrar a la nube de AWS, es importante realizar una evaluación exhaustiva de los requisitos de la aplicación, planificar adecuadamente la arquitectura de red, seleccionar una estrategia de migración adecuada, y tener en cuenta los costos y el cumplimiento.<br>Es clave entonces saber que es Amazon VPC y conocer exaustibamente las posibilidades que nos ofrece para diseñar arquitectura seguras por sobre todo pero al mismo tiempo que nos optimice siempre el costo OPEX en la nube.</p>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/que-es-amazon-vpc-y-cuales-son-caracteristicas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Casos de uso de las instancias EC2 tipo T</title>
		<link>https://cloudiostrategy.com/casos-de-uso-de-las-instancias-ec2-tipo-t/</link>
					<comments>https://cloudiostrategy.com/casos-de-uso-de-las-instancias-ec2-tipo-t/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Thu, 25 May 2023 13:30:05 +0000</pubDate>
				<category><![CDATA[Tecnologías]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Computación en la Nube]]></category>
		<category><![CDATA[ec2]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=2986</guid>

					<description><![CDATA[El servicio Amazon EC2 ofrece varios tipos o familias de instancias a los usuarios, y comienzan con letras como T, M, C, I, etc., por eso aquí presentamos los casos […]]]></description>
										<content:encoded><![CDATA[
<p>El servicio Amazon EC2 ofrece varios tipos o familias de instancias a los usuarios, y comienzan con letras como T, M, C, I, etc., por eso aquí presentamos los casos de uso de las instancias EC2 tipo T.</p>



<p>Las instancias EC2 tipo T están en el grupo de propósito general, lo cual significa que su configuración es la más estándar posible y podría usarse para cargas de trabajo (workloads) que impliquen un balanceo moderado de recursos, tanto de CPU, memoria, red y acceso al almacenamiento.</p>



<p>Concretamente los siguientes son los casos de uso de las instancias EC2 tipo T recomendados por Amazon Web Services:</p>



<ol class="wp-block-list">
<li>En desarrollo y pruebas: ¿necesitas un lugar para probar nuevas ideas sin estresar tus principales servidores? las instancias tipo T pueden ser la respuesta, ya que manejan a la perfección picos ocasionales de CPU.</li>



<li>En sitios Web y aplicaciones de bajo tráfico: ¿tu sitio Web o aplicación no tiene tráfico masivo 24/7? las instancias tipo T podrían ser tu solución ideal, ya que tienen un costo más económico (especialmente la Txg), y puedes servir ese sistema ERP, CRM, etc. con una inversión moderada.</li>



<li>En microservicios: si tus microservicios necesitan un picos ocasionales para manejar tareas intensivas de CPU, las instancias tipo T están listas y pueden ayudar. Aunque hay otras opciones de cómputo, puedes usar este esquema y pasar a otro si la carga es intensiva o impredecible.</li>



<li>Para pequeñas bases de datos: para bases de datos que no necesitan siempre estar a pleno rendimiento, una instancia tipo T podría ser una opción eficiente y económica.  Cabe señalar que si tienes muchos I/O en el disco es recomendable combinar esta instancia con volúmenes #AmazonEBS de tipo io2.</li>



<li>Para servidores de respaldo: ¿tienes servidores que están en stand-by la mayoría del tiempo?, es decir están ahí para planes de continuidad. Las instancias tipo T son ideales gracias a su modelo de rendimiento &#8220;burstable&#8221; que ayudarán hasta reactivar tu esquema principal.</li>
</ol>



<p>Hay que tomar en cuenta que las instancias tipo T no son las más adecuadas para cargas de trabajo que requieren un alto rendimiento constante de CPU (ahí necesitaras instancias tipo C o M). pero para muchas otras tareas, son excelentes.</p>



<p>Hay otros tipos de instancias de propósito general y puedes ver más información en <a href="https://cloudiostrategy.com/tipos-de-instancias-ec2-en-aws/" target="_blank" rel="noreferrer noopener">Tipos de instancias EC2 en AWS</a>., donde encontrarás sus variantes como T4g, T3, T3a y T2.</p>



<p>Cada variante tienen unas características de hardware específicas, así T4g significa que usa el procesador <a href="https://cloudiostrategy.com/aws-y-sus-procesadores-graviton/" target="_blank" rel="noreferrer noopener">Graviton</a> o T3a significa que usa el procesador <a href="https://en.wikipedia.org/wiki/List_of_AMD_processors" target="_blank" rel="noreferrer noopener nofollow">AMD</a>.</p>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/casos-de-uso-de-las-instancias-ec2-tipo-t/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Introducción a las Tecnologías Serverless en AWS</title>
		<link>https://cloudiostrategy.com/tecnologias-serverless-en-aws/</link>
					<comments>https://cloudiostrategy.com/tecnologias-serverless-en-aws/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Wed, 12 Apr 2023 03:26:35 +0000</pubDate>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tecnologías]]></category>
		<category><![CDATA[Amazon API Gateway]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[AWS Lambda]]></category>
		<category><![CDATA[Computación en la Nube]]></category>
		<category><![CDATA[serverless]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=2959</guid>

					<description><![CDATA[Amazon Web Services (AWS) ofrece una amplia gama de soluciones para facilitar el desarrollo y despliegue de aplicaciones en el paradigma Serverless. En esta Introducción a las tecnologías Serverless en […]]]></description>
										<content:encoded><![CDATA[
<p>Amazon Web Services (AWS) ofrece una amplia gama de soluciones para facilitar el desarrollo y despliegue de aplicaciones en el paradigma Serverless. En esta Introducción a las tecnologías Serverless en AWS, exploraremos en profundidad las ventajas de las mismas, analizaremos los principales servicios, los casos de uso de estas tecnologías.</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://d1.awsstatic.com/webteam/category-pages/Serverless/Arch-Diagrams_Serverless-Category-Page_WebApp.53f342d820814986db1c9cc6ec5ed80bb74cae32.jpg" alt="" width="537" height="483"/><figcaption class="wp-element-caption">Imagen original de Amazon Web Services: https://d1.awsstatic.com/webteam/category-pages/Serverless/Arch-Diagrams_Serverless-Category-Page_WebApp.53f342d820814986db1c9cc6ec5ed80bb74cae32.jpg</figcaption></figure>



<h2 class="wp-block-heading" id="tecnologias-serverless-en-aws">Tecnologías Serverless en AWS</h2>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h2>Contenido</h2><nav><ul><li class=""><a href="#tecnologias-serverless-en-aws">Tecnologías Serverless en AWS</a><ul><li class=""><a href="#que-es-serverless">¿Qué es Serverless?</a></li><li class=""><a href="#ventajas-de-las-tecnologias-serverless">Ventajas de las tecnologías Serverless</a></li><li class=""><a href="#principales-servicios-serverless-en-aws">Principales servicios Serverless en AWS</a><ul><li class=""><a href="#aws-lambda">AWS Lambda</a></li><li class=""><a href="#aws-fargate">AWS Fargate</a></li><li class=""><a href="#aws-step-functions">AWS Step Functions</a></li><li class=""><a href="#amazon-event-bridge">Amazon EventBridge</a></li><li class=""><a href="#amazon-simple-queue-service-sqs">Amazon Simple Queue Service (SQS)</a></li><li class=""><a href="#amazon-simple-notification-service-sns">Amazon Simple Notification Service (SNS)</a></li><li class=""><a href="#amazon-api-gateway">Amazon API Gateway </a></li><li class=""><a href="#amazon-s-3">Amazon S3</a></li><li class=""><a href="#aws-app-runner">AWS App Runner</a></li><li class=""><a href="#otros-servicios">Casos de uso frecuentes de tecnologías Serverless</a></li></ul></li><li class=""><a href="#casos-de-uso-frecuentes-de-tecnologias-serverless">Casos de uso comunes de tecnologías Serverless</a></li></ul></li></ul></nav></div>



<h3 class="wp-block-heading" id="que-es-serverless">¿Qué es Serverless?</h3>



<p>El término &#8220;Serverless&#8221; se refiere a un enfoque de arquitectura en el cual los desarrolladores no necesitan gestionar ni mantener servidores para ejecutar sus aplicaciones. En lugar de esto, las aplicaciones se construyen utilizando servicios en la nube que automáticamente escalan y se encargan de la administración de recursos, como el cómputo, el almacenamiento y la red.</p>



<h3 class="wp-block-heading" id="ventajas-de-las-tecnologias-serverless">Ventajas de las tecnologías Serverless</h3>



<ul class="wp-block-list">
<li><strong>Costo</strong>: Solo pagas por lo que usas, ya que las tecnologías Serverless se facturan según el consumo de recursos y el tiempo de ejecución en lugar de tener costos fijos de servidores. Esto puede resultar en un ahorro significativo en comparación con la administración de infraestructura propia.</li>



<li><strong>Escalabilidad</strong>: Las aplicaciones Serverless escalan automáticamente según la demanda, lo que garantiza un rendimiento óptimo incluso en momentos de alta demanda. Esta escalabilidad dinámica elimina la necesidad de planificar la capacidad de los recursos y facilita el manejo de picos de tráfico inesperados.</li>



<li><strong>Desacoplamiento</strong>: Las tecnologías Serverless permiten desarrollar aplicaciones modulares y desacopladas, lo que facilita la actualización y el mantenimiento del software, a diferencia de un paradigma monolítico.</li>



<li><strong>Independencia tecnológica</strong>: Al no depender de una infraestructura específica, las aplicaciones Serverless pueden adaptarse fácilmente a cambios en los requisitos de negocio o tecnología.</li>



<li><strong>Foco en el negocio</strong>: Los desarrolladores pueden centrarse en la lógica de la aplicación para crear valor al negocio, en lugar de preocuparse por la administración y el mantenimiento de la infraestructura. Esto permite a los equipos de desarrollo ser más ágiles y entregar nuevas funcionalidades más rápidamente.</li>



<li><strong>Resiliencia</strong>: Dado que las aplicaciones Serverless se construyen con servicios en la nube de alta disponibilidad y tolerantes a fallos, es menos probable que experimenten interrupciones o tiempo de inactividad. Además, las aplicaciones Serverless pueden beneficiarse de la redundancia geográfica y el balanceo de carga que ofrecen los proveedores de servicios en la nube como AWS.</li>
</ul>



<h3 class="wp-block-heading" id="principales-servicios-serverless-en-aws">Principales servicios Serverless en AWS</h3>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="aws-lambda">AWS Lambda</h4>



<p>Es un servicio de cómputo Serverless que permite ejecutar código en respuesta a eventos, como cambios en datos, solicitudes de usuarios o procesos batch. Lambda se encarga automáticamente de la escalabilidad, el parcheo y el monitoreo de la infraestructura y soporte lenguajes como Node.js, Python, Java, Ruby, C#, Go, and PowerShell.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="aws-fargate">AWS Fargate</h4>



<p>Es un servicio de administración de contenedores sin servidores que permite ejecutar aplicaciones basadas en contenedores sin gestionar la infraestructura subyacente. Se integra con Amazon ECS y EKS, proporcionando escalabilidad automática, optimización de recursos y simplicidad en el despliegue de aplicaciones de Microservicios y contenedores.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="aws-step-functions">AWS Step Functions</h4>



<p>Permite coordinar y orquestar múltiples funciones Lambda y otros servicios de AWS en flujos de trabajo visuales, simplificando la creación de aplicaciones Serverless complejas y automatizando procesos.</p>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="amazon-event-bridge">Amazon EventBridge</h4>



<p>Es un bus de eventos serverless que facilita la conexión de aplicaciones mediante la transmisión de eventos entre servicios y aplicaciones. EventBridge se integra con servicios de AWS y aplicaciones SaaS de terceros para simplificar la arquitectura de eventos y permitir la creación de aplicaciones Serverless altamente conectadas.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="amazon-simple-queue-service-sqs">Amazon Simple Queue Service (SQS)</h4>



<p>Es un servicio de colas de mensajes completamente administrado que permite la comunicación entre componentes de una aplicación a través de mensajes. SQS puede utilizarse en aplicaciones Serverless para desacoplar la lógica de procesamiento y distribuir las cargas de trabajo de manera eficiente.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="amazon-simple-notification-service-sns">Amazon Simple Notification Service (SNS)</h4>



<p>Es un servicio de publicación y suscripción de mensajes que permite enviar mensajes a múltiples suscriptores y diferentes tipos de endpoints, como correo electrónico, SMS y funciones Lambda. SNS es útil en aplicaciones Serverless que requieren notificaciones en tiempo real o la comunicación entre diferentes componentes.</p>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="amazon-api-gateway">Amazon API Gateway </h4>



<p>Es un servicio de AWS que permite a los desarrolladores crear, publicar, mantener y proteger APIs RESTful y WebSocket de manera fácil y rentable. El servicio se encarga de la gestión de solicitudes, escalabilidad, autorización y monitoreo de APIs, permitiendo a los desarrolladores centrarse en la lógica de negocio y la experiencia del usuario.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="amazon-s-3">Amazon S3</h4>



<p>Es un servicio de almacenamiento de objetos que permite almacenar y recuperar grandes cantidades de datos en la nube. Puedes utilizar S3 por ejemplo, para activar funciones Lambda en respuesta a eventos, como la carga de un archivo. Puede saber más en <a href="https://cloudiostrategy.com/amazon-s3-introduccion-al-almacenamiento-de-archivos/" target="_blank" rel="noreferrer noopener">Amazon S3 introducción al almacenamiento de archivos</a>.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading has-text-align-center" id="aws-app-runner">AWS App Runner</h4>



<p>Es un servicio que permite el despliegue rápido y sencillo de aplicaciones basadas en contenedores, sin necesidad de preocuparse por la administración de la infraestructura. Puedes saber más en Acelerando la contenerización con el servicio <a href="https://cloudiostrategy.com/contenerizacion-con-el-servicio-aws-app-runner/" target="_blank" rel="noreferrer noopener">AWS App Runner</a>.</p>
</div>
</div>



<h4 class="wp-block-heading" id="otros-servicios">Otros Servicios</h4>



<p>Dependiendo del caso de uso los siguientes son servicios Serverless que son usados menos frecuentemente o para casos de negocios específicos. Así tenemos: <strong>AWS AppSync</strong> (servicio que facilita el desarrollo de aplicaciones basadas en datos en tiempo real y offline, utilizando una única API GraphQL), <strong>Amazon RDS Proxy</strong> (proxy de conexiones a Amazon RDS sin servidor), <strong>Amazon Aurora Serverless</strong> (base de datos relacional sin servidor), <strong>Amazon Redshift Serverless</strong> (bodega de datos Bigdata sin servidor), <strong>Amazon Neptune Serverless</strong> (base de datos de grafos sin servidor), <strong>Amazon Opensearch Serverless</strong> (base de datos clave-valor sin servidor).</p>



<h3 class="wp-block-heading" id="casos-de-uso-frecuentes-de-tecnologias-serverless">Casos de uso frecuentes de tecnologías Serverless</h3>



<p><strong>Aplicaciones web y móviles: </strong></p>



<p>Las tecnologías Serverless en AWS permiten construir aplicaciones web y móviles escalables y de alto rendimiento sin la necesidad de administrar infraestructura. En paradigmas como <a href="https://en.wikipedia.org/wiki/Banking_as_a_service" target="_blank" rel="noreferrer noopener nofollow">BaaS</a> y <a href="https://en.wikipedia.org/wiki/Function_as_a_service" target="_blank" rel="noreferrer noopener nofollow">FaaS</a>, los desarrolladores pueden centrarse en la lógica de la aplicación y la experiencia del usuario, mientras que AWS se encarga de la escalabilidad, la seguridad y el mantenimiento de la infraestructura.</p>



<p><strong>Procesamiento de imágenes y vídeos: </strong></p>



<p>Las aplicaciones Serverless pueden procesar y transformar imágenes y vídeos en respuesta a eventos, como la carga de archivos en Amazon S3 o la solicitud de un usuario. Los servicios de AWS, como Amazon Lambda, Amazon Comprehend y/o Amazon Elastic Transcoder, pueden ayudar a automatizar tareas como el redimensionamiento de imágenes, reconocimiento de imágenes, extracción de metadatos y la transcodificación de vídeos.</p>



<p><strong>Análisis de datos en tiempo real:</strong> </p>



<p>Las tecnologías Serverless en AWS pueden utilizarse para procesar y analizar grandes volúmenes de datos de diversas fuentes, como registros de aplicaciones, eventos de IoT o transacciones de comercio electrónico. Los servicios de AWS, como Amazon Kinesis, AWS Glue y Amazon Athena, pueden ayudar a extraer información valiosa de los datos y generar informes y visualizaciones en tiempo real o por lotes.</p>



<p><strong>Automatización de flujos de trabajo (Workflows): </strong></p>



<p>Las aplicaciones Serverless pueden automatizar y optimizar procesos empresariales, como la aprobación de documentos y requerimientos internos. Los servicios de AWS, como Step Functions y Amazon Simple Workflow Service (SWF), pueden ayudar a modelar, coordinar y ejecutar flujos de trabajo complejos y tareas de larga duración.</p>



<h3 class="wp-block-heading" id="pensamientos-finales">Pensamientos finales</h3>



<p>Las tecnologías Serverless en AWS ofrecen una gran cantidad de ventajas y oportunidades para los desarrolladores y las empresas que buscan construir y desplegar aplicaciones en la nube.</p>



<p>Al eliminar la necesidad de aprovisionar, administrar y mantener la infraestructura, las aplicaciones serverless permiten a los equipos centrarse en el desarrollo de nuevas funcionalidades y mejorar la experiencia del usuario.</p>



<p>La escalabilidad y resiliencia implícita en estos servicios nos da la tranquilidad de tener continuidad en el negocio a un costo por uso y reducido frente a un provisionamiento y tecnologías on-demand.</p>



<p>Las tecnologías Serverless en AWS están transformando la forma en que las organizaciones desarrollan y despliegan aplicaciones en la nube. Al adoptar estas tecnologías y seguir las mejores prácticas de arquitectura y desarrollo, las empresas pueden reducir costos, mejorar la eficiencia y entregar soluciones innovadoras que satisfagan las necesidades y expectativas de sus usuarios y clientes.</p>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/tecnologias-serverless-en-aws/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>7 Beneficios de la Computación en la Nube</title>
		<link>https://cloudiostrategy.com/7-beneficios-de-la-computacion-en-la-nube/</link>
					<comments>https://cloudiostrategy.com/7-beneficios-de-la-computacion-en-la-nube/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 21:06:17 +0000</pubDate>
				<category><![CDATA[Tecnologías]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Computación en la Nube]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=2945</guid>

					<description><![CDATA[La Computación en la Nube presenta muchas ventajas en la estrategia empresarial para dar un paso al frente, innovar y mantenerse competitiva en el mercado, por lo que presentamos una […]]]></description>
										<content:encoded><![CDATA[
<p>La <a href="https://es.wikipedia.org/wiki/Computaci%C3%B3n_en_la_nube" target="_blank" rel="noreferrer noopener nofollow">Computación en la Nube</a> presenta muchas ventajas en la estrategia empresarial para dar un paso al frente, innovar y mantenerse competitiva en el mercado, por lo que presentamos una lista de los principales 7 beneficios de la computación en la Nube.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading">Optimización de Costos</h3>



<p>Pago por los recursos que se utilice y por el tiempo que se requiera.</p>



<p>En los esquemas tradicionales on-premises se suele sobre aprovisionar los recursos en los Centros de Datos, con los costos asociados de la adquisición, el mantenimiento, la infraestructura y el mayor tiempo requerido por el recurso humano que los gestiona.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading">Flexibilidad y Escalabilidad</h3>



<p>Provisión al instante de recursos con mejores o menores capacidades de acuerdo al desempeño de nuestras aplicaciones.</p>



<p>En la computación on-premises se puede escalar los recursos con las limitaciones del vendedor, y los tiempos extensos que toma su aprovisionamiento; y más importante no se puede devolver recursos que ya fueron adquiridos.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading">Mayor seguridad</h3>



<p>Acceso a decenas de servicios incluidos en la Nube que fortalecen la seguridad de sus aplicaciones.</p>



<p>Implementar seguridades on-premises es un proceso delicado, complejo y muy costoso, mientras que acceder a las decenas de servicios implementados en la Nube es mucho más económico mientras incrementa el nivel de seguridad de su infraestructura a uno muy difícil de conseguir on-premises.</p>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading">Respaldos, recuperación y tolerancia a fallos</h3>



<p>Opciones en todos los servicios que aseguran la continuidad del negocio y la prevención de pérdida de datos que su empresa requiere.</p>



<p>La continuidad de negocio es un tema estratégico de las empresas (RTO y RPO), que acercan o alejan a los consumidores.  En la Nube se puede automatizar tareas de respaldos, y, recuperación y tolerancia a fallos, sin esfuerzo y con costos reducidos.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading">Time to market</h3>



<p>Agilidad para implementar cambios y/o nuevos experimentos, a través de una amplia oferta de servicios a un clic de distancia.</p>



<p>Con estrategias de costos reducidos y minimización de riesgos de adquisiciones, en la Nube se puede implementar nuevas iniciativas rápidamente, de forma que la agilidad empresarial pueda fluir en el mercado.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading">Cumplimiento</h3>



<p>Cumplimiento de normas, leyes y estándares que rigen en varias industrias en cada continente.</p>



<p>Implementar las regulaciones requeridas por industria, país y la misma empresa es abrumador, sin embargo, esto es posible en la Nube con las ventajas de costos y rapidez debido a que la mayor parte de vendedores están listos para implementar tales certificaciones.</p>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h3 class="wp-block-heading has-text-align-center">Simplicidad de administración y monitoreo</h3>



<p>Visualizar y monitorear todos los recursos aprovisionados en la Nube, de forma centralizada y con adecuado manejo de perfiles y accesos.</p>



<p>Uno de los grandes retos on-premises es la administración del Centro de Datos pues a menudo, cada tipo de recurso tiene su propia interfaz de administración, lo que hace complejo gestionar el portafolio y más aún monitorear su desempeño (si existiese opciones apropiadas por el vendedor on-premises).  En la Nube la gestión es centralizada y debidamente segmentada a usuarios y accesos, lo que permite optimizar los recursos, los costos y a la vez disminuir las tareas operativas del recurso humano.</p>
</div>
</div>



<p>Conclusiones</p>



<p>Estos 7 beneficios de la computación en la nube, se ponen a consideración como los principales para animar a su adopción empresarial.</p>



<p>Existen otros más como: el acceso a costos en economía de escala, accesos a servicios emergentes como Machine Learning, Blockchain o la computación sin servidor (Serverless), que de otro modo serían inaccesibles para empresas medianas o pequeñas.  </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-text-align-center">Habilita una democracia tecnológica.</p>
</blockquote>



<p>Otro punto interesante, y a mi opinión más importante, es la contribución a la energía limpia, dado que la tendencia de tener millones de centros de datos privados en el mundo, indudablemente afectan al uso excesivo de energía en el planeta.</p>



<p>Esperamos que sea útil esta información de los 7 beneficios de la Computación en la Nube, para la toma estratégica de la decisión de adopción en su empresa y les invitamos a dejar en los comentarios, ¿cuál es su postura hacia la computación en la nube?.</p>



<p>Le puede interesar saber también <a href="https://cloudiostrategy.com/adoptar-la-nube-aws-caf" target="_blank" rel="noreferrer noopener">¿Cómo adoptar la Nube exitosamente?</a>.</p>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/7-beneficios-de-la-computacion-en-la-nube/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress en AWS</title>
		<link>https://cloudiostrategy.com/wordpress-en-aws/</link>
					<comments>https://cloudiostrategy.com/wordpress-en-aws/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Thu, 16 Mar 2023 17:18:14 +0000</pubDate>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Amazon Lightsail]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=2784</guid>

					<description><![CDATA[Más del 43% del sitios web en el mundo tienen como tecnología a WordPress, y en Ecuador más del 68% de sitios web son construidos con WordPress, por lo que […]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://w3techs.com/technologies/overview/content_management" target="_blank" rel="noreferrer noopener nofollow">Más del 43% del sitios web en el mundo tienen como tecnología a WordPress,</a> y <a href="https://trends.builtwith.com/cms/country/Ecuador" target="_blank" rel="noreferrer noopener nofollow">en Ecuador más del 68% de sitios web son construidos con WordPress</a>, por lo que es evidente que esta tecnología al día de hoy es la plataforma líder en CMS en el mundo, y es el porque debemos saber como implementar WordPress en AWS de forma correcta.</p>



<p>En este articulo vamos a presentar los aspectos más importantes a considerar al implementar WordPress en AWS, de forma que tengamos una instalación segura escalable y con tolerancia a fallos.</p>



<div class="wp-block-rank-math-toc-block"><h2>Contenido</h2><nav><ul><li class=""><a href="#arquitectura-wordpress">Arquitectura WordPress</a><ul><li class=""><a href="#plugins">Plugins</a></li><li class=""><a href="#wp-content">wp-content</a></li></ul></li><li class=""><a href="#implementando-wordpress-en-aws-en-5-minutos">Implementando WordPress en AWS en 5 minutos</a></li><li class=""><a href="#habilitando-vpc-peering-en-amazon-lightsail">Habilitando VPC Peering en Amazon Lightsail</a></li><li class=""><a href="#conectando-wordpress-con-amazon-rds">Conectando WordPress con Amazon RDS</a><ul><li class=""><a href="#habilitacion-el-grupo-de-seguridad">Habilitación el Grupo de Seguridad</a></li><li class=""><a href="#usando-amazon-rds-con-wordpress">Usando Amazon RDS con WordPress</a></li></ul></li><li class=""><a href="#externalizando-el-sistema-de-archivos-wordpress-en-amazon-efs">Externalizando el sistema de archivos WordPress en Amazon EFS</a><ul><li class=""><a href="#habilitacion-el-grupo-de-seguridad-1">Habilitación el Grupo de Seguridad</a></li><li class=""><a href="#conectar-la-unidad-amazon-efs-con-el-servidor-wordpress">Conectar la unidad Amazon EFS con el servidor WordPress</a></li></ul></li><li class=""><a href="#habilitando-wordpress-con-amazon-elastic-load-balancer-elb">Habilitando WordPress con Amazon Elastic Load Balancer (ELB)</a></li><li class=""><a href="#resumen-de-la-arquitectura-wordpress-en-aws">Resumen de la arquitectura WordPress en AWS.</a></li><li class=""><a href="#video-implementacion-wordpress-en-aws">Video implementacion WordPress en AWS</a></li><li class=""><a href="#recomendaciones">Recomendaciones</a></li></ul></nav></div>



<h2 class="wp-block-heading" id="arquitectura-wordpress">Arquitectura WordPress</h2>



<p>Lo primero a considerar es que WordPress es un sistema monolítico, por lo que el despliegue de nuevas versiones, su performance y la estrategia de alta disponibilidad debe ser concebida como un todo, y, no esta en un paradigma distribuido como es la propuesta de la <a href="https://softwareevolutivo.com.ec/arquitectura-de-microservicios/" target="_blank" rel="noreferrer noopener nofollow">Arquitectura de Microservicios</a>.</p>



<p>El segundo aspecto es que hablamos de una arquitectura en tres capas: presentación, lógica y datos.  La capa de presentación esta compuesta por archivos HTML, CSS, JS y PHP, la capa lógica esta compuesta por archivos PHP, y, la capa de datos esta administrada por el gestor de base de datos MySQL.</p>



<p>Explicado esto, dichos componentes están distribuidos en el sistema de archivos de la siguiente forma:</p>



<ul class="wp-block-list">
<li><strong>wp-admin</strong>: Ejecutables de las herramientas de administración del sitio.</li>



<li><strong>wp-content</strong>: Todos los archivos que no son parte del CORE de WordPress y que son adicionados o eliminados de acuerdo a las decisiones del webmaster.</li>



<li><strong>wp-includes</strong>: Todos los archivos CORE para que el sitio web funcione, y ejecute funcionalidad como publicaciones, páginas, widgets y otras características.</li>



<li><strong>wp-config.php</strong>: Archivo maestro de credenciales de conexión y configuraciones principales de funcionamiento.</li>
</ul>



<p>En esta lista faltan otros archivos, que han sido omitidos porque no son importantes para esta implementación de WordPress en AWS.</p>



<h3 class="wp-block-heading" id="plugins">Plugins</h3>



<p>Como es de dominio público, WordPress trae la funcionalidad básica de un CMS, pero al mismo tiempo es fácil extender su funcionalidad a través de plugins.</p>



<p>Los plugins añaden características al CMS como protecciones de seguridad, gestión avanzada de usuarios, integración con plataformas de terceros e incluso funcionalidad de tiendas en línea (e-commerce) o plataformas educativas online.</p>



<p>Adicionalmente, a través de plugins se puede incrementar plantillas gráficas o temas gráficos, que modifican la apariencia del sitio de acuerdo a lo deseado por el cliente.</p>



<p>Todos los archivos que forman parte de estas extensiones de funcionalidad son almacenados en la carpeta <strong>wp-content/plugins</strong> o <strong>wp-content/themes</strong>, y son gestionados por el administrador del CMS.</p>



<h3 class="wp-block-heading" id="wp-content">wp-content</h3>



<p>Cabe señalar aparte este directorio, ya que como se explico en la arquitectura, allí se almacenan los archivos de la funcionalidad no estándar de WordPress.</p>



<p>Además en la carpeta <strong>wp-content/uploads</strong>, se almacenan los archivos multimedia del CMS (fotos, video y documentos).</p>



<p>Entonces, es de especial importancia entender que su contenido es dinámico, y que por lo tanto su contenido debería ser el mismo en caso de tener dos o más servidores que provean funcionalidad como un solo CMS.</p>



<p>Más adelante, veremos que es necesario externalizar esta carpeta, para permitir un escalamiento del CMS WordPress con más de un servidor.</p>



<h2 class="wp-block-heading" id="implementando-wordpress-en-aws-en-5-minutos">Implementando WordPress en AWS en 5 minutos</h2>



<p>Para implementar WordPress en AWS, inicialmente desde un punto de vista monolítico, vamos a utilizar el servicio de AWS llamado <a href="https://cloudiostrategy.com/amazon-lightsail-un-esquema-de-costo-fijo-aws/" target="_blank" rel="noreferrer noopener">Amazon Lightsail</a> (https://lightsail.aws.amazon.com/ls/webapp/home), porque nos da las herramientas más adecuadas para este primer paso.</p>



<p>Una vez dentro del servicio, creamos una instancia (https://lightsail.aws.amazon.com/ls/webapp/create/instance).</p>



<p>Luego seleccionamos el blueprint WordPress</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="743" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image.png" alt="" class="wp-image-2801" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image.png 642w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-259x300.png 259w" sizes="(max-width: 642px) 100vw, 642px" /></figure>



<p>Selecciona el <strong>plan mínimo</strong> (instance plan) para esta prueba y da finalizar.</p>



<p>En 5 minutos tendrás la instancia lista.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="720" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-1-1024x720.png" alt="" class="wp-image-2802" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-1-1024x720.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-1-300x211.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-1-768x540.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-1.png 1255w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Deberías ver el servidor aprovisionado en la región Ohio Zone A.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="539" height="411" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-18.png" alt="" class="wp-image-2835" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-18.png 539w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-18-300x229.png 300w" sizes="(max-width: 539px) 100vw, 539px" /></figure>



<p>Adicionalmente para los siguientes pasos, requieres saber que versión exacta de MySQL o MariaDB tienen instalado.  Para esto puedes ir a la página http://&lt;servidor-ip&gt;/wp-admin/site-health.php?tab=debug y en la pestaña &#8220;Database&#8221; encontrarás esa información.</p>



<p>El usuario es &#8220;user&#8221; y el password lo puedes saber consultando el archivo &#8220;/home/bitnami/bitnami_credentials&#8221; mediante el terminal (icono siguiente).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="50" height="47" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-28.png" alt="" class="wp-image-2861"/></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="799" height="468" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-27.png" alt="" class="wp-image-2858" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-27.png 799w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-27-300x176.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-27-768x450.png 768w" sizes="(max-width: 799px) 100vw, 799px" /></figure>



<h2 class="wp-block-heading" id="habilitando-vpc-peering-en-amazon-lightsail">Habilitando VPC Peering en Amazon Lightsail</h2>



<p>En primer lugar debemos habilitar el VPC Peering entre Amazon Lightsail y los recursos aprovisionados fuera de este servicio, como es el caso de una base de datos Amazon RDS MySQL o unidad de red NFS gestionada con el servicioAmazon EFS.</p>



<p>Para esto ve a Amazon Lightsail (https://lightsail.aws.amazon.com/ls/webapp/home).</p>



<p>En la esquina superior derecha encontraras el menú &#8220;Account&#8221;, allí selecciona la opción también llamada &#8220;Account&#8221;.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="266" height="77" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-19.png" alt="" class="wp-image-2836"/></figure>



<p>En la pestaña &#8220;Advanced&#8221; vas a encontrar las opciones &#8220;VPC Peering&#8221; donde debes habilitarlo para los recursos aprovisionados fuera de Amazon Lightsail (en mi caso en Ohio).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="833" height="564" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-21.png" alt="" class="wp-image-2838" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-21.png 833w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-21-300x203.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-21-768x520.png 768w" sizes="(max-width: 833px) 100vw, 833px" /></figure>



<p>Listo, ahora desde Amazon Lightsail podrás ver a nivel de red (exactamente de VPC) los recursos desplegados en la region de Ohio.</p>



<h2 class="wp-block-heading" id="conectando-wordpress-con-amazon-rds">Conectando WordPress con Amazon RDS</h2>



<p>El primer paso para poder aspirar a un esquema altamente disponible y resiliente es separar la base de datos.</p>



<p>En la implementación de WordPress en AWS usando un blueprint de Amazon Lightsail, el servidor resultante tiene tanto WordPress como la base de datos.  Eso no es escalable dado que, a la base de datos, no podríamos ponerla en un esquema de alta disponibilidad sin afectar el todo.</p>



<p>Vamos a externalizar la base de datos con Amazon RDS, que nos permitirá en su modalidad Multi-AZ implementar este requerimiento.</p>



<p>Primero vamos a aprovisionar la base de datos en Amazon RDS (https://us-east-1.console.aws.amazon.com/rds/home).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="411" height="185" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-2.png" alt="" class="wp-image-2805" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-2.png 411w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-2-300x135.png 300w" sizes="(max-width: 411px) 100vw, 411px" /></figure>



<p>En la parte superior derecha asegúrate que estas en la misma región donde creaste el servidor en Amazon Lightsail (en mi caso, si miras el gráfico es en Ohio Zona A)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="363" height="153" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-3.png" alt="" class="wp-image-2806" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-3.png 363w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-3-300x126.png 300w" sizes="(max-width: 363px) 100vw, 363px" /></figure>



<p>Para la configuración elige las siguientes opciones:</p>



<ul class="wp-block-list">
<li>Creación estándar.</li>



<li>Engine MariaDB con la versión 10.6.12 de acuerdo a lo identificado al crear el servidor en Amazon Lghtsail.</li>



<li>Template Dev/Test para permitir Multi-AZ.</li>



<li>Coloca una clave maestra (solo caracteres alfanuméricos).</li>



<li>Tipo de instancia db.m6g.large por ser la menos costosa al día de esta publicación.</li>



<li>Opción &#8220;Multi-AZ DB instance&#8221; para despliegue, creando una instancia standby.</li>



<li>En configuraciones adicionales, crear una base de de datos inicial, como por ejemplo &#8220;wordpress&#8221;.</li>



<li>Las demás opciones por defecto</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="779" height="733" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-29.png" alt="" class="wp-image-2866" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-29.png 779w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-29-300x282.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-29-768x723.png 768w" sizes="(max-width: 779px) 100vw, 779px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="781" height="381" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-30.png" alt="" class="wp-image-2867" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-30.png 781w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-30-300x146.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-30-768x375.png 768w" sizes="(max-width: 781px) 100vw, 781px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="774" height="603" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-31.png" alt="" class="wp-image-2868" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-31.png 774w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-31-300x234.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-31-768x598.png 768w" sizes="(max-width: 774px) 100vw, 774px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="773" height="224" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-32.png" alt="" class="wp-image-2869" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-32.png 773w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-32-300x87.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-32-768x223.png 768w" sizes="(max-width: 773px) 100vw, 773px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="771" height="240" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-33.png" alt="" class="wp-image-2870" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-33.png 771w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-33-300x93.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-33-768x239.png 768w" sizes="(max-width: 771px) 100vw, 771px" /></figure>



<p>La creación de una base de datos Multi-AZ va a tomar entre 10 a 20 minutos, por lo que deberás esperar antes de poder seguir al siguiente paso.</p>



<p>Aprovisionar una base de datos en Amazon RDS es fácil, pero configurarla apropiadamente de acuerdo a tu requerimiento real requiere conocer más este servicio.  Esto tanto para no incurrir en gastos como para no subestimar o sobrestimar la instancia apropiada.</p>



<p>Si deseas conocer mas de este servicios te invito a visitar la <a href="https://cloudiostrategy.com/introduccion-a-las-bases-de-datos-relacionales-en-amazon-rds/" target="_blank" rel="noreferrer noopener">Introducción a las bases de datos relacionales en Amazon RDS</a>.</p>



<p>Por último obtén el endpoint de tu nueva base de datos, en el detalle de la base de datos creada.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="383" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-34-1024x383.png" alt="" class="wp-image-2872" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-34-1024x383.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-34-300x112.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-34-768x287.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-34.png 1038w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1009" height="662" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-35.png" alt="" class="wp-image-2874" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-35.png 1009w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-35-300x197.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-35-768x504.png 768w" sizes="(max-width: 1009px) 100vw, 1009px" /></figure>



<h3 class="wp-block-heading" id="habilitacion-el-grupo-de-seguridad">Habilitación el Grupo de Seguridad</h3>



<p>La habilitación del VPC Peering anterior permite la conexión entre la VPC de la región de Amazon Lightsail con la VPC por defecto de la región Ohio para nuestra cuenta.</p>



<p>Sin embargo, no existe una regla que permita el acceso al puerto de la base de datos Amazon RDS aprovisionada.  Esto se debe hacer modificando el el grupo de seguridad al que pertenece la base de datos.  En mi caso el sg-238da74a:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="182" height="130" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-36.png" alt="" class="wp-image-2877"/></figure>



<p>Así que dando click en el mismo, puedes ir al grupo y adicionar un &#8220;Inbound rule&#8221; con la IP interna del servidor WordPress en Lightsail, de forma que pueda acceder al puerto 3306 a cualquier instancia que este en ese grupo.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="543" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-37-1024x543.png" alt="" class="wp-image-2878" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-37-1024x543.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-37-300x159.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-37-768x407.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-37-1536x814.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-37.png 1622w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading" id="usando-amazon-rds-con-wordpress">Usando Amazon RDS con WordPress</h3>



<p>Bien, una vez que tenemos la base de datos creada, el grupo de seguridad configurado y habilitado el VPC Peering, podemos iniciar el proceso de conexión de nuestra instalación WordPress con esta base de datos.</p>



<p>Este es un tema más bien relacionado a DBAs, pero vamos a dejar las principales ideas de la migración y conexión:</p>



<p>En la consola de Amazon Lighsail identifica la instancia creada y da clic en el icono de linea de comandos &#8220;Terminal&#8221;.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="474" height="166" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-22.png" alt="" class="wp-image-2847" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-22.png 474w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-22-300x105.png 300w" sizes="(max-width: 474px) 100vw, 474px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="50" height="47" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-23.png" alt="" class="wp-image-2848"/><figcaption class="wp-element-caption">En la línea de comando debes respaldar las base de datos con un comando como:</figcaption></figure>



<pre class="wp-block-code"><code>mysqldump -u root -p bitnami_wordpress &gt; /tmp/backup.sql</code></pre>



<p>Para encontrar el password consulta el siguiente archivo:</p>



<pre class="wp-block-code"><code>cat bitnami_application_password</code></pre>



<p>Restaura los datos en el endpoint de tu nueva base de datos Amazon RDS, por ejemplo con:</p>



<pre class="wp-block-code"><code>mysql -u dbmasteruser -p dbwordpress -h ls-cee65cedbb6cf04dde8adaebc6723f90c1471ab8.cygwzfiaau2b.us-east-2.rds.amazonaws.com &lt; /tmp/backup.sql</code></pre>



<p>Detén la base de datos local con:</p>



<pre class="wp-block-code"><code>sudo /opt/bitnami/ctlscript.sh stop mariadb</code></pre>



<p>Modifica el archivo wp-config.php en la sección de conexión para que tu WordPress apunte a la instancia Amazon RDS.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1015" height="460" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-26.png" alt="" class="wp-image-2855" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-26.png 1015w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-26-300x136.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-26-768x348.png 768w" sizes="(max-width: 1015px) 100vw, 1015px" /></figure>



<p>Normalmente este archivo está en: &#8220;/home/bitnami/stack/wordpress&#8221; y debes editarlo como root.</p>



<p>Reinicia el servidor apache:</p>



<pre class="wp-block-code"><code>sudo /opt/bitnami/ctlscript.sh restart apache</code></pre>



<p>Excelente, en este punto tu servidor WordPress ya esta trabajando en conjunto con Amazon RDS.</p>



<h2 class="wp-block-heading" id="externalizando-el-sistema-de-archivos-wordpress-en-amazon-efs">Externalizando el sistema de archivos WordPress en Amazon EFS</h2>



<p>Para independizar los archivos que son dinámicos en WordPress, es necesario externalizar idealmente toda la carpeta wp-content.</p>



<p>Sin embargo, muchos archivos de plugins PHP son ejecutados en tiempo real cuando los usuarios del sitio Web acceden al contenido del CMS.  Por esta razón se debe combinar esta estrategia con otras técnicas de memoria cache de dichos archivos, de forma que su ejecución sea en memoria o no acudiendo al fuente del sistema de archivos.</p>



<p>En este tutorial de WordPress en AWS no vamos a tomar en cuenta la configuración de cache, pero es un tema que debes considerar en una implementación de estas características.</p>



<p>El primer paso es crear una unidad de disco en el servicio Amazon EFS (https://us-east-1.console.aws.amazon.com/efs/home).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="413" height="167" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-10.png" alt="" class="wp-image-2819" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-10.png 413w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-10-300x121.png 300w" sizes="(max-width: 413px) 100vw, 413px" /></figure>



<p>Asegúrate que estés el la misma región del servidor en Amazon Lightsail.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="363" height="153" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-3.png" alt="" class="wp-image-2806" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-3.png 363w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-3-300x126.png 300w" sizes="(max-width: 363px) 100vw, 363px" /></figure>



<p>A continuación, selecciona la opción personalizada (Customize) al crearlo y configura los siguiente:</p>



<ul class="wp-block-list">
<li>Ubica un nombre para tu unidad</li>



<li>Selecciona &#8220;Enhanced&#8221; en las opciones de Performance y deja la sub opción &#8220;Elastic&#8221;.</li>



<li>Deja todas las demás opciones por defecto hasta finalizar la creación.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="695" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-11-1024x695.png" alt="" class="wp-image-2820" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-11-1024x695.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-11-300x204.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-11-768x521.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-11.png 1364w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Verás la lista de unidades EFS  una vez creada la unidad.  Selecciona de la lista la unidad que acabas de crear y ingresa a la edición de la misma.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="667" height="307" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-12.png" alt="" class="wp-image-2821" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-12.png 667w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-12-300x138.png 300w" sizes="(max-width: 667px) 100vw, 667px" /></figure>



<p>En el detalle selecciona la pestaña &#8220;Access points&#8221; y crea uno para que a través de este puedan conectarse tus servidores WordPress.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-13-1024x682.png" alt="" class="wp-image-2822" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-13-1024x682.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-13-300x200.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-13-768x512.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-13.png 1274w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Deja todas las opciones por defecto y crea el Access point.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="830" height="824" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-14.png" alt="" class="wp-image-2823" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-14.png 830w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-14-300x298.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-14-150x150.png 150w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-14-768x762.png 768w" sizes="(max-width: 830px) 100vw, 830px" /></figure>



<p>Una vez creado ingresa al Access point  y a continuación da clic en &#8220;Attach&#8221; para ver las instrucciones de como montar esta unidad EFS en los servidores.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="850" height="305" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-15.png" alt="" class="wp-image-2824" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-15.png 850w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-15-300x108.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-15-768x276.png 768w" sizes="(max-width: 850px) 100vw, 850px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="179" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-16-1024x179.png" alt="" class="wp-image-2825" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-16-1024x179.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-16-300x53.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-16-768x134.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-16-1536x269.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-16.png 1588w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="277" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-42-1024x277.png" alt="" class="wp-image-2889" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-42-1024x277.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-42-300x81.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-42-768x208.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-42-1536x415.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-42.png 1895w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Toma nota de ese comando que lo necesitaremos más adelante.</p>



<h3 class="wp-block-heading" id="habilitacion-el-grupo-de-seguridad-1">Habilitación el Grupo de Seguridad</h3>



<p>Del mismo modo que al aprovisionar la base de datos, al crear una unidad de almacenamiento en red Amazon RDS, vas a necesitar crear una regla &#8220;Inbound rule&#8221; para permitir que el servidor de Amazon Lightsail pueda ver dicho recurso.</p>



<p>El VPC Peering no va a ser suficiente ya que te garantiza que exista una camino para que las redes se vean, pero no para acceder al recurso específico.</p>



<p>Entonces, lo primero es identificar a que grupo de seguridad pertenece esta unidad, y eso se lo puede ver en la pestaña networking al visualizar la unidad Amazon EFS.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="522" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-38-1024x522.png" alt="" class="wp-image-2883" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-38-1024x522.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-38-300x153.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-38-768x391.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-38-1536x783.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-38.png 1591w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>En mi caso es el mismo al que pertenece la base de datos, el sg-283da74a.  Sobre este adicionamos la regla para permitir el acceso desde la IP privada del servidor Amazon Lightsail al puerto 2049 que es el usado por el servicio Amazon EFS.</p>



<p>Ve entonces a los grupos de seguridad (https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#SecurityGroups:) y ubica el mismo.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="185" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-40-1024x185.png" alt="" class="wp-image-2885" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-40-1024x185.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-40-300x54.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-40-768x139.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-40-1536x278.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-40.png 1636w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Adiciona la regla.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="177" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-43-1024x177.png" alt="" class="wp-image-2897" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-43-1024x177.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-43-300x52.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-43-768x132.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-43-1536x265.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-43.png 1629w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Listo, con esto tu servidor puede acceder a la unidad de red.</p>



<h3 class="wp-block-heading" id="conectar-la-unidad-amazon-efs-con-el-servidor-wordpress">Conectar la unidad Amazon EFS con el servidor WordPress</h3>



<p>La tarea aún no ha finalizado, pues debemos montar esta unidad en nuestro servidor Amazon Lightsail y redireccionar el contenido de wp-content en la instalación a esta unidad Amazon EFS.</p>



<p>A continuación , vamos a ingresar al servidor a través de la línea de comandos.</p>



<p>Una vez allí ejecutamos los siguientes comandos:</p>



<pre class="wp-block-code"><code>sudo apt-get install -y netcat
sudo apt-get install -y nfs-common
sudo apt-get install -y nfs-common</code></pre>



<pre class="wp-block-code"><code>nc -zv &lt;ip-access-point&gt; 2049
sudo mkdir /mnt/efs
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport &lt;ip-access-point&gt;:/ /mnt/efs</code></pre>



<p>Ve al directorio de instalación de WordPress, normalmente en &#8220;/home/bitnami/stack/wordpress&#8221;.</p>



<p>Sincronizar directorio wp-content en /mnt/efs/wp-content/ (&#8216;sudo rsync -a &#8211;progress wp-content/ /mnt/efs/wp-content/&#8217;)</p>



<p>Renombra los directorios: wp-content a wp-content_old (&#8216;sudo mv wp-content wp-content_old&#8217;)</p>



<p>Elimina el directorio antiguo y crea un symlink al nuevo para wp-content</p>



<pre class="wp-block-code"><code>sudo rm -Rf ./wp-content
sudo ln -s /mnt/efs/wp-content/ ./wp-content</code></pre>



<p>Desactiva y desinstala el plugin jetpack (por un tema de cache), y a continuación reinicia el servidor apache:</p>



<pre class="wp-block-code"><code>sudo wp plugin deactivate jetpack
sudo wp plugin uninstall jetpack
sudo /opt/bitnami/ctlscript.sh restart apache</code></pre>



<p>Felicitaciones, has conectado exitosamente tu instalación de WordPress con Amazon EFS, y de esta forma has externalizado tus archivos dinámicos.</p>



<p></p>



<h2 class="wp-block-heading" id="habilitando-wordpress-con-amazon-elastic-load-balancer-elb">Habilitando WordPress con Amazon Elastic Load Balancer (ELB)</h2>



<p>Para implementar WordPress en AWS en alta disponibilidad y con tolerancia a fallos necesitamos más de un servidor que atienda las peticiones de los clientes.</p>



<p>Para esto AWS nos proveer de balanceadores de carga, que direccionarán las peticiones a el servidor menos cargado y que este disponible.</p>



<p>El primer paso es ir a la consola de Amazon Lightsail en la pestaña de opciones &#8220;Networking&#8221; (https://lightsail.aws.amazon.com/ls/webapp/home/networking).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="604" height="854" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-44.png" alt="" class="wp-image-2904" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-44.png 604w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-44-212x300.png 212w" sizes="(max-width: 604px) 100vw, 604px" /></figure>



<p>Creamos un balanceador con un nombre apropiado para nuestra instalación.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="467" height="249" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-45.png" alt="" class="wp-image-2905" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-45.png 467w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-45-300x160.png 300w" sizes="(max-width: 467px) 100vw, 467px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="753" height="822" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-47.png" alt="" class="wp-image-2907" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-47.png 753w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-47-275x300.png 275w" sizes="(max-width: 753px) 100vw, 753px" /></figure>



<p>Al crear el balanceador, el siguiente paso es adicionar el servidor WordPress a este balanceador.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="976" height="872" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-48.png" alt="" class="wp-image-2908" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-48.png 976w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-48-300x268.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-48-768x686.png 768w" sizes="(max-width: 976px) 100vw, 976px" /></figure>



<p>Ahora, ya tendrás publicado el balanceador y podrás acceder a tu sitio web a través de tu endpoint del mismo.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="753" height="77" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-49.png" alt="" class="wp-image-2909" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-49.png 753w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-49-300x31.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="724" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-50-1024x724.png" alt="" class="wp-image-2910" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-50-1024x724.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-50-300x212.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-50-768x543.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-50.png 1364w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Implementando Alta Disponibilidad (HA) en WordPress</p>



<p>Finalmente vamos a crear un servidor adicional del mismo WordPress para adicionarlo a la configuración y obtener el beneficio de alta disponibilidad en caso de muchas peticiones y tolerancia a fallos en caso de que falle el original.</p>



<p>El primer paso es ingresar a la consola Amazon Lightsail (https://lightsail.aws.amazon.com/ls/webapp/home/instances) y ingresar a la edición del servidor actual de WordPress.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="486" height="396" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-51.png" alt="" class="wp-image-2911" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-51.png 486w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-51-300x244.png 300w" sizes="(max-width: 486px) 100vw, 486px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="689" height="712" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-52.png" alt="" class="wp-image-2912" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-52.png 689w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-52-290x300.png 290w" sizes="(max-width: 689px) 100vw, 689px" /></figure>



<p>En la pestaña &#8220;Snapshots&#8221; creamos un snapshot del servidor.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="978" height="371" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-53.png" alt="" class="wp-image-2913" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-53.png 978w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-53-300x114.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-53-768x291.png 768w" sizes="(max-width: 978px) 100vw, 978px" /></figure>



<p>Creado el snapshot vamos a lanzar un servidor con este como template.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1004" height="482" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-54.png" alt="" class="wp-image-2914" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-54.png 1004w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-54-300x144.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-54-768x369.png 768w" sizes="(max-width: 1004px) 100vw, 1004px" /></figure>



<p>Asegúrate que el servidor a aprovisionar este en la misma región (en mi caso Ohio) y sea el mismo tipo de instancia.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="746" height="762" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-55.png" alt="" class="wp-image-2915" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-55.png 746w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-55-294x300.png 294w" sizes="(max-width: 746px) 100vw, 746px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="563" height="691" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-56.png" alt="" class="wp-image-2916" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-56.png 563w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-56-244x300.png 244w" sizes="(max-width: 563px) 100vw, 563px" /></figure>



<p>Deja las demás opciones por defecto y dar &#8220;Crear Instancia&#8221;.</p>



<p>Ingresa a este nuevo servidor, a la línea de comandos.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="503" height="291" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-57.png" alt="" class="wp-image-2917" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-57.png 503w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-57-300x174.png 300w" sizes="(max-width: 503px) 100vw, 503px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="50" height="47" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-23.png" alt="" class="wp-image-2848"/></figure>



<p>Identifica la IP privada del servidor.</p>



<pre class="wp-block-code"><code>ip addr</code></pre>



<p>Añade la IP (en mi caso 172.26.14.214) con &#8220;Inbound Rule&#8221; al grupo de seguridad sg-238da74a, de la siguiente forma:</p>



<ul class="wp-block-list">
<li>Una regla para acceso al puerto donde se accede a la unidad Amazon EFS.</li>



<li>Una regla para acceso al puerto donde se accede a la base de datos Amazon RDS.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="307" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-59-1024x307.png" alt="" class="wp-image-2922" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-59-1024x307.png 1024w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-59-300x90.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-59-768x230.png 768w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-59-1536x461.png 1536w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-59.png 1624w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Monta la unidad Amazon EFS en el nuevo servidor con el mismo comando inicial del servidor original.</p>



<pre class="wp-block-code"><code>sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 172.31.3.222:/ /mnt/efs</code></pre>



<p>Listo, tu servidor esta lito para adicional al stack de servidores gestionados por el balanceador.</p>



<p>A continuación ve a Amazon Lightsail en la pestaña &#8220;Networking&#8221; (https://lightsail.aws.amazon.com/ls/webapp/home/networking), e ingresa al balanceador.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="507" height="506" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-60.png" alt="" class="wp-image-2925" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-60.png 507w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-60-300x300.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-60-150x150.png 150w" sizes="(max-width: 507px) 100vw, 507px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="987" height="814" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-61.png" alt="" class="wp-image-2926" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-61.png 987w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-61-300x247.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-61-768x633.png 768w" sizes="(max-width: 987px) 100vw, 987px" /></figure>



<p>Adiciona el nuevo servidor al stack.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="708" height="466" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-62.png" alt="" class="wp-image-2927" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-62.png 708w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-62-300x197.png 300w" sizes="(max-width: 708px) 100vw, 708px" /></figure>



<p>¡FELICITACIONES! haz implementado WordPress en AWS en alta disponibilidad y tolerancia a fallos.</p>



<h2 class="wp-block-heading" id="resumen-de-la-arquitectura-wordpress-en-aws">Resumen de la arquitectura WordPress en AWS.</h2>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="896" height="675" src="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-63.png" alt="Wordpress en AWS" class="wp-image-2928" srcset="https://cloudiostrategy.com/wp-content/uploads/2023/03/image-63.png 896w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-63-300x226.png 300w, https://cloudiostrategy.com/wp-content/uploads/2023/03/image-63-768x579.png 768w" sizes="(max-width: 896px) 100vw, 896px" /><figcaption class="wp-element-caption">WordPress en AWS Arquitectura</figcaption></figure>



<p>Acabamos de implementar WordPress en AWS en una arquitectura de alta disponibilidad y tolerancia a fallos.  Los punto a destacar son:</p>



<ul class="wp-block-list">
<li>Tenemos una base de datos redundante gracias a el aprovisionamiento en Amazon RDS Multi-AZ.</li>



<li>Tenemos resiliencia en el sistema de archivos dinámico de WordPress gracias a la unidad aprovisionada en Amazon EFS.</li>



<li>Tenemos alta disponibilidad y tolerancia a fallos, con dos servidores que entregan el servicio y un balanceador que gestiona las peticiones; esto gracias a Amazon Lightsail.</li>
</ul>



<h2 class="wp-block-heading" id="video-implementacion-wordpress-en-aws">Video implementacion WordPress en AWS</h2>



<p>Si deseas seguir este tutorial paso a paso en video puedes verlos aquí:</p>



<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/ye6iNLPJurY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<h2 class="wp-block-heading" id="recomendaciones">Recomendaciones</h2>



<ul class="wp-block-list">
<li>Esta arquitectura es referencial, y por supuesto en una real hay muchas cosas que se pueden mejorar como el tema de cache, dimensionamiento de los tipos de instancias y adición de un CDN por ejemplo.</li>



<li>Un tema delicado es Amazon EFS, puesto que la capacidad de I/O va a ser fundamental en el desempeño del todo.  Por esto es importante optimizarla y monitorearla de forma contante.</li>



<li>Hay que tomar en cuenta que la base de datos, en mi experiencia, es un 50% del desempeño del sitio.  Al tener este recurso en Amazon RDS no obliga a pensar en las capacidades que tiene que tener, en red en I/O y el afinamiento de performance.  Además al estar en un esquema Multi-AZ, cualquier cambio puede tardar más de 20 minutos, por lo tanto en importante seleccionar las opciones de este recurso con cuidado y a vista de un 50% adicional de rendimiento.</li>



<li>Hay temas omitidos acá, como los certificados SSL, que son un no negociable en un esquema de producción.</li>



<li>Adicionar un CDN es una fantástica idea, por dos motivo principales: uno el performance que se ba a ganar en la solicitud de recursos de imágenes y multimedia, y, la más importante es que nos va a ayudar a minimizar múltiples ataques de red previamente a la solicitud al servicio WordPress.</li>



<li>Exite un whitepaper dedicado a las mejores prácticas de este caso de uso, lo puedes mirar en <a href="https://d1.awsstatic.com/whitepapers/wordpress-best-practices-on-aws.pdf" target="_blank" rel="noreferrer noopener nofollow">Mejores prácticas para WordPress en AWS</a>.</li>
</ul>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		



<p>Esperamos que sea útil esta tutoríal para implementar WordPress en AWS en HA y Failover y les animamos para que dejen sus comentarios y opiniones para aprender en comunidad.</p>



<p></p>



<p></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/wordpress-en-aws/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>¿Qué es AWS?</title>
		<link>https://cloudiostrategy.com/que-es-aws/</link>
					<comments>https://cloudiostrategy.com/que-es-aws/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Tue, 31 May 2022 13:19:33 +0000</pubDate>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tecnologías]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Computación en la Nube]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=2669</guid>

					<description><![CDATA[La Computación en la Nube en muchos casos es conceptualizada como el arriendo de servidores en la misma, y aunque muchos proveedores de Nube ofertan solamente este servicio, la Nube […]]]></description>
										<content:encoded><![CDATA[
<p>La Computación en la Nube en muchos casos es conceptualizada como el arriendo de servidores en la misma, y aunque muchos proveedores de Nube ofertan solamente este servicio, la Nube de AWS es completamente diferente, pues sus servicios se centran en la habilitación de la innovación de tu empresa con velocidad y reducción de costos. Por eso hoy queremos explicar ¿qué es AWS?, y ¿cuáles son los principales servicios de AWS? que puedes utilizar.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="310" height="163" src="https://cloudiostrategy.com/wp-content/uploads/2021/01/aws-logo.png" alt="aws" class="wp-image-2193" srcset="https://cloudiostrategy.com/wp-content/uploads/2021/01/aws-logo.png 310w, https://cloudiostrategy.com/wp-content/uploads/2021/01/aws-logo-300x158.png 300w" sizes="(max-width: 310px) 100vw, 310px" /></figure>



<h3 class="wp-block-heading">Contenido:</h3>



<ul class="wp-block-list">
<li><a href="#que-es-aws" data-type="internal" data-id="#que-es-aws">¿Qué es AWS?</a></li>



<li><a href="#regiones-aws" data-type="internal" data-id="#regiones-aws">Regiones en AWS</a></li>



<li><a href="#principales-servicios-aws" data-type="internal" data-id="#principales-servicios-aws">¿Cuáles son los principales servicios de AWS?</a></li>



<li><a href="#seguridad-aws" data-type="internal" data-id="#seguridad-aws">Seguridad</a></li>



<li><a href="#costos-aws">Costos</a></li>
</ul>



<h2 class="wp-block-heading" id="que-es-aws">¿Qué es AWS?</h2>



<p>Amazon Web Services o AWS es una compañía que ofrece más de 200 servicios de cómputo a sus clientes, tanto de tipo Infraestructura como servicio (IaaS), Plataforma como servicio (PaaS), Base de Datos como servicio (BaaS) y Software como servicio (SaaS).</p>



<h2 class="wp-block-heading" id="regiones-aws">Regiones en AWS</h2>



<p>AWS ofrece estos servicios a través de decenas de centros de datos (data centers) en más de 29 regiones geográficas en todos los continentes del mundo: América del Norte, América del sur, Europa, Medio Oriente, África, Oceanía y Asia del Pacífico.</p>



<figure class="wp-block-image size-large"><a href="https://d1.awsstatic.com/global-infrastructure/maps/Cloudfront-Map_9.24_2x.2eeac6e52bf404816c6d0aac3edbeb7b6b87fdaa.png" target="_blank" rel="noopener nofollow"><img decoding="async" src="https://d1.awsstatic.com/global-infrastructure/maps/Cloudfront-Map_9.24_2x.2eeac6e52bf404816c6d0aac3edbeb7b6b87fdaa.png" alt=""/></a><figcaption class="wp-element-caption">Gráfico referencial de regiones ver toda la información <a href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az" target="_blank" rel="noreferrer noopener nofollow">aquí</a>.</figcaption></figure>



<p>Esto por supuesto representa una red global, que garantiza la menor latencia desde cualquier lugar del mundo, y que además está potenciada por otros cientos de centros de datos más cercanos y más pequeños, distribuidos geográficamente llamados &#8220;edge locations&#8221; que mantienen servicios de caché y endpoints mucho más cercanos por país.</p>



<p class="has-medium-font-size"><strong>Ninguna otra Nube, al día de esta publicación, tiene la cobertura. que ofrece AWS.</strong></p>



<h2 class="wp-block-heading" id="principales-servicios-aws">¿Cuáles son los principales servicios de AWS?</h2>



<p>Es difícil decidir cuáles son los servicios que vamos a exponer aquí, pues todos son principales dependiendo del caso de negocio que requieras.<br>El enfoque a continuación va a ser detallar los servicios agrupados por área de uso de los mismos:</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Cómputo</h4>



<ul class="wp-block-list">
<li><strong><a href="https://cloudiostrategy.com/introduccion-al-uso-de-servidores-en-aws/" target="_blank" rel="noreferrer noopener">Amazon EC2</a></strong>: Instancias de servidores.</li>



<li><strong>AWS Lambda</strong>: Cómputo de Microservicios sin servidor.</li>



<li><strong>Amazon Lightsail</strong>: Instancias de servidores con costos fijos.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Contenedores</h4>



<ul class="wp-block-list">
<li><strong>Amazon ECS</strong>: Clúster de contenedores.</li>



<li><strong>Amazon EKS</strong>: Clúster de contenedores basado en Kubernetes.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Almacenamiento</h4>



<ul class="wp-block-list">
<li><strong><a href="https://cloudiostrategy.com/amazon-s3-introduccion-al-almacenamiento-de-archivos/" target="_blank" rel="noreferrer noopener">Amazon S3</a></strong>: Almacenamiento de archivos media y documentos.</li>



<li><strong>Amazon EFS</strong>: Almacenamiento NFS.</li>



<li><strong>AWS Storage Gateway</strong>: Almacenamiento, replicación y respaldo de discos duros.</li>
</ul>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Base de Datos</h4>



<ul class="wp-block-list">
<li><strong>Amazon Aurora</strong>: Base de datos de Amazon.</li>



<li><strong>Amazon DynamoDB</strong>: Base de datos NoSQL.</li>



<li><strong>Amazon ElastiCache</strong>: Base de datos para caché.</li>



<li><strong><a href="https://cloudiostrategy.com/introduccion-a-las-bases-de-datos-relacionales-en-amazon-rds/" target="_blank" rel="noreferrer noopener">Amazon RDS</a></strong>: Base de datos semi-administrada en PostgreSQL, MySQL, MariaDB, Oracle, SQL Server o Aurora.</li>



<li><strong>Amazon Redshift</strong>: Base de datos para Big Data.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Seguridad</h4>



<ul class="wp-block-list">
<li><strong>AWS IAM</strong>: Administración de identidad y accesos.</li>



<li><strong>Amazon Cognito</strong>: Autenticación Federada.</li>



<li><strong>AWS WAF</strong>: Firewall en AWS.</li>



<li><strong>Amazon GuardDuty</strong>: Monitoreo continuo de seguridades.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Criptografía</h4>



<ul class="wp-block-list">
<li><strong>AWS KMS</strong>: Administración de llaves de seguridad.</li>



<li><strong>AWS Certificate Manager</strong>: Gestión de certificados SSL.</li>
</ul>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Machine Learning</h4>



<ul class="wp-block-list">
<li><strong>Amazon SageMaker</strong>: Construcción y despliegue de modelos de aprendizaje.</li>



<li><strong>Amazon Rekognition</strong>: modelos de reconocimiento de imágenes.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Infraestructura</h4>



<ul class="wp-block-list">
<li><strong>Amazon CloudFormation</strong>: Automatización de <a href="https://es.wikipedia.org/wiki/Infraestructura_como_código" target="_blank" rel="noreferrer noopener nofollow">infraestructura como código (IaC)</a>.</li>



<li><strong>Amazon CloudWatch</strong>: Monitoreo de infraestructura.</li>



<li><strong>AWS Management Console</strong>: Administración de actualizaciones y parches de servidores.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Herramientas de Desarrollo</h4>



<ul class="wp-block-list">
<li><strong>AWS CodeBuild</strong>: compilación código de aplicaciones.</li>



<li><strong>AWS CodeCommit</strong>: repositorio de fuentes Git.</li>



<li><strong>AWS CodeDeploy</strong>: despliegue de aplicaciones en servicios de cómputo.</li>



<li><strong>AWS CodePipeline</strong>: Orquestador de ciclo de vida CI/CD de aplicaciones.</li>



<li><strong>AWS Tools &amp; SDK</strong>: Utilitarios para programación de aplicaciones y configuración de recursos.</li>
</ul>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Migración</h4>



<ul class="wp-block-list">
<li><strong>AWS Server Migration Service</strong>: Migración de servidores on-premises a AWS.</li>



<li><strong>AWS Database Migration Service</strong>: Migración de bases de datos.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Red</h4>



<ul class="wp-block-list">
<li><strong>Amazon API Gateway</strong>: Endpoints de accesos a servicios Serverless como AWS Lambda.</li>



<li><strong>Amazon Route 53</strong>: Servicio DNS.</li>



<li><strong>Amazon VPC</strong>: Gestión de redes virtuales privadas en la Nube.</li>
</ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">Otros</h4>



<ul class="wp-block-list">
<li><strong>AWS Iot Core</strong>: Gestión de aplicaciones IoT.</li>



<li><strong>Amazon EMR</strong>: Gestión de <a href="https://aws.amazon.com/es/big-data/datalakes-and-analytics/what-is-a-data-lake/" target="_blank" rel="noreferrer noopener nofollow">Data Lakes (Lagos de Datos)</a>.</li>



<li><strong>Amazon SQS</strong>: Colas de mensajería.</li>



<li><strong>Amazon SNS</strong>: Notificaciones email, SMS o móviles, u otros recursos AWS.</li>



<li><strong>Amazon Managed Blockchain</strong>: Operaciones blockchain.</li>



<li><strong>Amazon Sumerian</strong>: Gestión de aplicaciones con realidad aumentada.</li>
</ul>
</div>
</div>



<p>Puedes basarte en esta página de <a href="https://docs.aws.amazon.com/es_es/index.html?nc2=h_ql_doc_do_v" target="_blank" rel="noreferrer noopener nofollow">Documentación de AWS</a> para ver una lista completa de los servicios.</p>



<p class="has-medium-font-size"><strong>La mayor parte de servicios traen por defecto incorporadas opciones para escalabilidad y alta disponibilidad, por lo que es una gran ventaja para tu esfuerzo de operaciones.</strong></p>



<h2 class="wp-block-heading" id="seguridad-aws">Seguridad</h2>



<p>Es un tema muy muy amplio en AWS y el pilar más importante de <a href="https://cloudiostrategy.com/buena-arquitectura-en-aws/" target="_blank" rel="noreferrer noopener">Una Buena Arquitectura en AWS</a>, sin embargo, te puedo comentar que AWS cumple con todos los estándares internacionales de seguridad con respecto a infraestructura y gobierno en sus servicios;  puedes encontrar más información en “<a href="https://cloudiostrategy.com/seguridades-en-la-nube-aws/" target="_blank" rel="noreferrer noopener">Seguridades en la Nube AWS: Que opciones tenemos</a>”.</p>



<h2 class="wp-block-heading" id="costos-aws">Costos</h2>



<p>Esto es un tema esencial para todas las organizaciones, y es que el modelo de costos de AWS, permitió a muchas empresas innovar y experimentar con riesgos más bajos.  Básicamente hay dos modelos:</p>



<ul class="wp-block-list">
<li><strong>On Demand</strong>: que es donde pagas por el tiempo que uses el servicio de cómputo, y es ideal para probar y arrancar nuevos servicios de tu empresa.</li>



<li><strong>1-3 años</strong>: aquí tienes la opción de un menor costo por el uso de cada servicio y puedes pagarlo <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-ast-global-color-0-color">por adelantado</mark>, con un importante descuento; o <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-ast-global-color-0-color">mensualmente</mark> por adelantado, en donde el descuento es menor, pero es mucho mejor que la modalidad On Demand.</li>
</ul>



<h2 class="wp-block-heading">Pensamientos Finales</h2>



<p>AWS es un proveedor de Computación en la Nube que sin duda ofrece más que servidores a sus clientes.  Ofrece oportunidad y velocidad de experimentación e innovación a sus clientes, simplificando el acceso a tecnologías, con bajos costos y reducción del riesgo.</p>



<p>Hemos visto en este artículo ¿qué es AWS? Y ¿cuáles son los principales servicios de AWS?.  Sin embargo, quedaron muchos servicios por fuera de la lista dado que es una introducción, por lo que se recomienda acudir a un experto en estas tecnologías si deseas saber más de sus opciones.</p>



<p>La distribución regional de cómputo a lo largo de todo el mundo es única de AWS y por lejos asegura la menor latencia y mayor rendimiento a tus aplicaciones, lo cual es sin duda un factor de decisión importante.</p>



<p>La seguridad en la prioridad No. 1 de AWS, por lo que puedes estar tranquilo que tienes opciones para llegar tan lejos como desees en este aspecto y diseñar sistemas seguros.</p>



<p>Finalmente, el modelo de costos de AWS habilita a las empresas, desde startups hasta corporaciones, a implementar nuevos servicios digitales con velocidad, menor inversión y una reducción del riesgo significativa.  De hecho, en la actualidad muchas empresas optan por una estrategia de costos basada en <a href="https://es.wikipedia.org/wiki/Opex" target="_blank" rel="noreferrer noopener nofollow">OPEX</a>.</p>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/que-es-aws/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Amazon Lightsail un esquema de costo fijo AWS</title>
		<link>https://cloudiostrategy.com/amazon-lightsail-un-esquema-de-costo-fijo-aws/</link>
					<comments>https://cloudiostrategy.com/amazon-lightsail-un-esquema-de-costo-fijo-aws/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Thu, 12 May 2022 19:04:47 +0000</pubDate>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tecnologías]]></category>
		<category><![CDATA[Amazon Lightsail]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Computación en la Nube]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=2660</guid>

					<description><![CDATA[Una de las más grandes preocupaciones para los Líderes de TI y en general para los CFO de las empresas es como manejar los costos relacionados a la nube. En […]]]></description>
										<content:encoded><![CDATA[
<p>Una de las más grandes preocupaciones para los Líderes de TI y en general para los CFO de las empresas es como manejar los costos relacionados a la nube. En este artículo vamos a revisar el servicio Amazon Lightsail un esquema de costo fijo AWS, en donde tu empresa se puede apalancar para dar el salto a la Nube de una forma controlada.</p>



<p>Amazon Lightsail, en más que un servicio, en realidad es un conjunto de servicios de AWS con la visión de tener un completo control de costos y una simplificación de administración.</p>



<p>El enfoque, es poder acceder a una arquitectura de <a href="https://cloudiostrategy.com/taller-en-aws/" target="_blank" rel="noreferrer noopener">CERO a failover</a>, con una reducción importante de complejidad en la configuración y un control completo de los costos, y claro, más la velocidad, rentabilidad y oportunidad de innovación que ofrece AWS para tu empresa.</p>



<h2 class="wp-block-heading">Una Arquitectura de CERO a failover</h2>



<p>Para efectos de explicar los servicios de Amazon Lightsail, vamos a tomar como referencia la siguiente arquitectura que nos da alta disponibilidad y failover.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="862" height="421" src="https://cloudiostrategy.com/wp-content/uploads/2022/05/AmazonLightsail-HA.png" alt="" class="wp-image-2661" srcset="https://cloudiostrategy.com/wp-content/uploads/2022/05/AmazonLightsail-HA.png 862w, https://cloudiostrategy.com/wp-content/uploads/2022/05/AmazonLightsail-HA-300x147.png 300w, https://cloudiostrategy.com/wp-content/uploads/2022/05/AmazonLightsail-HA-768x375.png 768w" sizes="(max-width: 862px) 100vw, 862px" /></figure></div>



<p>Evidentemente, la arquitectura puede ser mucho mejor y dependerá de tu requerimiento, pero vamos a asumirla como la deseada para una aplicación monolítica Web.</p>



<p>Vamos a empezar de atrás hacia adelante:</p>



<h3 class="wp-block-heading">Base de Datos</h3>



<p>Amazon Lightsail nos ofrece el servicio de <a href="https://cloudiostrategy.com/introduccion-a-las-bases-de-datos-relacionales-en-amazon-rds/" target="_blank" rel="noreferrer noopener">Amazon RDS</a> para motores MySQL y PostgreSQL a un costo fijo, con varias opciones de rendimiento, que van desde 1 GB hasta 8 GB.</p>



<p>Adicionalmente una de las grandes ventajas es que Amazon RDS es una solución completamente administrada, es decir no te encargas de instalar, administrar, parchear o respaldar la base de datos.</p>



<p>Una opción interesante que posibilita el Failover a través de su configuración Multi-AZ, en donde Amazon RDS se encargará automáticamente del switch en caso de falla.</p>



<h3 class="wp-block-heading">Servidores de Aplicación</h3>



<p>Las instancias de servidores para tu aplicación Web, son aprovisionadas para tu caso de negocio con el servicio Amazon EC2, de igual forma con costo fijo, en donde puedes elegir instancias de entre 2GB a 32GB.</p>



<p>Te ofrece además, la posibilidad de seleccionar el Sistema Operativo Linux más adecuado a tu aplicación, estando entre los principales: CentOS, Ubuntu y Amazon Linux 2.</p>



<p>Una de las ventajas, en mi opinión, es que te da la opción de la instalación optimizada de aplicaciones de Software más comunes en hosting como WordPress, Joomla y Prestashop entre otros o, la instalación de Software necesario para tus aplicaciones Web como <a href="https://es.wikipedia.org/wiki/LAMP" target="_blank" rel="noreferrer noopener nofollow">LAMP</a>, Node.js o Nginx.</p>



<h3 class="wp-block-heading">Balanceador de Carga</h3>



<p>Uno de los componente claves de un esquema de alta disponibilidad es tener una balanceador de carga, que puede afrontar un eventual fallo de un servidor o gestionar alto tráfico de peticiones entre varios servidores.</p>



<p>Con Amazon Lightsail puedes aprovisionar un balanceador con la tecnología de su servicio <a href="https://aws.amazon.com/elasticloadbalancing/" target="_blank" rel="noreferrer noopener nofollow">Elastic Load Balancer</a>.</p>



<p>Este balanceador permitirá monitorear la salud de los servidores destino, balancear la carga y enrutar el tráfico con protocolos HTTP y HTTPS, y, de igual forma tiene un costo fijo mensual para tu estrategia de costos fijos.</p>



<h3 class="wp-block-heading">CDN</h3>



<p>Bien, como sabes, un <a href="https://en.wikipedia.org/wiki/Content_delivery_network" target="_blank" rel="noreferrer noopener nofollow">CDN</a> nos ayuda a servir todos esos recursos que no cambian en nuestra aplicación Web, como imágenes, hojas de estilo y librerías JavaScript. Esto supone una gran ventaja, pues la experiencia del cliente al consumir la aplicación va a ser mucho más rápida en ese aspecto.</p>



<p>Amazon Lightsail nos ofrece una distribución CDN en la cual se va a almacenar en cache estos contenidos y serán servidor de forma acelerado a tu usuario dependiendo de la región del mundo, en los más de 300 data centers de AWS alrededor del mundo.</p>



<h2 class="wp-block-heading">Otros Servicios</h2>



<p>Es importante mencionar que Amazon Lightsail también tiene la posibilidad de aprovisionar otros servicios que contribuyen a tu estrategia de arquitectura. Así podemos mencionar a los siguientes:</p>



<h3 class="wp-block-heading">Contenedores</h3>



<p>Amazon Lightsail te permite aprovisionar contenedores para servir tus aplicaciones. Bajo una administración de costos fijos puedes aprovisionar nodos desde 512MB hasta 8GB de RAM, y, hasta 20 nodos por región, lo que te da la posibilidad de correr desde microservicios hasta aplicaciones completas contenerizadas.</p>



<p>El servicio te proporciona un endpoint del clúster de contenedores a donde puedes apuntar tus peticiones, abstrayéndote de toda la complejidad que puede significar aprovisionar y gestionar un <a href="https://cloudiostrategy.com/introduccion-a-las-contenedores-en-aws/" target="_blank" rel="noreferrer noopener">clúster de contenerización</a>.</p>



<p>Cabe mencionar aquí, que puedes monitorear el clúster, incrementar su capacidad de forma automática o manual y sincronizar tus imágenes de contenedores con un servicio de registro como <a href="https://aws.amazon.com/ecr/" target="_blank" rel="noreferrer noopener nofollow">Amazon ECR</a> u otro.</p>



<h3 class="wp-block-heading">Certificados SSL</h3>



<p>Todos los endpoints tanto del CDN, balanceador de carga y clúster de servidores, suelen requerir, y se recomienda encarecidamente, el uso de protocolo HTTPS para su acceso. Este requiere de generación de certificados SSL y su asociación con dominios de internet.</p>



<p>Para esto Amazon Lightsail te permite crear los certificados, firmados por Amazon como entidad certificadora oficial, y asociarlos a estos dominios sin costo en cualquiera de sus servicios (incluso en los que no son a través de Amazon Lightsail) de forma amigable.</p>



<h3 class="wp-block-heading">IPs estáticas</h3>



<p>A menudo, especialmente para backend se suele requerir tener IPs estáticas para los servidores aprovisionados, de forma que las instancias creadas, que al principio tienen una IP pública temporal, no pierdan su IP al ser recreadas por actualizaciones o mantenimiento.</p>



<p>En este caso, Amazon Lightsail te permitirá tener IPs estáticas para tu arquitectura y asociarlas a tus instancias cuando lo desees. Es importante mencionar que las mismas no tienen costos siempre que están asociadas a una instancia.</p>



<h2 class="wp-block-heading">Emparejamiento con otros servicios de AWS</h2>



<p>Sabemos que la arquitectura base de este artículo, no es la adecuada en muchos casos, y a menudo se quiere tener acceso a un NFS (<a href="https://aws.amazon.com/efs/" target="_blank" rel="noreferrer noopener nofollow">Amazon EFS</a>), un almacenamiento de objetos como <a href="https://aws.amazon.com/s3/" target="_blank" rel="noreferrer noopener nofollow">Amazon S3</a>, otros servidores en Amazon EC2 o en general a otros servicios proporcionados por AWS.</p>



<p>Pensado en esto, Amazon Lightsail tiene la opción de activar la característica llamada VPC peering, la misma que permite a los recursos aprovisionados en Amazon Lightsail mirar a los recursos aprovisionados de toda la Nube AWS.</p>



<p>Esta configuración se activa desde la opción “Account → Advanced” de la consola de Amazon Lightsail y se empareja con la VPC por defecto de tu infraestructura en AWS normal.</p>



<h2 class="wp-block-heading">¿Hasta dónde usar Amazon Lightsail?</h2>



<p>Bueno, la idea siempre será optimizar costos, y mientras los mismos dentro de Amazon Lightsail sean menores a los causados con la misma arquitectura en el aprovisionamiento normal que llevaría en AWS, deberíamos considerar seguir con Amazon Lightsail.</p>



<p>Por otro lado tenemos ciertos requerimientos que no van a poder ser cumplidos con Amazon Lightsail, como demanda de instancias HPC (cómputo de alto rendimiento), bases de datos propietarias como Oracle, SQLServer, etc., servicios de colas como SQS, etc. en donde sería mejor opción un esquema de aprovisionamiento normal en AWS.</p>



<p>La otra principal razón en mi opinión, es la simplificación, pues una gestión de un esquema failover y de alta disponibilidad en aprovisionamiento normal en AWS, es mucho más complejo y demandante de conocimiento (empezando en como diseñar apropiadamente tu VPC), que hacerlo en Amazon Lightsail en donde hay muchas opciones por defecto que cubren el escenario.</p>



<h2 class="wp-block-heading">Conclusiones</h2>



<p>En este artículo hemos mirado como la solución, Amazon Lightsail un esquema de costo fijo AWS, representa una opción para esas empresa que prefieren tener un control total de la inversión en la Nube.</p>



<p>Amazon Lightsail permite crear esquemas de arquitectura que incluye desde un simple servidor hasta un esquema completo de alta disponibilidad y failover para sus aplicaciones.</p>



<p>Además, Amazon Lightsail cuenta con opciones de contenerización, con lo cual podrías aprovisionar arquitecturas que requieran microservicios y escalamiento contenerizado, de forma automática o manual.</p>



<p>Por otro lado y muy importante, hemos visto como los servicios aprovisionados en Amazon Lightsail pueden convivir con tus servicios aprovisionados en toda la Nube AWS a través de VPC peering, lo que te da opciones para seguir usando los otros servicios que no incluye Amazon Lightsail como Amazon S3, Amazon EFS, AWS Lambda, Amazon Redshift, etc.</p>



<p>Amazon Lightsail no es para todas las arquitecturas, y habrá que evaluar en términos de costo y carga de gestión, si es más apropiado utilizar un esquema tradicional o el simplificado que nos ofrece este servicio.</p>


		<div data-elementor-type="wp-post" data-elementor-id="2262" class="elementor elementor-2262">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-c716dfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c716dfe" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fe781c2" data-id="fe781c2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d599a0 elementor-widget elementor-widget-text-editor" data-id="3d599a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Las empresas en su Industria ya están innovando</strong>.  El Lead Time y el Time to Market son la diferencia entre las empresas que perdurarán en el mercado.  Conozca que posibilidades le ofrece AWS para su Transformación Digital en un <strong>entrenamiento gratuito</strong> para usted y su equipo de TI.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e9a0648 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e9a0648" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014da33" data-id="014da33" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d893d0c elementor-widget elementor-widget-html" data-id="d893d0c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="wp-block-button is-style-fill" style="text-align: center"><a class="wp-block-button__link has-black-color has-luminous-vivid-amber-background-color has-text-color has-background" href="https://cloudiostrategy.com/entrenamiento-gratuito-transformacion-digital-en-aws/" target="_blank" rel="noopener"><strong>Registrarme al Entrenamiento Gratuito: Transformación Digital en AWS</strong></a></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		
]]></content:encoded>
					
					<wfw:commentRss>https://cloudiostrategy.com/amazon-lightsail-un-esquema-de-costo-fijo-aws/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
