<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Misael Ramirez Espinosa</title>
    <description>The latest articles on DEV Community by Misael Ramirez Espinosa (@misael_ramirez).</description>
    <link>https://dev.to/misael_ramirez</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F782852%2F2b30748d-938c-4397-b9a7-1b55798a3ae6.jpg</url>
      <title>DEV Community: Misael Ramirez Espinosa</title>
      <link>https://dev.to/misael_ramirez</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/misael_ramirez"/>
    <language>en</language>
    <item>
      <title>Configurar alertas en Database Migration Service</title>
      <dc:creator>Misael Ramirez Espinosa</dc:creator>
      <pubDate>Thu, 20 Jan 2022 21:39:51 +0000</pubDate>
      <link>https://dev.to/misael_ramirez/configurar-alertas-en-database-migration-service-11h7</link>
      <guid>https://dev.to/misael_ramirez/configurar-alertas-en-database-migration-service-11h7</guid>
      <description>&lt;h2&gt;
  
  
  Tabla de Contenidos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Introducción &lt;/li&gt;
&lt;li&gt;Requerimientos&lt;/li&gt;
&lt;li&gt;Configuración SNS&lt;/li&gt;
&lt;li&gt;Configuración Alerta para Instancia de replicación&lt;/li&gt;
&lt;li&gt;Configuración Alerta para Tarea de replicación&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;En el siguiente tutorial se explicará como crear notificaciones de alerta para el servicio de Database Migration Service (DMS).&lt;/p&gt;

&lt;p&gt;AWS Database Migration Service es el servicio que permite realizar la replicación de bases de datos a la nube de AWS. Ofrece orígenes de bases de datos en On-Premise como Oracle, PostgreSQL, MySQL, MariaDB y MongoDB. Respecto a la nube ofrece conexiones con Amazon Aurora PostgreSQL, Amazon DocumentDB, Amazon S3, RDS, Google Cloud SQL for MySQL, Microsoft Aurora SQL Database, Microsoft Azure SQL Managed Instance y Microsoft SQL Server.&lt;/p&gt;

&lt;p&gt;Sobre los destinos que DMS soporta son Amazon Aurora(MySQL, MySQL Serverless, PostgreSQL y PostgreSQL Serverless), Amazon DocumentDB(Con compatibilidad para MongoDB), Amazon DynamoDB, Amazon ElasticSearch, Amazon Kinesis, Amazon Neptune, Amazon Redshift, Amazon S3, Kafka, MariaDB, Microsoft SQL Server, MySQL, Oracle, PostgreSQL y Redis.&lt;/p&gt;

&lt;p&gt;Como pudiste notar es un servicio muy potente al soportar tantos orígenes y destinos por lo que será una herramienta realmente útil en tus proyectos de migración.&lt;/p&gt;

&lt;p&gt;No obstante esto, todos los sistemas pueden fallar y por tanto la organización debe estar preparada para cuando alguno de estos procesos de replicación falle o deje de funcionar como se espera. &lt;/p&gt;

&lt;p&gt;Es por esto que a continuación se configurará dos tipos de alertas en DMS, una para la instancia de replicación y otra para las tareas de replicación.&lt;/p&gt;




&lt;h2&gt;
  
  
  Requerimientos &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Cuenta en AWS.&lt;/li&gt;
&lt;li&gt;Instancia de replicación y Tareas de migración creadas.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Configuración SNS &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Se debe dirigir al servicio de SNS, en la sección de Topics seleccione &lt;strong&gt;Crear Topic&lt;/strong&gt;, esto le desplegará el panel de creación del tópico. En la sección Details le permite elegir entre las opciones de FIFO y Standard. La primera opción asegura que el envío de mensajes será mediante First-In First-Out, preservando exactamente el orden de los mensajes que hayan ingresado al tópico, además de asegurar la entrega del paquete exactamente una vez. Respecto a la segunda opción Standard, no asegura el orden de envío pero si asegura que el paquete se entregue como mínimo una vez. Para el propósito de este tutorial basta con la versión &lt;strong&gt;Standard&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Luego debe definir el nombre del tópico, en este caso será  &lt;strong&gt;demo-dms&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o3a5KvOa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mt5v9nra71axww6t038f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o3a5KvOa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mt5v9nra71axww6t038f.png" alt="SNS" width="880" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A continuación ya puede crear el tópico sin problemas, el resto de las opciones son opcionales y por tanto no se profundizarán en este tutorial.&lt;/p&gt;

&lt;p&gt;Creado el tópico, debe ir a la sección de &lt;strong&gt;Subscriptions&lt;/strong&gt; mediante la cual se suscribirá al tópico recién creado. Seleccione &lt;strong&gt;Create Subscription&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Topic ARN&lt;/strong&gt; seleccione el tópico que acaba de crear demo-dms.&lt;br&gt;
En &lt;strong&gt;Protocol&lt;/strong&gt; seleccione el endpoint por el cual desea que se le notifique. DMS le permite utilizar servicios de AWS, protocolos HTTP/HTTPS, SMS y Email. La opción mas común y la que se usará es &lt;strong&gt;email&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KMl0vDam--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1hhqzluz7xp2anl9dd7e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KMl0vDam--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1hhqzluz7xp2anl9dd7e.png" alt="Creando subscripción" width="880" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Una vez haya creado la subscripción, a su correo llegará un correo similar a este&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9JoK98Ym--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ipm4tfhfzvz17frgin4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9JoK98Ym--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ipm4tfhfzvz17frgin4.png" alt="Subscripcion confirmada" width="570" height="271"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si ahora se dirige a &lt;strong&gt;Topics&lt;/strong&gt; y selecciona &lt;strong&gt;demo-dms&lt;/strong&gt; podrá ver que el estado de la subscripción es &lt;strong&gt;Confirmed&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oG_Nidhg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/48joe3syszbcam4dbkab.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oG_Nidhg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/48joe3syszbcam4dbkab.png" alt="Confirmado" width="880" height="360"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Configuración Alerta para Instancia de replicación &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Diríjase al servicio de DMS y en el panel lateral seleccione &lt;strong&gt;Event subscriptions&lt;/strong&gt;. Luego en la parte superior derecha seleccione &lt;strong&gt;Create event subscription&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lYFQKKh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6757r17epopkwxj04ner.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lYFQKKh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6757r17epopkwxj04ner.png" alt="DMS" width="880" height="203"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora debe colocar el nombre de la suscripción que desea crear. Se creará una alerta para cuando la Instancia de replicación falle, por tanto el nombre será &lt;strong&gt;demo-error-replication-instance&lt;/strong&gt;. El check &lt;strong&gt;Enabled&lt;/strong&gt; es para indicar si desea que al crearse la alerta, inmediatamente quede activa. Dejela activada.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Target&lt;/strong&gt; le permite seleccionar a donde se enviará la alerta. Puede ser a un tópico existente(como el que previamente creó), Crear un nuevo tópico de correo electrónico o de SMS. Ya que previamente se creó el tópico, lo seleccioná.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Event Source&lt;/strong&gt; debe seleccionar primeramente de que tipo de fuente se obtendrán los eventos. Existen las opciones para eventos de Replication Instances y Replitation Tasks. En este momento se está configurando alerta para fallas en la Instancias de replicación por tanto esta es la opción seleccionada.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Event categories&lt;/strong&gt; seleccione si desea monitorear todos los eventos o solo algunos. Las opciones que permite son &lt;strong&gt;Low Storage&lt;/strong&gt;, &lt;strong&gt;Deletion&lt;/strong&gt;, &lt;strong&gt;Failure&lt;/strong&gt;, &lt;strong&gt;Configuration Change&lt;/strong&gt;, &lt;strong&gt;Creation&lt;/strong&gt;, &lt;strong&gt;Failover&lt;/strong&gt; y &lt;strong&gt;Maintenance&lt;/strong&gt;. &lt;br&gt;
Debido a la alarma que se esta configurando, seleccione &lt;strong&gt;failure&lt;/strong&gt;. Si desea agregar alguna categoría extra, puede agregarla directamente aquí o en su defecto crear otra alerta, eso ya lo puede personalizar según lo necesite.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Replication Instance&lt;/strong&gt; debe seleccionar si quiere monitorear todas las instancias o solo alguna en específico. En este caso solo existe una Instancia de replicación creada por lo que la opción &lt;strong&gt;All instances&lt;/strong&gt; es suficiente. &lt;/p&gt;

&lt;p&gt;Finalmente puede seleccionar &lt;strong&gt;Create event subscription&lt;/strong&gt; para crear la alerta&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xZHkSJFJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lmpog523vddfgzb98kwq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xZHkSJFJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lmpog523vddfgzb98kwq.png" alt="Creacion alerta instancia" width="744" height="604"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XLHZodyJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4bwem3gahxynbnousd9w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XLHZodyJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4bwem3gahxynbnousd9w.png" alt="Creacion alerta instancia 2" width="744" height="465"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h4&gt;
  
  
  Configuración Alerta para Tarea de replicación &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Diríjase al servicio de DMS y en el panel lateral seleccione &lt;strong&gt;Event subscriptions&lt;/strong&gt;. Luego en la parte superior derecha seleccione &lt;strong&gt;Create event subscription&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lYFQKKh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6757r17epopkwxj04ner.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lYFQKKh5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6757r17epopkwxj04ner.png" alt="DMS" width="880" height="203"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora debe colocar el nombre de la suscripción que desea crear. Se creará una alerta para cuando la Tarea de replicación falle, por tanto el nombre será &lt;strong&gt;demo-error-replication-task&lt;/strong&gt;. El check &lt;strong&gt;Enabled&lt;/strong&gt; es para indicar si desea que al crearse la alerta, inmediatamente quede activa. Déjela activada.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Target&lt;/strong&gt; le permite seleccionar a donde se enviará la alerta. Puede ser a un tópico existente(como el que previamente creó), crear un nuevo tópico de correo electrónico o de SMS. Ya que previamente se creó el tópico, seleccionelo.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Event Source&lt;/strong&gt; debe seleccionar primeramente de que tipo de fuente se obtendrán los eventos. Existen las opciones para eventos de Replication Instances y Replitation Tasks. En este momento se está configurando alerta para fallas en las tareas de replicación por tanto esta es la opción seleccionada.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Event categories&lt;/strong&gt; seleccione si desea monitorear todos los eventos o solo algunos. Las opciones que permite son &lt;strong&gt;State change&lt;/strong&gt;,  &lt;strong&gt;Failure&lt;/strong&gt;, &lt;strong&gt;Configuration Change&lt;/strong&gt;, &lt;strong&gt;Deletion&lt;/strong&gt; y &lt;strong&gt;Maintenance&lt;/strong&gt;. &lt;br&gt;
Debido a la alarma que se esta configurando, seleccione &lt;strong&gt;failure&lt;/strong&gt;. Si desea agregar alguna categoría extra, puede agregarla directamente aquí o en su defecto crear otra alerta, eso ya lo puede personalizar según lo necesite.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;Replication Tasks&lt;/strong&gt; debe seleccionar si quiere monitorear todas las tareas o solo alguna en específico. En este caso solo existe una Instancia de replicación creada por lo que la opción &lt;strong&gt;All instances&lt;/strong&gt; es suficiente. &lt;/p&gt;

&lt;p&gt;Finalmente puede seleccionar &lt;strong&gt;Create event subscription&lt;/strong&gt; para crear la alerta&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nLEbYBIU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qv696kr6rqwqzv854m33.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nLEbYBIU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qv696kr6rqwqzv854m33.png" alt="Creacion alerta1" width="880" height="665"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KynSgepD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/emtoqcjss1u02vk2jwn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KynSgepD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/emtoqcjss1u02vk2jwn5.png" alt="Creacion alerta2" width="880" height="703"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Luego de un par de minutos podrá ver en el panel que su alerta ha sido configurada exitosamente&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4pBVbmWG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/81fa21jxnw2tjdq7w5a1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4pBVbmWG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/81fa21jxnw2tjdq7w5a1.png" alt="Alerta error en tarea creada" width="880" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>security</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Desplegando servidor SFTP en AWS</title>
      <dc:creator>Misael Ramirez Espinosa</dc:creator>
      <pubDate>Sat, 08 Jan 2022 19:03:56 +0000</pubDate>
      <link>https://dev.to/misael_ramirez/desplegando-servidor-sftp-en-aws-5gjp</link>
      <guid>https://dev.to/misael_ramirez/desplegando-servidor-sftp-en-aws-5gjp</guid>
      <description>&lt;h2&gt;
  
  
  Introducción
&lt;/h2&gt;

&lt;p&gt;En el presente tutorial mostraremos como podemos subir archivos a la nube de AWS utilizando el protocolo de seguridad SFTP.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Requerimientos&lt;/li&gt;
&lt;li&gt;Arquitectura&lt;/li&gt;
&lt;li&gt;Tutorial&lt;/li&gt;
&lt;li&gt;Costos&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Requerimientos &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Cuenta en AWS.&lt;/li&gt;
&lt;li&gt;Aplicación FTP(Utilizamos Filezilla).&lt;/li&gt;
&lt;li&gt;ssh-keygen para generación de clave pública y privada.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Arquitectura &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

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

&lt;h2&gt;
  
  
  Tutorial &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Paso 1
&lt;/h4&gt;

&lt;p&gt;Lo primero que haremos es ir al servicio de S3 y crearemos un bucket que será donde almacenaremos los archivos que subamos mediante el servidor SFTP. En nuestro caso al bucket lo llamaremos &lt;em&gt;demo-sftp-99&lt;/em&gt;&lt;/p&gt;

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

&lt;h4&gt;
  
  
  Paso 2
&lt;/h4&gt;

&lt;p&gt;A continuación, nos dirigimos al servicio AWS Transfer Family y seleccionaremos "Create Server"&lt;/p&gt;

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

&lt;p&gt;En la sección 1 "Choose protocols" debemos seleccionar el tipo de transferencia que tendrá nuestro servidor, para ello nos desplega las siguientes opciones&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;SFTP: Transferencia segura utilizando SSH&lt;/li&gt;
&lt;li&gt;FTPS: Transferencia segura sobre protocolo de encriptación TLS&lt;/li&gt;
&lt;li&gt;FTP: Transferencia sobre canal no encriptado&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Seleccionaremos la opción &lt;strong&gt;SFTP&lt;/strong&gt;&lt;/p&gt;

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







&lt;p&gt;En la sección 2 "Choose an identity provider" debemos seleccionar el tipo de proveedor que nos permitirá almacenar las credenciales de acceso. Las opciones son las siguientes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Service Managed: Con Transfer Family administramos las credenciales de acceso.&lt;/li&gt;
&lt;li&gt;AWS Directory Service: Utilizamos AWS Directory Service para administrar las credenciales de acceso. Este servicio se utiliza para trabajar en la nube de AWS con Microsoft Active Directory&lt;/li&gt;
&lt;li&gt;Custom Identity Provider: Administramos las credenciales de acceso con un proveedor personalizado a elección.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Seleccionaremos la opción de &lt;strong&gt;Service Managed&lt;/strong&gt; para que posteriormente podamos crear un usuario directamente en el servidor SFTP.&lt;/p&gt;

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







&lt;p&gt;En la sección 3 "Choose an endpoint" debemos definir la configuración de seguridad del endpoint del servidor, para esto nos permite seleccionar lo siguiente:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Publicy accesible: Para que este disponible a través de internet&lt;/li&gt;
&lt;li&gt;VPC Hosted: Para que se encuentre dentro de una VPC y utilizando Security Group&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Para este tutorial nos basta con que se &lt;strong&gt;encuentre disponible sobre internet&lt;/strong&gt; ya que la seguridad de la transferencia la estamos manejando con el protocolo SFTP. En el caso que necesitemos aplicar seguridad al servidor, entonces podemos configurar una VPC y seleccionar la opción VPC Hosted.&lt;/p&gt;

&lt;p&gt;Al seleccionar esta opción, debemos definir en &lt;strong&gt;custom hostname&lt;/strong&gt; que implica seleccionar como se creará el endpoint del servidor SFTP. Las opciones disponibles son:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;None: Crear el endpoint por defecto utilizando AWS Transfer Family.&lt;/li&gt;
&lt;li&gt;Amazon Route53 DNS Alias: Utiliza un Alias de DNS generado con Route53.&lt;/li&gt;
&lt;li&gt;Other DNS: Utilizar un hostname que hayamos creado previamente con un servicio DNS externo.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Seleccionaremos &lt;strong&gt;None&lt;/strong&gt; para que el endpoint lo genere el mismo servicio de Transfer Family.&lt;/p&gt;

&lt;p&gt;La opción &lt;strong&gt;FIPS Enabled&lt;/strong&gt; es para asegurar que el endpoint cumpla con el estándar FIPS. La dejaremos desactivada.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbup4kmdfl0nz85o3jezn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbup4kmdfl0nz85o3jezn.png" alt="Choose an endpoint"&gt;&lt;/a&gt;&lt;/p&gt;





&lt;p&gt;En la sección 4 "Choose a domain" debemos definir el servicio de almacenamiento de los archivos a transferir:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Amazon S3: Para almacenar los archivos en un bucket de S3.&lt;/li&gt;
&lt;li&gt;Amazon EFS: Para almacenar los archivos en una instancia de EFS.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Seleccionaremos &lt;strong&gt;Amazon S3&lt;/strong&gt;. &lt;em&gt;La configuración del bucket se realiza al crear el usuario&lt;/em&gt;&lt;/p&gt;

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





&lt;p&gt;En la sección 5 "Configure additional details" debemos primero crear/seleccionar un role para el registro de los logs de CloudWatch. En nuestro caso dejaremos que el mismo servicio &lt;strong&gt;cree el role&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Luego en Cryptographic algorithm options debemos elegir la politica de seguridad referente al algoritmo de encriptación, la dejaremos por default &lt;strong&gt;"TransferSecurityPolicy-2020-06"&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;En la sub-sección Server Host Key nos permite ingresar la clave privada en caso que deseemos migrar desde un servidor SFTP existente. En nuestro caso no aplica por lo que quedará &lt;strong&gt;vacio&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;En Tags podemos agregar las etiquetas que necesitemos, aunque esto es opcional por lo que nosotros no lo haremos por el momento.&lt;/p&gt;

&lt;p&gt;En Managed Workflows nos permite crear/seleccionar un flujo de trabajo en caso que necesitemos generar un procesamiento del tipo copiar, borrar, tagear o invocar una función lambda al archivo subido. Para propósitos de este tutorial no profundizaremos en esto, pero es una opción muy interesante a seguir explorando en el futuro.&lt;/p&gt;

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





&lt;p&gt;Hemos llegado al término del proceso de creación del servidor SFTP, por lo que en la sección 6 de "Review and create" clickearemos Create Server para lanzar el servicio.&lt;/p&gt;

&lt;p&gt;La creación del servicio demora entre 3 a 5 minutos, por lo que cuando su estado sea Online, podemos continuar con el siguiente paso&lt;/p&gt;

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

&lt;p&gt;Seleccionaremos el servidor que acabamos de desplegar y lo que debemos hacer a continuación es crear el usuario que nos permitirá subir los archivos. Para ello iremos a la sección "Users" y seleccionaremos Add user.&lt;/p&gt;

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

&lt;p&gt;En la sección User configuration debemos ingresar los parámetros que tendrá el usuario. Para ello en Username colocaremos &lt;strong&gt;sftp-user&lt;/strong&gt;. En Role debemos previamente haber creado un role con la siguiente estructura:&lt;/p&gt;

&lt;p&gt;En IAM iremos a Create Role y la primera sección de Choose a use case elegiremos &lt;strong&gt;Transfer&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;En Attach permissions policies seleccionaremos la politica administrada de AWS &lt;strong&gt;AmazonS3FullAccess&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Por último en Review colocaremos el nombre &lt;strong&gt;demo-sftp&lt;/strong&gt; al role.&lt;/p&gt;

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

&lt;p&gt;Volvemos a la pestaña de creación del usuario del servidor y seleccionaremos el role que acabamos de crear(Si no aparece inmediatamente podemos darle al refresh que está justo a la derecha).&lt;/p&gt;

&lt;p&gt;No aplicaremos ninguna política extra al usuario por lo que dejaremos la opción &lt;strong&gt;None&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En Home Directory debemos seleccionar el bucket que creamos en el paso 1 al cual colocamos &lt;strong&gt;demo-sftp-99&lt;/strong&gt; e inmediatamente el recuadro inferior lo rellenará con el nombre del usuario que ingresamos en la primera casilla. Esto significa que dentro del bucket de S3, al subir un archivo con este usuario, creará una "carpeta" en donde quedará almacenado. Este valor lo podemos cambiar a discreción, pero se recomienda dejarlo por defecto porque en el futuro podemos crear nuevos usuarios que eventualmente podrian generar confusión al no tener asignada una carpeta con el mismo nombre para cada usuario.&lt;/p&gt;

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

&lt;p&gt;En SSH public keys debemos ingresar la clave pública que funcionará como credencial de acceso para este usuario. Para generar la clave pública y privada utilizamos el siguiente comando&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-keygen -f nombre_archivo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto nos generará dos archivos, uno con terminación .pub(Clave pública) y el otro no(Clave privada). Copiaremos el contenido del archivo .pub y lo pegaremos en la sección SSH public key.&lt;br&gt;
&lt;strong&gt;IMPORTANTE ALMACENAR AMBOS ARCHIVOS. LA CLAVE PRIVADA NO DEBE COMPARTIRSE NI ENVIARSE A TRAVÉS DE INTERNET PARA EVITAR QUE EXTERNOS PUEDAN ACCEDER A NUESTRO SERVIDOR SFTP.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Una vez tengamos todos los parámetros ingresado podemos seleccionar "Add user".&lt;/p&gt;

&lt;p&gt;Ahora en la sección User veremos el usuario que acabamos de crear.&lt;/p&gt;

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

&lt;h4&gt;
  
  
  Paso 4
&lt;/h4&gt;

&lt;p&gt;Abriremos el programa FTP que hayamos seleccionado, nosotros utilizaremos Filezilla. Iremos a Archivo y luego a Gestor de Sitios. &lt;/p&gt;

&lt;p&gt;Esto nos deplegará una ventana en donde crearemos el Nuevo sitio para nuestro servidor. Para ello en la sección Protocolo de la parte derecha de la ventana seleccionaremos &lt;strong&gt;SFTP - SSH File Transfer Protocol&lt;/strong&gt;. En Servidor pegaremos el endpoint ubicado en la sección Endpoint Details de nuestro servidor. El &lt;strong&gt;puerto es el 22&lt;/strong&gt;. En el modo de acceso seleccionamos &lt;strong&gt;Archivo de claves&lt;/strong&gt; y luego en el Usuario colocaremos el nombre del usuario creado en el paso 3, en nuestro caso &lt;strong&gt;sftp-user&lt;/strong&gt;. En archivo de claves seleccionaremos la &lt;strong&gt;clave privada&lt;/strong&gt; que generamos con ssh-keygen en el paso 3.&lt;/p&gt;

&lt;p&gt;Ahora ya estamos en condiciones de conectarnos y comenzar a subir los archivos que deseemos&lt;/p&gt;

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

&lt;h4&gt;
  
  
  Paso 5 - Subida de archivos
&lt;/h4&gt;

&lt;p&gt;Para nuestra primera subida solo basta con arrastrar el o los archivos que deseemos a la parte derecha inferior de Filezilla.&lt;/p&gt;

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

&lt;p&gt;Ahora iremos a revisar a S3 el archivo que acabamos de subir, para ello buscaremos el bucket demo-sftp-99 y luego sftp-user, en donde se encontrará el archivo.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Costos &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Tutorial
&lt;/h3&gt;

&lt;p&gt;Considerando que estamos desplegando el servidor en una cuenta personal, es importante que conozcamos de antemano los costos que tendrá el despliegue de esta solución. Para esto debemos considerar tres aspectos, el primero es &lt;strong&gt;cuantos protocolos estamos desplegando&lt;/strong&gt;(con esto me refiero a si usamos SFTP, FTP, FTPS), el segundo es el &lt;strong&gt;tiempo que estará desplegado el servidor SFTP&lt;/strong&gt; y por último la &lt;strong&gt;cantidad de data transferida&lt;/strong&gt;.&lt;br&gt;
Para este tutorial, tendremos desplegado el servidor durante &lt;strong&gt;1 hora&lt;/strong&gt; con una &lt;strong&gt;transferencia de datos de 0.5 GB&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Utilizando la &lt;a href="https://calculator.aws/#/createCalculator/TransferFamily" rel="noopener noreferrer"&gt;AWS Pricing Calculator&lt;/a&gt; realizaremos el cálculo.&lt;/p&gt;

&lt;p&gt;Detalle: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 protocolo SFTP x 1 hora x 0.30 USD = 0.30 USD (costo por protocolos)&lt;/li&gt;
&lt;li&gt;0.50 GB x 0.04 USD = 0.02 USD (costo por transferencia de subida)&lt;/li&gt;
&lt;li&gt;0.50 GB x 0.04 USD = 0.02 USD (costo por transferencia de bajada)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;0.30 USD + 0.02 USD + 0.02 USD = 0.34 USD&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Costo AWS Transfer tutorial: 0.34 USD&lt;/strong&gt;&lt;/p&gt;

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

&lt;h4&gt;
  
  
  Ambiente productivo
&lt;/h4&gt;

&lt;p&gt;Considerando que requerimos desplegar esta solución en un ambiente productivo, por lo que consideramos 720 horas al mes(24hr * 30 días) y con una cuota de transferencia de datos de 10 GB en promedio mensual. En base a esto, el detalle es el siguiente&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 protocolo SFTP x 720 horas x 0.30 USD = 216.00 USD (costo por protocolos)&lt;/li&gt;
&lt;li&gt;10 GB x 0.04 USD = 0.40 USD (costo por transferencia de subida)&lt;/li&gt;
&lt;li&gt;10 GB x 0.04 USD = 0.40 USD (costo por transferencia de bajada)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;216.00 USD + 0.40 USD + 0.40 USD = 216.80 USD&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Costo AWS Transfer (mensual): 216.80 USD&lt;/p&gt;

&lt;p&gt;Evidenciamos que los costos se eleven considerablemente, por lo que si no estamos dispuestos a desembolsar esa cantidad de dólares mensualmente, debemos de buscar alguna estrategia. Una que se me ocurre es desplegar esta solución solo cuando la necesitemos, realizando el despliegue mediante IaaC(Infraestructura como código) mediante un CloudFormation &lt;/p&gt;

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

&lt;h2&gt;
  
  
  Tutorial en YouTube
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://youtu.be/oH5fxQoaXbM" rel="noopener noreferrer"&gt;Tutorial&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fuente:&lt;br&gt;
&lt;a href="https://calculator.aws/#/createCalculator/TransferFamily" rel="noopener noreferrer"&gt;https://calculator.aws/#/createCalculator/TransferFamily&lt;/a&gt;&lt;br&gt;
&lt;a href="https://aws.amazon.com/aws-transfer-family/pricing/" rel="noopener noreferrer"&gt;https://aws.amazon.com/aws-transfer-family/pricing/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>security</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
