Instalar Discourse en Amazon Web Services (AWS) con Lightsail, SES y Route 53

:information_source: Este tema cubre cómo instalar Discourse utilizando las instrucciones oficiales de instalación con servicios de AWS para el proveedor de DNS (Route 53), el proveedor de correo electrónico (SES) y el proveedor de servidores en la nube (Lightsail).

Servidor en la nube

Lightsail

  • La configuración predeterminada de 1 GB de RAM funciona bien para comunidades pequeñas de Discourse. Recomendamos 2 GB de RAM para comunidades más grandes.

^ Por $5/mes puedes obtener un servidor que cumple el requisito mínimo de Discourse, yo uso uno de $10/mes pero pensé que $5/mes también funcionaría.

Servidor de correo

No puedes recuperar la clave secreta, pero si la pierdes, puedes crear una nueva para usarla.

Dominio

Configuración paso a paso

  1. Sigue la documentación de Route 53 para comprar un dominio.

Si recibiste un correo electrónico de ‘imposible de procesar’ en este paso, es posible que AWS necesite revisar tu cuenta primero, abre un caso de soporte para que te notifiquen cuando tu cuenta haya sido revisada y puedas comenzar a comprar.

  1. Configurar registro DNS
    Abre la consola de Route 53

selecciona Zonas alojadas → crear zona alojada → introduce el nombre de tu dominio → desplázate hacia abajo, haz clic en crear zona alojada

Haz clic en el nombre del dominio, agrega un registro A con el valor de la dirección IP de tu servidor en la nube de Lightsail, se puede encontrar en tu consola de Lightsail. (Bloque rojo)

  1. Configurar SES
    Abre la consola de SES

selecciona Identidades verificadas → crear identidad → introduce el nombre de tu dominio (tipo dominio) → desplázate hacia abajo, haz clic en crear identidad
crear identidad → introduce una dirección de correo electrónico que usarás para registrar la cuenta de administrador (tipo dirección de correo electrónico) → desplázate hacia abajo, haz clic en crear identidad


Dado que registramos el dominio en Route 53, la verificación tardará unos 5 minutos, recibirás un correo electrónico para verificar la dirección de correo electrónico.

Cuando ambos estén verificados, haz clic en el nombre del dominio, busca Publicar registros DNS, copia y pega el par de DNS en tu Route 53, debajo de la zona alojada que acabas de crear en el paso 2.

Ve a la configuración de SMTP y haz clic en crear credencial de SMTP, sigue los pasos y descarga un archivo CSV que incluye el nombre de usuario y la contraseña de SMTP.

El punto final de SMTP también se muestra más abajo en esta página.

  1. Configurar Discourse
    Los pasos anteriores cubren los pasos 1-3 en las instrucciones oficiales de instalación. Continúa siguiendo los pasos 4-6.
Nombre de host para tu Discourse? [discourse.example.com]: // tu dominio
Dirección de correo electrónico para la(s) cuenta(s) de administrador? /[me@example.com,you@example.com]: // la que verificaste en las Identidades verificadas de SES
Dirección del servidor SMTP? [smtp.example.com]: // punto final SMTP
Puerto SMTP? [587]: // usa el predeterminado
Nombre de usuario SMTP? [user@example.com]: // en tu archivo CSV descargado
Contraseña SMTP? [pa$$word]: // en tu archivo CSV descargado
Correo electrónico de cuenta de Let's Encrypt? (ENTER para omitir) [me@example.com]: // usa el predeterminado
Clave de licencia opcional de Maxmind () [xxxxxxxxxxxxxxxx]: // usa el predeterminado

Espera la instalación, luego podrás registrar la cuenta de administrador con la que proporcionaste anteriormente en la configuración.

  1. Después de la instalación
    Cuando estés listo para presentar tu comunidad a nuevos usuarios, solicita el acceso de producción de SES.
En la descripción del caso de uso, explica cómo planeas usar Amazon SES para enviar correos electrónicos. Para ayudarnos a procesar tu solicitud, debes responder a las siguientes preguntas:

¿Cómo planeas crear o adquirir tu lista de correo?

¿Cómo planeas manejar los rebotes y las quejas?

¿Cómo pueden los destinatarios optar por no recibir correos electrónicos tuyos?

¿Cómo elegiste la tasa de envío o la cuota de envío que especificaste en esta solicitud?

Se recomienda seguir la guía de solicitud en la URL, pero no garantiza la aprobación, si recibes un correo electrónico de rechazo, intenta agregar capturas de pantalla de la lista de registro de nuevos usuarios y diles que el nuevo usuario está esperando el correo electrónico de activación.

3 Me gusta

¿Alguien puede actualizar un tutorial paso a paso adecuado para alojar Discourse en AWS Lightsail con SES?

¿Tiene motivos para creer que algo anda mal?

3 Me gusta

Encontré que la guía de aquí fue muy útil para hacer una prueba de las configuraciones de SES

simplemente copia y pega el script que se muestra allí en un nuevo archivo de script, modifica el punto final (por ejemplo, email-smtp.us-east-1.amazonaws.com), y parece que funciona bien. Por alguna razón, el método telnet no parece funcionar con SES, no estoy seguro de por qué.

Ah, sí, para esa guía también hice esto para “crear un conjunto de configuración”, no estoy seguro de si fue realmente necesario o no para Discourse, pero lo hice de todos modos solo para poder probar SES como se describe en el script Creating configuration sets in SES - Amazon Simple Email Service

aquí hay otra cosa que me confundió: Publishing an MX record for Amazon SES email receiving - Amazon Simple Email Service

Para el registro MX de DNS requerido que se aplica a tu dominio, AWS SES proporciona el “Valor” del registro en un formato como este:

10 inbound-smtp.region.amazonaws.com

Sin embargo, mi registrador de dominio me dio un error de que “el Valor debe ser un nombre de host”, es decir, no le gustó el "10 " que estaba prefijado. La consola de AWS no te decía directamente qué significaba eso o qué hacer con ello, así que, según los documentos vinculados allí, debes hacer esto para tu registrador de DNS:

Las consolas de administración de algunos proveedores de DNS incluyen campos separados para el Valor del registro y la Prioridad del registro. Si este es el caso de tu proveedor de DNS, introduce 10 para el valor de Prioridad e introduce la URL del punto final de correo entrante para el Valor.

Debería verse así en el panel de tu registrador de dominio:

1 me gusta

Como seguimiento, ¿quizás podríamos ampliar esta publicación para incluir la configuración de AWS Cloudfront CDN? Ya que encaja bien con el resto de la pila de AWS descrita aquí. Lo hice funcionar siguiendo el consejo de esta publicación

pero sería genial incluir una guía más completa.