Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Enregistrez plusieurs AWS comptes avec une seule adresse e-mail en utilisant Amazon SES
Créé par Joe Wozniak (AWS) et Shubhangi Vishwakarma () AWS
Référentiel de code : GitHub aws-account-factory-email | Environnement : PoC ou pilote | Technologies : infrastructure ; gestion et gouvernance ; messagerie et communications |
AWSservices : AWS Lambda ; Amazon SES ; Amazon DynamoDB |
Récapitulatif
Ce modèle décrit comment vous pouvez dissocier les adresses e-mail réelles de l'adresse e-mail associée à un. Compte AWS Comptes AWS exigent qu'une adresse e-mail unique soit fournie au moment de la création du compte. Dans certaines organisations, l'équipe de gestion Comptes AWS doit assumer la charge de gérer de nombreuses adresses e-mail uniques avec son équipe de messagerie. Cela peut s'avérer difficile pour les grandes entreprises qui en gèrent de nombreuses Comptes AWS. De plus, si votre système de messagerie n'autorise pas l'adressage plus ou le sous-adressage tels que définis dans Sieve Email Filtering : Subaddress Extension (RFC5233)admin+123456789123@example.com
ce modèle peut aider à surmonter cette limitation.
Ce modèle fournit une solution de vente d'adresses e-mail unique qui permet aux Compte AWS propriétaires d'associer une adresse e-mail à plusieurs Comptes AWS. Les adresses e-mail réelles des Compte AWS propriétaires sont ensuite associées à ces adresses e-mail générées dans un tableau. La solution gère tous les e-mails entrants pour les comptes de messagerie uniques, recherche le propriétaire de chaque compte, puis transmet tous les messages reçus au propriétaire.
Conditions préalables et limitations
Prérequis
Accès administratif à un Compte AWS.
Accès à un environnement de développement.
(Facultatif) La connaissance des AWS Cloud Development Kit (AWS CDK) flux de travail et du langage de programmation Python vous aidera à résoudre les problèmes ou à apporter des modifications.
Limites
La longueur totale de l'adresse e-mail vendue est de 64 caractères. Pour plus de détails, voir CreateAccountla AWS Organizations APIréférence.
Versions du produit
Node.js version 12.7.0 ou ultérieure
Python 3.9 ou version ultérieure
Paquets Python pip et virtualenv
AWS CDK version 2.23.0 ou ultérieure
Docker 20.10.x ou version ultérieure
Architecture
Pile technologique cible
AWS CloudFormation empiler
AWS Lambda fonctions
Règle et ensemble de règles Amazon Simple Email Service (AmazonSES)
AWS Identity and Access Management (IAM) rôles et politiques
Politique relative aux compartiments et aux compartiments Amazon Simple Storage Service (Amazon S3)
AWS Key Management Service (AWS KMS) politique clé et clé
Rubrique d'Amazon Simple Notification Service (AmazonSNS) et politique thématique
Table Amazon DynamoDB
Architecture cible
Ce diagramme montre deux flux :
Flux de distribution d'adresses e-mail : dans le diagramme, le flux de distribution d'adresses e-mail (section inférieure) commence généralement par une solution de vente de comptes ou une automatisation externe, ou est invoqué manuellement. Dans la demande, une fonction Lambda est appelée avec une charge utile contenant les métadonnées nécessaires. La fonction utilise ces informations pour générer un nom de compte et une adresse e-mail uniques, les stocke dans une base de données DynamoDB et renvoie les valeurs à l'appelant. Ces valeurs peuvent ensuite être utilisées pour créer un nouveau Compte AWS (généralement en utilisant AWS Organizations).
Flux de transfert d'e-mails : Ce flux est illustré dans la partie supérieure du schéma précédent. Lorsqu'un Compte AWS est créé à l'aide de l'e-mail du compte généré à partir du flux de vente d'adresses e-mail, il AWS envoie divers e-mails, tels que la confirmation de l'enregistrement du compte et des notifications périodiques, à cette adresse e-mail. En suivant les étapes de ce modèle, vous configurez votre compte Compte AWS Amazon pour SES recevoir des e-mails pour l'ensemble du domaine. Cette solution configure les règles de transfert qui permettent à Lambda de traiter tous les e-mails entrants, de vérifier si
TO
l'adresse figure dans le tableau DynamoDB et de transférer le message à l'adresse e-mail du propriétaire du compte. L'utilisation de ce processus permet aux propriétaires de comptes d'associer plusieurs comptes à une seule adresse e-mail.
Automatisation et mise à l'échelle
Ce modèle utilise le AWS CDK pour automatiser entièrement le déploiement. La solution utilise des services AWS gérés qui seront (ou peuvent être configurés pour) évoluer automatiquement en fonction de vos besoins. Les fonctions Lambda peuvent nécessiter une configuration supplémentaire pour répondre à vos besoins de dimensionnement. Pour plus d'informations, consultez la section Comprendre le dimensionnement des fonctions Lambda dans la documentation Lambda.
Outils
AWSservices
AWS CloudFormationvous aide à configurer les AWS ressources, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie dans toutes Comptes AWS les régions.
AWS Command Line Interface (AWS CLI) est un outil open source qui vous permet d'interagir avec les AWS services par le biais de commandes dans votre interface de ligne de commande.
Amazon DynamoDB est un service SQL sans base de données entièrement géré qui fournit des performances rapides, prévisibles et évolutives.
AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.
AWS Key Management Service (AWS KMS) vous aide à créer et à contrôler des clés cryptographiques afin de protéger vos données.
AWS Lambdaest un service de calcul qui vous permet d'exécuter du code sans avoir à approvisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.
Amazon Simple Email Service (AmazonSES) vous aide à envoyer et à recevoir des e-mails en utilisant vos propres adresses e-mail et domaines.
Amazon Simple Notification Service (AmazonSNS) vous aide à coordonner et à gérer l'échange de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail.
Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.
Outils nécessaires au déploiement
Environnement de développement avec IAM accès à votre Compte AWS. AWS CLI Pour plus de détails, consultez les liens dans la section Ressources connexes.
Sur votre système de développement, installez les éléments suivants :
Outil de ligne de commande Git, disponible sur le site Web de téléchargement de Git
. AWS CLI pour configurer les informations d'identification d'accès pour le AWS CDK. Pour en savoir plus, consultez la documentation AWS CLI.
Python version 3.9 ou ultérieure, disponible sur le site Web de téléchargement de Python
. Paquets Python pip et virtualenv. Pour les instructions d'installation, consultez la documentation pip et la documentation
virtualenv . Node.js version 12.7.0 ou ultérieure. Pour les instructions d'installation, consultez la documentation Node.js
. AWS CDK version 2.23.0 ou ultérieure. Pour les instructions d'installation, consultez la AWS CDK documentation.
Docker version 20.10.x ou ultérieure. Pour les instructions d'installation, consultez la documentation Docker
.
Code
Le code de ce modèle est disponible dans le référentiel GitHub Compte AWS d'e-mails d'usine
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Identifiez ou créez un Compte AWS. | Identifiez une solution existante ou nouvelle Compte AWS à laquelle vous disposez d'un accès administratif complet, afin de déployer la solution de messagerie. | AWSadministrateur, administrateur du cloud |
Configurez un environnement de déploiement. | Configurez un environnement de déploiement facile à utiliser et configurez les dépendances en suivant ces étapes :
| AWS DevOps, Développeur d'applications |
Tâche | Description | Compétences requises |
---|---|---|
Identifiez et attribuez un domaine. | La fonctionnalité de transfert d'e-mails nécessite un domaine dédié. Identifiez et attribuez un domaine ou un sous-domaine que vous pouvez vérifier auprès d'AmazonSES. Ce domaine doit être disponible pour recevoir les e-mails entrants dans l' Compte AWS endroit où la solution de transfert d'e-mails est déployée. Exigences relatives au domaine :
| Administrateur cloud, administrateur réseau, DNS administrateur |
Vérifiez le domaine. | Vérifiez que le domaine identifié peut être utilisé pour accepter les e-mails entrants. Suivez les instructions de la section Vérification de votre domaine pour la réception d'SESe-mails Amazon dans la SES documentation Amazon. Cela nécessitera une coordination avec la personne ou l'équipe responsable des DNS enregistrements du domaine. | Développeur d'applications, AWS DevOps |
Configurez des enregistrements MX. | Configurez votre domaine avec des enregistrements MX qui pointent vers les SES points de terminaison Amazon de votre Compte AWS région. Pour plus d'informations, consultez la section Publication d'un enregistrement MX pour la réception d'SESe-mails Amazon dans la SES documentation Amazon. | Administrateur cloud, administrateur réseau, DNS administrateur |
Tâche | Description | Compétences requises |
---|---|---|
Modifiez les valeurs par défaut dans | Modifiez certaines des valeurs par défaut dans le
| Développeur d'applications, AWS DevOps |
Déployez la solution de distribution et de transfert d'e-mails. |
| Développeur d'applications, AWS DevOps |
Vérifiez que la solution a été déployée. | Vérifiez que la solution a été déployée avec succès avant de commencer les tests :
| Développeur d'applications, AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Vérifiez que le API fonctionne. | Au cours de cette étape, vous soumettez les données de test à la solution API et vous confirmez que celle-ci produit le résultat attendu et que les opérations de backend ont été effectuées comme prévu. Exécutez manuellement la fonction Lambda Vend Email en utilisant une entrée de test. (Pour un exemple, consultez le fichier sample_vend_request.json | Développeur d'applications, AWS DevOps |
Vérifiez que l'e-mail est transféré. | Au cours de cette étape, vous envoyez un e-mail de test via le système et vous vérifiez qu'il est transféré au destinataire attendu.
| Développeur d'applications, AWS DevOps |
Résolution des problèmes
Problème | Solution |
---|---|
Le système ne transmet pas les e-mails comme prévu. | Vérifiez que votre configuration est correcte :
Après avoir vérifié la configuration de votre domaine, procédez comme suit :
|
Lorsque vous essayez de déployer la AWS CDK pile, vous recevez un message d'erreur similaire au message suivant : « Erreur de format du modèle : types de ressources non reconnus » | Dans la plupart des cas, ce message d'erreur signifie que la région que vous ciblez ne dispose pas de tous les AWS services disponibles. Si vous utilisez une EC2 instance Amazon pour déployer la solution, vous ciblez peut-être une région différente de celle dans laquelle l'instance est exécutée. Remarque : Par défaut, les AWS CDK déploiements sont effectués dans la région et le compte que vous avez configurés dans le AWS CLI. Solutions possibles :
|
Lorsque vous déployez la solution, vous recevez le message d'erreur suivant : « Échec du déploiement AwsMailFwdStack : erreur : SSM parameter /cdk-bootstrap/hnb659fds/version introuvable. L'environnement a-t-il été amorcé ? Veuillez exécuter 'cdk bootstrap' » | Si vous n'avez jamais déployé de AWS CDK ressources dans la région Compte AWS et que vous ciblez, vous devez d'abord exécuter la Pour résoudre ce problème, définissez la variable d' |
Ressources connexes
Pour obtenir de l'aide sur l'installation du AWS CLI, voir Installation ou mise à jour vers la dernière version du AWS CLI.
Pour obtenir de l'aide sur la configuration du AWS CLI avec des informations d'identification d'IAMaccès, voir Configuration des paramètres pour le AWS CLI.
Pour obtenir de l'aide concernant le AWS CDK, consultez Getting started with the AWS CDK.
Informations supplémentaires
Coûts
Lorsque vous déployez cette solution, le Compte AWS titulaire peut encourir des coûts liés à l'utilisation des services suivants. Il est important que vous compreniez comment ces services sont facturés afin de connaître les éventuels frais. Pour plus d'informations sur les tarifs, consultez les pages suivantes :