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à.
Creato da Joe Wozniak (AWS) e Shubhangi Vishwakarma (AWS)
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 (RFC 5233)admin+123456789123@example.com
Questo modello fornisce una soluzione di vendita di indirizzi e-mail unica che consente ai proprietari di associare un indirizzo e-mail a più indirizzi e-mail. Account AWS 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 di posta elettronica 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, CreateAccountconsulta il riferimento all'AWS Organizations API.
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
Regola e set di regole di Amazon Simple Email Service (Amazon SES)
AWS Identity and Access Management Ruoli e politiche (IAM)
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 (Amazon SNS)
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 vendita 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
Servizi AWS
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 le regioni. Account AWS
AWS Command Line Interface (AWS CLI) è uno strumento open source che ti aiuta a interagire con i servizi AWS tramite comandi nella shell della riga di comando.
Amazon DynamoDB è un servizio di database NoSQL interamente gestito che offre prestazioni elevate, 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) ti aiuta a creare e controllare chiavi crittografiche per proteggere i tuoi dati.
AWS Lambda è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
Amazon Simple Email Service (Amazon SES) Simple Email Service (Amazon SES) ti aiuta a inviare e ricevere e-mail utilizzando i tuoi indirizzi e-mail e domini.
Amazon Simple Notification Service (Amazon SNS) 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 accesso IAM al tuo Account AWS. AWS CLI 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. | Amministratore AWS, amministratore 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 e-mail. 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 e-mail di Amazon SES nella documentazione di Amazon SES. Ciò richiederà il coordinamento con la persona o il team responsabile dei record DNS del dominio. | Sviluppatore di app, AWS DevOps |
Configura i record MX. | Configura il tuo dominio con record MX che puntano agli endpoint Amazon SES nella tua regione Account AWS e. Per ulteriori informazioni, consulta Pubblicazione di un record MX per la ricezione di e-mail di Amazon SES nella documentazione di Amazon SES. | Amministratore cloud, amministratore di rete, amministratore DNS |
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 |
---|---|---|
Verifica che l'API funzioni. | In questo passaggio, invii i dati di test all'API della soluzione e confermi 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 e-mail 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 a cui ti rivolgi non dispone di tutti i servizi AWS disponibili. Se utilizzi un' EC2 istanza Amazon per distribuire la soluzione, potresti scegliere come target una regione diversa da quella in cui è in esecuzione l'istanza. NotaPer impostazione predefinita, AWS CDK viene 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 di accesso AWS CLI con IAM, consulta Configurazione delle impostazioni per. AWS CLI
Per assistenza con AWS CDK, consulta 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: