Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Registra più AWS account con un unico indirizzo e-mail utilizzando Amazon SES
Creato da Joe Wozniak () e Shubhangi Vishwakarma () AWS AWS
Deposito di codici: GitHub aws-account-factory-email | Ambiente: PoC o pilota | Tecnologie: infrastruttura; gestione e governance; messaggistica e comunicazioni |
AWSservizi: AWS Lambda; AmazonSES; Amazon DynamoDB |
Riepilogo
Questo modello descrive come è possibile disaccoppiare gli indirizzi e-mail reali dall'indirizzo e-mail associato a un. Account AWS Account AWS richiede che venga fornito un indirizzo email univoco al momento della creazione dell'account. In alcune organizzazioni, il team che gestisce Account AWS deve assumersi l'onere di gestire molti indirizzi e-mail univoci con il proprio team di messaggistica. Questo può essere difficile per le grandi organizzazioni che ne gestiscono molti Account AWS. Inoltre, se il sistema di posta elettronica non consente l'indirizzamento positivo o secondario, come definito in Sieve Email Filtering: Subaddress Extension (RFC5233)admin+123456789123@example.com
.
Questo modello fornisce una soluzione di vendita di indirizzi e-mail unica che consente Account AWS ai proprietari di associare un indirizzo e-mail a più indirizzi e-mail. Account AWS Gli indirizzi e-mail reali dei Account AWS proprietari vengono quindi associati a questi indirizzi e-mail generati in una tabella. La soluzione gestisce tutte le e-mail in arrivo per gli account e-mail univoci, cerca il proprietario di ciascun account e quindi inoltra i messaggi ricevuti al proprietario.
Prerequisiti e limitazioni
Prerequisiti
Accesso amministrativo a un. Account AWS
Accesso a un ambiente di sviluppo.
(Facoltativo) La familiarità con AWS Cloud Development Kit (AWS CDK) i flussi di lavoro e il linguaggio di programmazione Python ti aiuterà a risolvere eventuali problemi o apportare modifiche.
Limitazioni
Lunghezza complessiva dell'indirizzo e-mail fornito di 64 caratteri. Per i dettagli, vedi CreateAccountnel AWS Organizations APIriferimento.
Versioni del prodotto
Node.js versione 12.7.0 o successiva
Python 3.9 o successivo
Pacchetti Python pip e virtualenv
AWS CDK versione 2.23.0 o successiva
Docker 20.10.x o versione successiva
Architettura
Stack tecnologico Target
AWS CloudFormation pila
AWS Lambda funzioni
Regole e set di regole di Amazon Simple Email Service (AmazonSES)
AWS Identity and Access Management (IAM) ruoli e politiche
Politica relativa ai bucket e ai bucket di Amazon Simple Storage Service (Amazon S3)
AWS Key Management Service (AWS KMS) chiave e politica chiave
Argomento e policy tematica di Amazon Simple Notification Service (AmazonSNS)
Tabella Amazon DynamoDB
Architettura di Target
Questo diagramma mostra due flussi:
Flusso di vendita degli indirizzi e-mail: nel diagramma, il flusso di vendita degli indirizzi e-mail (sezione inferiore) inizia in genere con una soluzione di vendita di account o un'automazione esterna, oppure viene richiamato manualmente. Nella richiesta, viene chiamata una funzione Lambda con un payload che contiene i metadati necessari. La funzione utilizza queste informazioni per generare un nome account e un indirizzo e-mail univoci, li archivia in un database DynamoDB e restituisce i valori al chiamante. Questi valori possono quindi essere utilizzati per crearne uno nuovo Account AWS (in genere utilizzando). AWS Organizations
Flusso di inoltro delle e-mail: questo flusso è illustrato nella sezione superiore del diagramma precedente. Quando Account AWS viene creato un indirizzo e-mail utilizzando l'account, l'e-mail generata dal flusso di distribuzione degli indirizzi e-mail, AWS invia diverse e-mail, come la conferma della registrazione dell'account e le notifiche periodiche, a tale indirizzo e-mail. Seguendo i passaggi indicati in questo schema, Account AWS configuri Amazon SES per ricevere e-mail per l'intero dominio. Questa soluzione configura regole di inoltro che consentono a Lambda di elaborare tutte le e-mail in arrivo, verificare se l'indirizzo
TO
è nella tabella DynamoDB e inoltrare invece il messaggio all'indirizzo e-mail del proprietario dell'account. L'utilizzo di questo processo offre ai proprietari degli account la possibilità di associare più account a un unico indirizzo e-mail.
Automazione e scalabilità
Questo modello utilizza il AWS CDK per automatizzare completamente l'implementazione. La soluzione utilizza servizi AWS gestiti che scaleranno automaticamente (o possono essere configurati per) soddisfare le vostre esigenze. Le funzioni Lambda potrebbero richiedere una configurazione aggiuntiva per soddisfare le tue esigenze di scalabilità. Per ulteriori informazioni, consulta Understanding Lambda Function Scaling nella documentazione di Lambda.
Strumenti
AWSservizi
AWS CloudFormationti aiuta a configurare AWS le risorse, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita in tutte Account AWS le regioni.
AWS Command Line Interface (AWS CLI) è uno strumento open source che consente di interagire con i AWS servizi tramite comandi nella shell della riga di comando.
Amazon DynamoDB è un servizio di database SQL No completamente gestito che offre prestazioni veloci, prevedibili e scalabili.
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
AWS Key Management Service (AWS KMS) consente di creare e controllare chiavi crittografiche per proteggere i dati.
AWS Lambdaè un servizio di elaborazione che consente di eseguire codice senza dover effettuare il provisioning o gestire server. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
Amazon Simple Email Service (AmazonSES) ti aiuta a inviare e ricevere e-mail utilizzando i tuoi indirizzi e-mail e domini.
Amazon Simple Notification Service (AmazonSNS) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.
Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
Strumenti necessari per la distribuzione
Ambiente di sviluppo con AWS CLI e IAM accesso al tuo Account AWS. Per i dettagli, consulta i collegamenti nella sezione Risorse correlate.
Sul tuo sistema di sviluppo, installa quanto segue:
Strumento da riga di comando Git, disponibile dal sito Web Git downloads
. AWS CLI Per configurare le credenziali di accesso per. AWS CDK Per ulteriori informazioni, consulta la documentazione relativa ad AWS CLI.
Python versione 3.9 o successiva, disponibile dal sito Web di download di Python.
Pacchetti Python pip e virtualenv. Per le istruzioni di installazione, consulta la documentazione pip e la documentazione di virtualenv.
Node.js versione 12.7.0 o successiva. Per le istruzioni di installazione, consulta la documentazione di Node.js.
AWS CDK versione 2.23.0 o successiva. Per le istruzioni di installazione, consulta la AWS CDK documentazione.
Docker versione 20.10.x o successiva. Per le istruzioni di installazione, consulta la documentazione di Docker.
Codice
Il codice per questo pattern è disponibile nell'archivio di posta elettronica di GitHub Account AWS fabbrica
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Identifica o crea un Account AWS. | Identifica una soluzione di posta elettronica esistente o nuova Account AWS a cui hai pieno accesso amministrativo per implementare la soluzione di posta elettronica. | AWSamministratore, amministratore del cloud |
Configura un ambiente di distribuzione. | Configura un ambiente di distribuzione facile da usare e imposta le dipendenze seguendo questi passaggi:
| AWS DevOps, Sviluppatore di app |
Attività | Descrizione | Competenze richieste |
---|---|---|
Identifica e assegna un dominio. | La funzionalità di inoltro delle e-mail richiede un dominio dedicato. Identifica e assegna un dominio o sottodominio che puoi verificare con Amazon. SES Questo dominio dovrebbe essere disponibile per ricevere e-mail in arrivo all'interno del Account AWS luogo in cui è implementata la soluzione di inoltro della posta elettronica. Requisiti del dominio:
| Amministratore cloud, amministratore di rete, amministratore DNS |
Verifica il dominio. | Verifica che il dominio identificato possa essere utilizzato per accettare la posta elettronica in arrivo. Completa le istruzioni in Verifica del tuo dominio per la ricezione di SES e-mail da Amazon nella SES documentazione di Amazon. Ciò richiederà il coordinamento con la persona o il team responsabile dei DNS record del dominio. | Sviluppatore di app, AWS DevOps |
Configura i record MX. | Configura il tuo dominio con record MX che puntano agli SES endpoint Amazon nella tua regione Account AWS e. Per ulteriori informazioni, consulta Pubblicazione di un record MX per la ricezione di SES e-mail da Amazon nella SES documentazione di Amazon. | Amministratore cloud, amministratore di rete, DNS amministratore |
Attività | Descrizione | Competenze richieste |
---|---|---|
Modificare i valori predefiniti in | Modifica alcuni dei valori predefiniti nel
| Sviluppatore di app, AWS DevOps |
Implementa la soluzione di vendita e inoltro della posta elettronica. |
| Sviluppatore di app, AWS DevOps |
Verifica che la soluzione sia stata implementata. | Verifica che la soluzione sia stata implementata correttamente prima di iniziare i test:
| Sviluppatore di app, AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Verificare API che funzioni. | In questo passaggio, inviate i dati di test alla soluzione API e confermate che la soluzione produca l'output previsto e che le operazioni di backend siano state eseguite come previsto. Esegui manualmente la funzione Vend Email Lambda utilizzando l'input di test. (Per un esempio, vedete il file sample_vend_request.json | Sviluppatore di app, AWS DevOps |
Verifica che l'email venga inoltrata. | In questo passaggio, invii un'e-mail di prova tramite il sistema e verifichi che l'e-mail venga inoltrata al destinatario previsto.
| Sviluppatore di app, AWS DevOps |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
Il sistema non inoltra le email come previsto. | Verifica che la configurazione sia corretta:
Dopo aver verificato la configurazione del dominio, segui questi passaggi:
|
Quando tenti di distribuire lo AWS CDK stack, ricevi un errore simile a: «Errore di formato del modello: tipi di risorse non riconosciuti» | Nella maggior parte dei casi, questo messaggio di errore indica che la regione scelta come target non dispone di tutti i servizi disponibili. AWS Se utilizzi un'EC2istanza Amazon per distribuire la soluzione, potresti scegliere come target una regione diversa da quella in cui è in esecuzione l'istanza. Nota: per impostazione predefinita, viene AWS CDK distribuito nella regione e nell'account configurati in. AWS CLI Possibili soluzioni:
|
Quando si distribuisce la soluzione, viene visualizzato il messaggio di errore: «Distribuzione non riuscita: Errore: AwsMailFwdStack: SSM parameter /cdk-bootstrap/hnb659fds/version non trovato. L'ambiente è stato avviato? Per favore esegui 'cdk bootstrap'» | Se non hai mai distribuito AWS CDK risorse nella regione Account AWS and che hai scelto come target, dovrai prima eseguire il comando come indicato dall'errore. Per risolvere questo problema, imposta la variabile di |
Risorse correlate
Per informazioni sull'installazione di AWS CLI, consulta Installazione o aggiornamento alla versione più recente di. AWS CLI
Per informazioni sulla configurazione delle credenziali AWS CLI con IAM accesso, vedere Configurazione delle impostazioni per. AWS CLI
Per assistenza con AWS CDK, vedi Guida introduttiva a. AWS CDK
Informazioni aggiuntive
Costi
Quando si implementa questa soluzione, il Account AWS titolare potrebbe sostenere costi associati all'uso dei seguenti servizi. È importante comprendere come vengono fatturati questi servizi in modo da essere a conoscenza di eventuali addebiti. Per informazioni sui prezzi, consulta le pagine seguenti: