Saltar al contenido
CLF-C02Sesión 12 · Mensajería y datos

Hazlo tú (20 min)

Creas una cola SQS y un tema SNS que te avisa por correo; como opción, suscribes la cola al tema. Al final borras todo.

Costo: $0. SQS (1 millón de solicitudes) y SNS (1 millón de publicaciones y 1.000 correos) son gratis cada mes, siempre y en los dos planes; usarás unas decenas. No crees suscripciones SMS: cobran por mensaje.

Plan gratuito: incluye SQS y SNS. Kinesis solo está en el plan de pago; Athena y Kinesis se trabajan en papel, en la parte D.

Identidad: estudio-diario, con MFA, y el rol laboratorio-escritura, cuyo PowerUserAccess permite todo SQS y SNS. No hace falta crear roles, ni usuario raíz, ni claves de acceso.

Correo: usa una dirección tuya, nunca la de otra persona. La confirmación llega de “AWS Notifications” y puede caer en spam; sin confirmar, la suscripción se borra sola a las 48 horas.

Parte A · La cola (con el rol).

  1. Entra con estudio-diario, elige tu Región de la Sesión 2 y luego Switch role › laboratorio.
  2. Abre Simple Queue Service y elige Create queue. Deja Type en Standard y escribe pedidos-s12 en Name.
  3. Deja el resto como viene: Visibility timeout de 30 segundos, Message retention period de 4 días, cifrado y Access policy. Elige Create queue.
  4. En la cola, elige Send and receive messages. En Message body escribe {"pedido": 1, "total": 25} y elige Send message.
  5. Baja a Receive messages y elige Poll for messages. Aparece tu mensaje; ábrelo para ver el cuerpo. Fíjate en Receive count.
  6. Vuelve a elegir Poll for messages; si no aparece, espera 30 segundos y repite. El mismo mensaje vuelve, con un Receive count mayor: leerlo no lo borró.
  7. Marca el mensaje, elige Delete y confirma. Un nuevo sondeo ya no trae nada.

Comprueba: explicas por qué el mensaje reapareció en el paso 6 y qué habría pasado si tu consumidor se caía antes de borrarlo.

Parte B · El tema y tu correo (con el rol).

  1. Abre Simple Notification Service, elige Topics y luego Create topic.
  2. En Type elige Standard, no FIFO: las suscripciones de correo solo funcionan con temas estándar. En Name escribe avisos-s12. No actives Encryption. Elige Create topic.
  3. En la página del tema, pestaña Subscriptions, elige Create subscription. En Protocol elige Email y en Endpoint escribe tu correo. Elige Create subscription: su estado es Pending confirmation.
  4. En tu buzón, abre el correo de “AWS Notifications” (revisa spam) y elige Confirm subscription. En la consola, actualiza: el estado pasa a Confirmed.
  5. Vuelve al tema y elige Publish message. En Subject escribe Prueba S12 y en el cuerpo del mensaje, Pedido 1 creado. Elige Publish message.

Comprueba: el correo llega en segundos, sin que lo pidieras: SNS empuja.

Parte C (opcional) · El abanico (con el rol, 5 min).

  1. En Simple Queue Service, abre pedidos-s12 y elige Actions › Subscribe to Amazon SNS topic. Elige avisos-s12 y luego Save.
  2. En la pestaña Access policy de la cola, SQS añadió un permiso: sns.amazonaws.com puede hacer sqs:SendMessage, solo desde tu tema.
  3. En SNS, publica en avisos-s12 otro mensaje: Pedido 2 creado.
  4. Llega el correo. En la cola, elige Send and receive messages › Poll for messages: el mensaje llega envuelto en un JSON con "Type" : "Notification" y tu texto en "Message". Bórralo.

Comprueba: una sola publicación llegó a dos destinos. El correo llegó solo (push); la cola esperó a que preguntaras (pull).

Limpieza (con el rol, antes de Switch back):

  1. En SNS, elige Subscriptions, marca las suscripciones de avisos-s12 (la de correo y, si hiciste la parte C, la de la cola) y elige Delete.
  2. En Topics, marca avisos-s12, elige Delete, escribe el texto que pide y confirma.
  3. En SQS, en Queues, marca pedidos-s12, elige Delete, escribe la palabra que pide y confirma.
  4. Comprueba que las listas de Topics, Subscriptions y Queues no muestran nada de esta sesión. Elige Switch back: vuelves a ser estudio-diario, solo lectura.

Parte D · En papel (5 min). Elige SQS, SNS, EventBridge, Athena, Kinesis Data Streams o Data Firehose para cada caso:

  1. Guardar en S3, sin escribir código, los registros que envían mil servidores cada segundo.
  2. Ver el mes pasado cuántas reservas hubo por país, con datos CSV que ya están en S3.
  3. Avisar a la vez a facturación, inventario y al equipo de ventas de cada pedido nuevo.
  4. Detectar en segundos una transacción sospechosa entre miles por segundo.
147