Instale Discourse na Amazon Web Services (AWS) com Lightsail, SES e Route 53

:information_source: Este tópico abrange como instalar o Discourse usando as instruções oficiais de instalação com serviços da AWS para o provedor de DNS (Route 53), provedor de e-mail (SES) e provedor de servidor em nuvem (Lightsail).

Servidor em Nuvem

Lightsail

  • O padrão de 1 GB de RAM funciona bem para pequenas comunidades Discourse. Recomendamos 2 GB de RAM para comunidades maiores.

^ Por $5/m você pode obter um servidor que atende ao requisito mínimo do Discourse, eu uso um de $10/m, mas pensei que $5/m também funcionaria.

Servidor de E-mail

Você não pode recuperar a chave secreta, mas se a perdeu, pode criar uma nova para usar.

Domínio

Configuração passo a passo

  1. Siga a documentação do Route 53 para comprar um domínio.

Se você recebeu um e-mail de ‘impossível processar’ nesta etapa, a AWS pode precisar revisar sua conta primeiro, abra um caso de suporte para que eles o notifiquem quando sua conta for revisada e puder começar a comprar.

  1. Configurar registro DNS
    Abra o console do Route 53

Selecione Zonas hospedadas → criar zona hospedada → preencha o nome do seu domínio → role para baixo, clique em criar zona hospedada

Clique no nome do domínio, adicione um registro A com o valor do endereço IP do seu servidor em nuvem Lightsail, ele pode ser encontrado no seu console Lightsail. (Bloco vermelho)

  1. Configurar SES
    Abra o console do SES

Selecione Identidades verificadas → criar identidade → preencha o nome do seu domínio (tipo domínio) → role para baixo, clique em criar identidade
crie identidade → preencha um endereço de e-mail que você usará para registrar a conta de administrador (tipo endereço de e-mail) → role para baixo, clique em criar identidade


Como registramos o domínio no Route 53, a verificação levará cerca de 5 minutos, você receberá um e-mail para verificar o endereço de e-mail.

Quando ambos estiverem verificados, clique no nome do domínio, encontre Publicar registros DNS, copie e cole o par de DNS no seu Route 53, na zona hospedada que você acabou de criar na etapa 2.

Vá para as configurações de SMTP e clique em criar credencial de SMTP, siga as etapas e baixe um arquivo CSV incluindo o nome de usuário e a senha do SMTP.

O endpoint SMTP também está listado abaixo nesta página.

  1. Configurar Discourse
    As etapas acima cobrem as etapas 1-3 em as instruções oficiais de instalação. Continue seguindo as etapas 4-6.
Hostname para seu Discourse? [discourse.example.com]: // seu domínio
Endereço de e-mail para conta(s) de administrador? /[me@example.com,you@example.com]: // o que você verificou nas identidades verificadas do SES
Endereço do servidor SMTP? [smtp.example.com]: // endpoint SMTP
Porta SMTP? [587]: // use o padrão
Nome de usuário SMTP? [user@example.com]: // no seu arquivo CSV baixado
Senha SMTP? [pa$$word]: // no seu arquivo CSV baixado
E-mail da conta Let's Encrypt? (ENTER para pular) [me@example.com]: // use o padrão
Chave de licença Maxmind opcional () [xxxxxxxxxxxxxxxx]: // use o padrão

Aguarde a instalação, então você poderá registrar a conta de administrador com a que você forneceu acima nas configurações.

  1. Após a instalação
    Quando estiver pronto para apresentar sua comunidade a novos usuários, solicite o acesso de produção do SES.
Na descrição do caso de uso, explique como você planeja usar o Amazon SES para enviar e-mails. Para nos ajudar a processar sua solicitação, você deve responder às seguintes perguntas:

Como você planeja construir ou adquirir sua lista de e-mails?

Como você planeja lidar com rejeições e reclamações?

Como os destinatários podem optar por não receber e-mails seus?

Como você escolheu a taxa de envio ou a cota de envio que especificou nesta solicitação?

É recomendado seguir o guia de solicitação no URL, mas isso não garante aprovação. Se você receber um e-mail de rejeição, tente adicionar capturas de tela da lista de registro de novos usuários e diga a eles que o novo usuário está aguardando o e-mail de ativação.

3 curtidas

Alguém pode, por favor, atualizar um tutorial passo a passo adequado para hospedar o Discourse no AWS Lightsail com SES.

Você tem motivos para acreditar que algo está errado?

3 curtidas

Achei o guia aqui super útil para fazer um teste das configurações do SES

basta copiar/colar o script mostrado lá para um novo arquivo de script, modificar o endpoint (por exemplo, email-smtp.us-east-1.amazonaws.com), e parece funcionar bem. Por algum motivo, o método telnet não parece funcionar com o SES, não tenho certeza do porquê.

ah sim, para aquele guia, eu também fiz isso para “criar um conjunto de configuração”, não tenho certeza se foi realmente necessário ou não para o Discourse, mas fiz mesmo assim para poder testar o SES como descrito no script Creating configuration sets in SES - Amazon Simple Email Service

aqui está outra coisa que me confundiu: Publishing an MX record for Amazon SES email receiving - Amazon Simple Email Service

Para o registro MX de DNS necessário para aplicar ao seu domínio, o AWS SES fornece o “Valor” do registro em um formato como este;

10 inbound-smtp.region.amazonaws.com

No entanto, meu registrador de domínio me deu um erro de que “o Valor deve ser um nome de host”, ou seja, ele não gostou do "10 " que estava prefixado nele. O Console AWS não informou diretamente o que isso significava ou o que fazer com isso, então, de acordo com os docs vinculados lá, você precisa fazer isso para o seu Registrador de DNS;

Os consoles de gerenciamento de alguns provedores de DNS incluem campos separados para o Valor do registro e a Prioridade do registro. Se este for o caso do seu provedor de DNS, insira 10 para o valor da Prioridade e insira o URL do endpoint de e-mail de entrada para o Valor.

Deve ficar assim no painel do seu Registrador de Domínio;

1 curtida

Como acompanhamento, talvez possamos expandir esta postagem para incluir a configuração do AWS Cloudfront CDN? Como ele se encaixa bem com o restante da pilha AWS descrita aqui. Consegui colocá-lo em funcionamento seguindo o conselho deste post

mas um guia mais completo seria ótimo de incluir.