As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Registre várias AWS contas com um único endereço de e-mail usando a Amazon SES
Criado por Joe Wozniak (AWS) e Shubhangi Vishwakarma () AWS
Repositório de códigos: GitHub aws-account-factory-email | Ambiente: PoC ou piloto | Tecnologias: Infraestrutura; Gestão e governança; Mensagens e comunicações |
AWSserviços: AWS Lambda; AmazonSES; Amazon DynamoDB |
Resumo
Esse padrão descreve como você pode dissociar endereços de e-mail reais do endereço de e-mail associado a uma AWS conta. AWSas contas exigem que um endereço de e-mail exclusivo seja fornecido no momento da criação da conta. Em algumas organizações, a equipe que gerencia AWS contas deve assumir a responsabilidade de gerenciar vários endereços de e-mail exclusivos com sua equipe de mensagens. Isso pode ser difícil para grandes organizações que gerenciam muitas AWS contas.
Esse padrão fornece uma solução exclusiva de venda automática de endereços de e-mail que permite que os proprietários AWS da conta associem um endereço de e-mail a várias AWS contas. Os endereços de e-mail reais dos proprietários da AWS conta são então associados a esses endereços de e-mail gerados em uma tabela. A solução lida com todos os e-mails recebidos para as contas de e-mail exclusivas, pesquisa o proprietário de cada conta e, em seguida, encaminha todas as mensagens recebidas para o proprietário.
Pré-requisitos e limitações
Pré-requisitos
Acesso administrativo a uma AWS conta.
Acesso a um ambiente de desenvolvimento. Recomendamos que você use o AWS Cloud9 para evitar ter que configurar você mesmo as ferramentas e as chaves de acesso necessárias.
(Opcional) A familiaridade com os fluxos de trabalho do AWS Cloud Development Kit (AWSCDK) e com a linguagem de programação Python ajudará você a solucionar problemas ou fazer modificações.
Limitações
O tamanho geral do endereço de e-mail vendido é de 64 caracteres. Para obter detalhes, consulte CreateAccounta APIreferência de AWS Organizations.
Versões do produto
Node.js versão 12.7.0 ou superior
Python 3.9 ou superior
Pacotes Python pip e virtualenv
AWSCDKversão 2.23.0 ou posterior
Docker 20.10.x ou superior
Arquitetura
Pilha de tecnologias de destino
AWS CloudFormation pilha
AWSFunções Lambda
Regra e conjunto de regras do Amazon Simple Email Address (AmazonSES)
AWSFunções e políticas do Identity and Access Management (IAM)
O bucket do Amazon Simple Storage Service (Amazon S3) e política de bucket.
AWSChave e política de chaves do Key Management Service (AWSKMS)
Tópico e política de tópicos do Amazon Simple Notification Service (AmazonSNS)
Tabela do Amazon DynamoDB
Arquitetura de destino
Esse diagrama mostra dois fluxos:
Fluxo de venda automática de endereços de e-mail: no diagrama, o fluxo de venda automática de endereços de e-mail (seção inferior) geralmente inicia com uma solução de venda automática de contas ou automação externa, ou é invocado manualmente. Na solicitação, uma função do Lambda é chamada com uma carga que contém os metadados necessários. A função usa essas informações para gerar um nome de conta e endereço de e-mail exclusivos, armazenar em um banco de dados do DynamoDB e retornar os valores ao chamador. Esses valores podem então ser usados para criar uma nova AWS conta (normalmente usando AWS Organizations).
Fluxo de encaminhamento de e-mail: esse fluxo é ilustrado na seção superior do diagrama anterior. Quando uma AWS conta é criada usando o e-mail da conta gerado a partir do fluxo de venda automática de endereços de e-mail, AWS envia vários e-mails, como confirmação do registro da conta e notificações periódicas, para esse endereço de e-mail. Seguindo as etapas desse padrão, você configura sua AWS conta na Amazon SES para receber e-mails de todo o domínio. Essa solução configura regras de encaminhamento que permitem ao Lambda processar todos os e-mails recebidos, verificar se o endereço
TO
está na tabela do DynamoDB e encaminhar a mensagem para o endereço de e-mail do proprietário da conta. O uso desse processo dá aos proprietários da conta a capacidade de associar várias contas a um endereço de e-mail.
Automação e escala
Esse padrão usa o AWS CDK para automatizar totalmente a implantação. A solução usa serviços AWS gerenciados que serão (ou podem ser configurados para) escalar automaticamente para atender às suas necessidades. As funções do Lambda podem exigir configuração adicional para atender às suas necessidades de escalabilidade. Para obter mais informações, consulte Escalabilidade da função do Lambda na documentação do Lambda.
Ferramentas
AWSserviços
AWSO Cloud9 é um ambiente de desenvolvimento integrado IDE () que ajuda você a codificar, criar, executar, testar e depurar software. Também ajuda você a lançar software na AWS nuvem.
AWS CloudFormationajuda você a configurar AWS recursos, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida em todas AWS as contas e regiões.
AWSA interface de linha de comando (AWSCLI) é uma ferramenta de código aberto que ajuda você a interagir com AWS serviços por meio de comandos em seu shell de linha de comando.
O Amazon DynamoDB é um serviço SQL sem banco de dados totalmente gerenciado que fornece desempenho rápido, previsível e escalável.
AWSO Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
AWSO Key Management Service (AWSKMS) ajuda você a criar e controlar chaves criptográficas para ajudar a proteger seus dados.
AWSO Lambda é um serviço de computação que ajuda você a executar código sem precisar provisionar ou gerenciar servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
O Amazon Simple Email Service (AmazonSES) ajuda você a enviar e receber e-mails usando seus próprios endereços de e-mail e domínios.
O Amazon Simple Notification Service (AmazonSNS) ajuda você a coordenar e gerenciar a troca de mensagens entre editores e clientes, incluindo servidores web e endereços de e-mail.
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
Ferramentas necessárias para implantação
Ambiente de desenvolvimento com AWS CLI e IAM acesso à sua AWS conta. Para obter detalhes, consulte os links na seção Recursos relacionados. Recomendamos que você use o AWS Cloud9 para simplificar o processo de configuração.
Se você usa o AWS Cloud9, o seguinte será configurado para você. Se você optar por não usar o AWS Cloud9, precisará instalar o seguinte:
O AWS CLI para configurar as credenciais de acesso para o. AWS CDK Para obter mais informações, consulte a AWSCLIdocumentação.
Python, versão 3.9 ou superior.
Pacotes Python pip e virtualenv
Node.js versão 12.7.0 ou superior
AWSCDKversão 2.23.0 ou posterior
Docker, versão 20.10 ou superior.
Código
O código desse padrão está disponível no repositório de e-mail da fábrica da GitHub AWS conta
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Identifique ou crie uma AWS conta. | Identifique uma AWS conta nova ou existente à qual você tenha acesso administrativo total para implantar a solução de e-mail. | AWSadministrador, administrador de nuvem |
Configurar um ambiente de implantação. | Configure um ambiente de implantação fácil de usar e configure dependências seguindo estas etapas:
| AWS DevOps, Desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Identifique e aloque um domínio. | A funcionalidade de encaminhamento de e-mail requer um domínio dedicado. Identifique e aloque um domínio ou subdomínio que você possa verificar com a Amazon. SES Esse domínio deve estar disponível para receber e-mails na AWS conta em que a solução de encaminhamento de e-mail está implantada. Requisitos de domínio:
| Administrador de nuvem, administrador de rede, DNS administrador |
Verificar o domínio. | Verifique se o domínio identificado pode ser usado para aceitar e-mails recebidos. Complete as instruções em Verificando seu domínio para recebimento de SES e-mails da Amazon na SES documentação da Amazon. Isso exigirá coordenação com a pessoa ou equipe responsável pelos DNS registros do domínio. | Desenvolvedor de aplicativos, AWS DevOps |
Configurar registros MX. | Configure seu domínio com registros MX que apontam para os SES endpoints da Amazon em sua AWS conta e região. Para obter mais informações, consulte Publicar um registro MX para recebimento de SES e-mails da Amazon na SES documentação da Amazon. | Administrador de nuvem, administrador de rede, DNS administrador |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Modifique os valores padrão em cdk.json. | Edite alguns dos valores padrão no arquivo
| Desenvolvedor de aplicativos, AWS DevOps |
Implante a solução de venda e encaminhamento de e-mails. |
| Desenvolvedor de aplicativos, AWS DevOps |
Verificar se a solução foi implantada. | Verificar se a solução foi implantada com sucesso antes de começar o teste:
| Desenvolvedor de aplicativos, AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Verifique se o API está funcionando. | Nesta etapa, você envia dados de teste para a solução API e confirma se a solução produz a saída esperada e se as operações de back-end foram executadas conforme o esperado. Execute manualmente a função do Lambda Vend Email usando a entrada de teste. (Para ver um exemplo, consulte o arquivo sample_vend_request.json | Desenvolvedor de aplicativos, AWS DevOps |
Verificar se o e-mail está sendo encaminhado. | Nesta etapa, você enviará um e-mail de teste pelo sistema e verifica se o e-mail foi encaminhado para o destinatário esperado.
| Desenvolvedor de aplicativos, AWS DevOps |
Solução de problemas
Problema | Solução |
---|---|
O sistema não encaminha e-mails conforme o esperado. | Verificar se sua configuração está correta:
Depois de verificar a configuração do domínio, siga estas etapas:
|
Ao tentar implantar a AWS CDK pilha, você recebe um erro semelhante a: “Erro no formato do modelo: tipos de recursos não reconhecidos” | Na maioria dos casos, essa mensagem de erro significa que a região que você está segmentando não tem todos os AWS serviços disponíveis. Se você estiver usando o AWS Cloud9 para implantar a solução, talvez esteja visando uma região diferente da região em que a instância do AWS Cloud9 está sendo executada. Nota: Por padrão, o AWS CDK implementa na região e na conta que você configurou no AWSCLI. Soluções possíveis:
|
Ao implementar a solução, você recebe a mensagem de erro: “Falha na implantação: Erro: AwsMailFwdStack: SSM parâmetro /cdk-bootstrap/hnb659fds/versão não encontrada. O ambiente foi inicializado? Por favor, execute 'cdk bootstrap'” | Se você nunca implantou nenhum AWS CDK recurso na AWS conta e na região que está almejando, primeiro precisará executar o Para resolver esse problema, defina a variável de |
Recursos relacionados
Para obter ajuda na instalação do AWSCLI, consulte Instalar ou atualizar a versão mais recente do AWS CLI.
Para obter ajuda na configuração do AWS CLI com credenciais de IAM acesso, consulte Configurar o. AWS CLI
Para obter ajuda com o AWSCDK, consulte Introdução ao AWS CDK.
Mais informações
Custos
Quando você implanta essa solução, o titular da AWS conta pode incorrer em custos associados ao uso dos seguintes serviços. É importante entender como esses serviços são cobrados para estar ciente de quaisquer possíveis cobranças. Para obter mais informações sobre definição de preço, veja as seguintes páginas: