<?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>Amazon API Gateway &#8211; Cloud IO Strategy</title>
	<atom:link href="https://cloudiostrategy.com/tag/amazon-api-gateway/feed/" rel="self" type="application/rss+xml" />
	<link>https://cloudiostrategy.com</link>
	<description></description>
	<lastBuildDate>Tue, 30 Jan 2024 21:35:47 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://cloudiostrategy.com/wp-content/uploads/2023/06/cropped-favicon-32x32.png</url>
	<title>Amazon API Gateway &#8211; Cloud IO Strategy</title>
	<link>https://cloudiostrategy.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Explorando Límites de AWS Lambda</title>
		<link>https://cloudiostrategy.com/explorando-limites-de-aws-lambda/</link>
					<comments>https://cloudiostrategy.com/explorando-limites-de-aws-lambda/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Tue, 30 Jan 2024 21:28:05 +0000</pubDate>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Amazon API Gateway]]></category>
		<category><![CDATA[AWS Lambda]]></category>
		<category><![CDATA[DynamoDB]]></category>
		<category><![CDATA[serverless]]></category>
		<guid isPermaLink="false">https://cloudiostrategy.com/?p=3241</guid>

					<description><![CDATA[En este post Explorando Límites de AWS Lambda, les traemos un proyecto Playbook OpenSource base que puede ayudarlos a crear y preparar su infraestructura para probar los límites de Lambda […]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">En este post Explorando Límites de AWS Lambda, les traemos un proyecto Playbook OpenSource base que puede ayudarlos a crear y preparar su infraestructura para probar los límites de Lambda para sus casos de uso.</p>



<h2 class="wp-block-heading">Explorando Límites de AWS Lambda &#8211; Porque</h2>



<p class="wp-block-paragraph">Es muy común implementar una solución Serverless en AWS utilizando los servicios API Gateway, AWS Lambda y DynamoDB, y, probar esta arquitectura para nuestro caso de uso es crucial al diseñar una solución.  </p>



<p class="wp-block-paragraph">Así, cuando trabajamos la charla <a href="https://speakerdeck.com/pazfernando/como-manejar-100k-conexiones-simultaneas-en-aws" target="_blank" rel="noreferrer noopener nofollow">¿Como manejar 100K conexiones simultáneas en AWS?</a> en Serverless o probamos los nuevos límites de AWS Lambda de acuerdo al anuncio <a href="https://aws.amazon.com/blogs/aws/aws-lambda-functions-now-scale-12-times-faster-when-handling-high-volume-requests/" target="_blank" rel="noreferrer noopener nofollow">Las funciones de AWS Lambda ahora escalan 12 veces más rápido cuando manejan solicitudes de gran volumen</a>, nos vimos en la necesidad de crear recursos y ambientes, una y otra vez hasta crear el escenario perfecto.</p>



<p class="wp-block-paragraph">Por eso decidimos crear un proyecto base como infraestructura como código que pueda apoyarlos para sus propias pruebas.  El repositorio es público y de código abierto, y lo pueden encontrar aquí <a href="https://github.com/pazfernando/serverless-limits-playbook-test" target="_blank" rel="noreferrer noopener nofollow">serverless-limits-playbook-test</a>.</p>



<figure class="wp-block-image aligncenter size-large"><a href="https://github.com/pazfernando/serverless-limits-playbook-test" target="_blank" rel="noreferrer noopener nofollow"><img fetchpriority="high" decoding="async" width="1024" height="409" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-13-31-55-1024x409.webp" alt="" class="wp-image-3253" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-13-31-55-1024x409.webp 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-13-31-55-300x120.webp 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-13-31-55-768x307.webp 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-13-31-55-1536x614.webp 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-13-31-55.webp 1591w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



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



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



<p class="wp-block-paragraph">La idea principal en esta versión es crear una arquitectura de un API RESTful con API Gateway integrado a un función AWS Lambda para llamadas sincrónicas, y crear una instancia EC2 con una instalación de JMeter para lanzar pruebas de carga.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a653199e4ca8&quot;}" data-wp-interactive="core/image" data-wp-key="6a653199e4ca8" class="wp-block-image aligncenter size-full wp-lightbox-container"><img decoding="async" width="736" height="369" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/AWS-Lambda-Limits-Test.webp" alt="" class="wp-image-3258" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/AWS-Lambda-Limits-Test.webp 736w, https://cloudiostrategy.com/wp-content/uploads/2024/01/AWS-Lambda-Limits-Test-300x150.webp 300w" sizes="(max-width: 736px) 100vw, 736px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Aunque en el código podrán observar también:</p>



<ul class="wp-block-list">
<li>Habilitación de CORS</li>



<li>Bloque de código para llamadas asincrónicas (comentado)</li>



<li>Configuración para <strong>reserve concurrency</strong> en AWS Lambda.</li>



<li>El script <code>setup.sh</code> para adicionar configuraciones a su instancia EC2.</li>



<li>El script <code>index.mjs</code> para definir la implementación real de su función AWs Lambda.</li>



<li>Un identificador único para peticiones desde a lambda (opcional podrían eliminarlo).</li>
</ul>



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



<p class="wp-block-paragraph">Dependiendo de su caso de uso necesitarán configuraciones generales en su cuenta, pero aquí presentamos las básicas.</p>



<ul class="wp-block-list">
<li>Tener una Default VPC en la region que vayan a probar.</li>



<li>Crear un Role en IAM que permita escribir desde API Gateway a CloudWatch.</li>



<li>Asignar dicho rol a las configuraciones del servicio API Gateway en la región donde se va ha hacer pruebas.</li>



<li>Tener los Server Limits adecuados a su prueba, especialmente los de AWS Lambda &#8220;<strong>Burst Concurrency</strong>&#8221; y &#8220;<strong>Concurrent Executions</strong>&#8220;.</li>
</ul>



<h3 class="wp-block-heading">Despliegue de recursos</h3>



<p class="wp-block-paragraph">Al ser un proyecto IaaC construido con AWS CDK, pues evidentemente usamos los comando apropiados.  A continuación la lista de pasos:</p>



<ul class="wp-block-list">
<li>Cambiar las variables <code><strong>const targetRegion</strong></code> y <strong><code>const targetAccount</code></strong> en el archivo de los fuentes <code><strong>/bin/infra.ts</strong></code> apropiadamente.</li>



<li><a href="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html" target="_blank" rel="noreferrer noopener nofollow">Instala AWS CLI la última versión</a>.</li>



<li><a href="https://nodejs.org/en/learn/getting-started/how-to-install-nodejs" target="_blank" rel="noreferrer noopener nofollow">Instala Node.js 20 o superior</a>.</li>



<li><a href="https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install" target="_blank" rel="noreferrer noopener nofollow">Instala el último AWS CDK</a>.</li>



<li>En la carpeta del proyecto corre cdk boostrap para preparar la región para IaaC.</li>



<li>Ejecuta cdk synth para verificar que tus fuentes estén correctos.</li>



<li>Ejecuta cdk deploy para crear los recursos descritos en la arquitectura.</li>
</ul>



<p class="wp-block-paragraph">Usamos <a href="https://docs.aws.amazon.com/cdk/" target="_blank" rel="noreferrer noopener nofollow">AWS CDK</a> para este proyecto, pero podrías reemplazar o hacer tus versiones con <a href="https://www.terraform.io/" target="_blank" rel="noreferrer noopener nofollow">Terraform</a> u <a href="https://opentofu.org/" target="_blank" rel="noreferrer noopener nofollow">OpenTofu</a> respectivamente.  Hacerlo con AWS Cloud Formation es otra opción aunque no lo recomiendo. </p>



<h3 class="wp-block-heading">Lanzamiento de carga masiva</h3>



<p class="wp-block-paragraph">Para ejecutar las pruebas masivas con JMeter es necesario ingresar a la instancia EC2 creada a través de la Consola Web y con EC2 Instance Connect, dado que no se asoció un server key al momento de su creación.  </p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a653199e5787&quot;}" data-wp-interactive="core/image" data-wp-key="6a653199e5787" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="628" height="142" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/ec21.webp" alt="" class="wp-image-3248" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/ec21.webp 628w, https://cloudiostrategy.com/wp-content/uploads/2024/01/ec21-300x68.webp 300w" sizes="(max-width: 628px) 100vw, 628px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a653199e5f98&quot;}" data-wp-interactive="core/image" data-wp-key="6a653199e5f98" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="819" height="704" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/ec22.webp" alt="" class="wp-image-3249" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/ec22.webp 819w, https://cloudiostrategy.com/wp-content/uploads/2024/01/ec22-300x258.webp 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/ec22-768x660.webp 768w" sizes="(max-width: 819px) 100vw, 819px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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>



<p class="wp-block-paragraph">Una vez en el shell los comandos son los siguientes:</p>



<ul class="wp-block-list">
<li>Cambia a root el usuario: <code><strong>sudo -i</strong></code>.</li>



<li>Edita el archivo LambdaConcurrencyLimits.jmx con <code><strong>vi /tmp/LambdaConcurrencyLimits.jmx</strong></code> con el url de tu API RESTful (esa url la obtienes como salida del comando cdk deploy al final del log).</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="907" height="178" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/cdkdeployoutput.webp" alt="" class="wp-image-3250" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/cdkdeployoutput.webp 907w, https://cloudiostrategy.com/wp-content/uploads/2024/01/cdkdeployoutput-300x59.webp 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/cdkdeployoutput-768x151.webp 768w" sizes="(max-width: 907px) 100vw, 907px" /></figure>



<p class="wp-block-paragraph">Ejecuta los test JMeter de carga con </p>



<pre class="wp-block-code"><code><strong>rm -Rf /var/www/html/stats/* &amp;&amp; rm -f /tmp/stats.jtl &amp;&amp; /opt/apache-jmeter-5.6.2/bin/jmeter -n -t /tmp/LambdaConcurrencyLimits.jmx -l /tmp/stats.jtl -e -o /var/www/html/stats.</strong></code></pre>



<h3 class="wp-block-heading">Pruebas en JMeter</h3>



<p class="wp-block-paragraph">Mientras se puede escribir un blog entero de pruebas en JMeter, el archivo creado esta compuesto de las siguintes características:</p>



<ul class="wp-block-list">
<li>Cinco grupos de usuarios (hilos)</li>



<li>Primer grupo lanza 1001 usuarios en 10 segundos.</li>



<li>Segundo grupo lanza 2001 usuarios en 20 segundos.</li>



<li>Tercer grupo lanza 3001 usuarios en 30 segundos.</li>



<li>Cuarto y quinto grupo lanza 0 usuarios, y están en el archivo jmx para que los usen como lo prefieran para su caso de prueba.</li>



<li>Se prueba una URL con un HTTP Request de tipo GET al API RESTful creado.</li>



<li>El  URL del API Gateway RESTful esta externalizado en el argumento <strong><code>url-api-gateway</code></strong>.</li>
</ul>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="936" height="176" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-46-08.webp" alt="" class="wp-image-3261" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-46-08.webp 936w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-46-08-300x56.webp 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-46-08-768x144.webp 768w" sizes="(max-width: 936px) 100vw, 936px" /></figure>



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



<p class="wp-block-paragraph">Evidentemente estas pruebas no se ajustan a tu caso de uso y deberás cambiarlas apropiadamente, sin embargo el mecanismo de lanzamiento y la instancia EC2 configurada va a reducir el tiempo para esta operación.</p>



<h3 class="wp-block-heading">Métricas</h3>



<p class="wp-block-paragraph">Una vez desplegada la infraestructura, y ejecutados las pruebas podremos monitorear los recursos y tomar las acciones correspondientes.</p>



<p class="wp-block-paragraph">A continuación algunos gráficos que vamos a poder obtener:</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">API Gateway</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a653199e6c06&quot;}" data-wp-interactive="core/image" data-wp-key="6a653199e6c06" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="328" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-52-14-1024x328.webp" alt="" class="wp-image-3263" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-52-14-1024x328.webp 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-52-14-300x96.webp 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-52-14-768x246.webp 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-52-14-1536x492.webp 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-52-14.webp 1564w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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">
<p class="wp-block-paragraph">AWS Lambda</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a653199e7216&quot;}" data-wp-interactive="core/image" data-wp-key="6a653199e7216" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="294" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-50-59-1024x294.webp" alt="" class="wp-image-3262" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-50-59-1024x294.webp 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-50-59-300x86.webp 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-50-59-768x221.webp 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-50-59.webp 1030w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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>



<p class="wp-block-paragraph">Además siempre vamos a tener Grupos de Logs en Amazon CloudWatch apropiados para el caso de uso y por servicio para analizar los resultados:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="241" src="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-55-59-1024x241.webp" alt="" class="wp-image-3264" srcset="https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-55-59-1024x241.webp 1024w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-55-59-300x71.webp 300w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-55-59-768x181.webp 768w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-55-59-1536x361.webp 1536w, https://cloudiostrategy.com/wp-content/uploads/2024/01/Screenshot-from-2024-01-30-15-55-59.webp 1565w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>IMPORTANTE</strong>: siempre al finalizar las pruebas no olviden ejecutar <strong><code>cdk destroy</code></strong> para decomisar los recursos usados y evitar facturación innecesaria.</p>



<h3 class="wp-block-heading">Conclusiones y Pensamientos Finales</h3>



<p class="wp-block-paragraph">En este Playbook Explorando Límites de AWS Lambda, hemos podido plasmar un proyecto de código abierto para que puedan acelerar sus pruebas de implementaciones.  Sin embargo hay mucho que mejorar en el mismo, como la inclusión de secrets con Secrets Manager para gestionar números de cuenta y otros parámetros sensibles y que <strong><span style="text-decoration: underline;">NO</span></strong> deben estar en su repositorio de fuentes.</p>



<p class="wp-block-paragraph">También este proyecto nos ayuda en la inmersión en el mundo apasionante que significa AWS CDK, y con el cual pueden gestionar su infraestructura de forma completamente automatizada.</p>



<p class="wp-block-paragraph">Vale mencionar que en un proyecto de AWS CDK <span style="text-decoration: underline;"><strong>jamás deben subir el directorio cdk.out</strong></span>, dado que aquí como resultado de la compilación de los archivos Typescript a archivos propios de AWS Cloud Formation ((JSON por ejemplo), puede y va a quedar información sensible como números de cuenta y/o claves.</p>



<p class="wp-block-paragraph">Para hacer uso de este enfoque de despliegue es necesario estar familiarizado con AWS CLI ya que con este generarán perfiles que contengan accesos de los usuarios de su cuenta, y con tales accesos se crearán los recursos.  Entonces es importante que los usuarios asociados tengan los permisos correspondientes.</p>



<p class="wp-block-paragraph">Los límites que tengan para su cuenta y por región van a incidir directamente en sus pruebas en caso de altas cargas de procesamiento, por lo que se debe tener en cuenta los mismos al momento de planificar la implementación.</p>



<p class="wp-block-paragraph">Les animamos a dejar su feedback para mejorar el proyecto, sea aquí o en el repositorio de GitHub, y esperamos que sea de utilidad este proyecto &#8220;Explorando Límites de AWs Lambda&#8221;.</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/explorando-limites-de-aws-lambda/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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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;6a65319a15c3b&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a15c3b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">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-7387b849 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 loading="lazy" 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;6a65319a1637a&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1637a" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a169ab&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a169ab" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Ok, el API está funcionando correctamente.</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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-a4488389 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;6a65319a178a2&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a178a2" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a17ecb&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a17ecb" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a184ea&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a184ea" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a18a95&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a18a95" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Creamos la ruta $default.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-a4488389 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;6a65319a19371&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a19371" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a19968&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a19968" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a1a1ee&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1a1ee" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">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 class="wp-block-paragraph">Creamos la integración.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-a4488389 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;6a65319a1a9ab&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1a9ab" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a1ae88&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1ae88" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a1b440&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1b440" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Probamos el API RESTful de la misma forma que lo hicimos al inicio. </p>



<p class="wp-block-paragraph">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;6a65319a1befb&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1befb" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">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-a4488389 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;6a65319a1c46e&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1c46e" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a1c949&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1c949" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a1ce8a&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1ce8a" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a1d3a4&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1d3a4" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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-a4488389 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-d6e61d72 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;6a65319a1da2f&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1da2f" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a1e020&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1e020" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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-6932d9d0 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;6a65319a1e618&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1e618" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">¡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 class="wp-block-paragraph">¿En la vida real como sería un ejemplo?</p>



<p class="wp-block-paragraph">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;6a65319a1edf8&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1edf8" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">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 class="wp-block-paragraph">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;6a65319a1f522&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1f522" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Seguido a esto hacemos una prueba.  En este caso nos ayudamos de AWS CloudShell.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a65319a1fafc&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a1fafc" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Son dos comandos curl, que insertan un registro visita y luego recuperan todas los registros visitas.</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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-a4488389 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;6a65319a20213&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a20213" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a207c0&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a207c0" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Creamos una Route (ruta) proxy $default.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-a4488389 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;6a65319a20ecf&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a20ecf" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a213ba&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a213ba" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a21cec&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a21cec" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">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-a4488389 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;6a65319a22753&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a22753" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a22f19&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a22f19" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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-a4488389 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;6a65319a235e4&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a235e4" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a23ba0&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a23ba0" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a242a2&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a242a2" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">El ALB debe ser de tipo &#8220;internal&#8221; es decir solo se puede usar dentro de la VPC (no desde Internet).</p>



<p class="wp-block-paragraph">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-a4488389 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;6a65319a249ad&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a249ad" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a24f92&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a24f92" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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-a4488389 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;6a65319a257f2&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a257f2" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a2607a&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a2607a" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a266bb&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a266bb" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a26be8&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a26be8" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Debes asegurarte que el grupo de seguridad del ALB permite el tráfico al puerto donde esta el listener.</p>



<p class="wp-block-paragraph">Continúa con la creación del ALB.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-a4488389 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;6a65319a27327&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a27327" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a278b4&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a278b4" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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;6a65319a27da6&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a27da6" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">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-a4488389 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 class="wp-block-paragraph">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;6a65319a28880&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a28880" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">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;6a65319a28f0f&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a28f0f" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Para este caso la VPC es proxy-vpc-vpx, pero debes elegir la correspondiente en tu infraestructura.</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">Las subredes son importantes porque <strong>deben</strong> ser las subredes asociadas a tu ALB y su correspondiente Target Group.</p>



<p class="wp-block-paragraph">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;6a65319a2968b&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a2968b" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">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;6a65319a29c4f&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a29c4f" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">Listo, con ese url, si todo es correcto podemos hacer las siguientes peticiones:</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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;6a65319a2a563&quot;}" data-wp-interactive="core/image" data-wp-key="6a65319a2a563" 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--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" 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"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<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 class="wp-block-paragraph">¡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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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>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 class="wp-block-paragraph">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 class="wp-block-paragraph">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-7387b849 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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-7387b849 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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-7387b849 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>Aplicaciones web y móviles: </strong></p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>Procesamiento de imágenes y vídeos: </strong></p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>Análisis de datos en tiempo real:</strong> </p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>Automatización de flujos de trabajo (Workflows): </strong></p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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>
	</channel>
</rss>
