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.
Assurez-vous que les AWS équilibreurs de charge utilisent des protocoles d'écoute sécurisés (HTTPS,SSL/) TLS
Créé par Chandini Penmetsa (AWS) et Purushotham G (K) AWS
Environnement : Production | Technologies : sécurité, identité, conformité | Charge de travail : toutes les autres charges de travail |
AWSservices : Amazon SNS ; Amazon AWS CloudFormation ; AWS Lambda CloudWatch ; Elastic Load Balancing () ELB |
Récapitulatif
Sur le cloud Amazon Web Services (AWS), Elastic Load Balancing distribue automatiquement le trafic applicatif entrant sur plusieurs cibles, telles que les instances Amazon Elastic Compute Cloud (AmazonEC2), les conteneurs, les adresses IP et les fonctions AWS Lambda. Les équilibreurs de charge utilisent des écouteurs pour définir les ports et les protocoles utilisés par l'équilibreur de charge pour accepter le trafic provenant des utilisateurs. Les équilibreurs de charge d'application prennent les décisions de routage au niveau de la couche application et utilisent leHTTP/HTTPS protocols. Network Load Balancers make routing decisions at the transport layer and use the Transmission Control Protocol (TCP), Transport Layer Security (TLS), User Datagram Protcol (UDP), or TCP_UDP protocols. Classic Load Balancers make routing decisions at either the transport layer, using TCP or Secure Sockets Layer (SSL) protocols, or at the application layer, using HTTP/HTTPS.
Votre entreprise a peut-être une exigence de sécurité ou de conformité selon laquelle les équilibreurs de charge n'acceptent le trafic provenant des utilisateurs que sur des protocoles sécurisés, tels que HTTPS ouSSL/TLS.
Ce modèle fournit un contrôle de sécurité qui utilise une EventBridge règle Amazon pour surveiller les équilibreurs de charge d'application CreateListener
et les équilibreurs de charge réseau, et les ModifyListener
API appels et les CreateLoadBalancer
API appels CreateLoadBalancerListeners
et pour les équilibreurs de charge classiques. Si HTTPTCP/UDPou TCP _ UDP est utilisé pour le protocole d'écoute de l'équilibreur de charge, le contrôle invoque une fonction Lambda. La fonction Lambda publie un message dans une rubrique Amazon Simple Notification Service SNS (Amazon) pour envoyer une notification contenant les détails de l'équilibreur de charge.
Conditions préalables et limitations
Prérequis
Un AWS compte actif
Adresse e-mail à laquelle vous souhaitez recevoir la notification de violation
Un bucket Amazon Simple Storage Service (Amazon S3) pour stocker le fichier .zip du code Lambda
Limites
Ce contrôle de sécurité ne vérifie pas les équilibreurs de charge existants à moins qu'une mise à jour ne soit apportée aux écouteurs des équilibreurs de charge.
Ce contrôle de sécurité est régional et doit être déployé dans les AWS régions que vous avez l'intention de surveiller.
Architecture
Pile technologique cible
Fonction Lambda
SNSRubrique Amazon
EventBridge règle
Architecture cible
Automatisation et mise à l'échelle
Si vous utilisez AWS Organizations, vous pouvez utiliser AWSCloudformation StackSets pour déployer ce modèle sur plusieurs comptes que vous souhaitez qu'il surveille.
Outils
AWS CloudFormation— AWS CloudFormation est un service qui vous aide à modéliser et à configurer AWS des ressources en utilisant l'infrastructure sous forme de code.
Amazon EventBridge — Amazon EventBridge fournit un flux de données en temps réel à partir de vos propres applications, applications logicielles en tant que service (SaaS) et AWS services, en acheminant ces données vers des cibles telles que les fonctions Lambda.
AWSLambda — Lambda prend en charge l'exécution de code sans provisionner ni gérer de serveurs.
Amazon S3 — Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets hautement évolutif qui peut être utilisé pour un large éventail de solutions de stockage, notamment les sites Web, les applications mobiles, les sauvegardes et les lacs de données.
Amazon SNS — Amazon Simple Notification Service (AmazonSNS) coordonne et gère la livraison ou l'envoi de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail. Les abonnés reçoivent tous les messages publiés dans les rubriques auxquelles ils sont abonnés, et tous les abonnés à une rubrique reçoivent les mêmes messages.
Bonnes pratiques
Assurez-vous que le SNS sujet utilisé n'est pas accessible au public. Pour plus d'informations, consultez la AWSdocumentation.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Définissez le compartiment S3. | Sur la console Amazon S3, choisissez ou créez un compartiment S3 avec un nom unique qui ne contient pas de barres obliques en tête. Le nom d'un compartiment S3 est unique au monde et l'espace de noms est partagé par tous les AWS comptes. Votre compartiment S3 doit se trouver dans la même région que l'équilibreur de charge en cours d'évaluation. | Architecte du cloud |
Téléchargez le code Lambda dans le compartiment S3. | Téléchargez le fichier .zip de code Lambda fourni dans la section « Pièces jointes » dans le compartiment S3 défini. | Architecte du cloud |
Déployez le AWS CloudFormation modèle. | Sur la AWS CloudFormation console, dans la même AWS région que le compartiment S3, déployez le modèle fourni dans la section « Pièces jointes ». Dans l'épopée suivante, indiquez les valeurs des paramètres. | Architecte du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Nommez le compartiment S3. | Entrez le nom du compartiment S3 que vous avez créé dans le premier épisode épique. | Architecte du cloud |
Indiquez le préfixe Amazon S3. | Indiquez l'emplacement du fichier .zip de code Lambda dans votre compartiment S3, sans barres obliques (par exemple,). | Architecte du cloud |
Indiquez le SNS sujetARN. | Indiquez le SNS sujet Amazon Resource Name (ARN) si vous souhaitez utiliser un SNS sujet existant pour les notifications de violation. Pour créer un nouveau SNS sujet, conservez la valeur « as » | Architecte du cloud |
Indiquez une adresse e-mail. | Indiquez une adresse e-mail active pour recevoir SNS les notifications Amazon. | Architecte du cloud |
Définissez le niveau de journalisation. | Définissez le niveau et la fréquence de journalisation pour votre fonction Lambda. | Architecte du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Téléchargez le modèle . | Téléchargez le CloudFormation modèle fourni dans la section Pièces jointes. | Architecte du cloud |
Créez la pile. | Dans la même région que le compartiment S3, accédez à la console de CloudFormation service et déployez le modèle téléchargé. Reportez-vous à l'épopée précédente pour plus de détails sur les paramètres. | Architecte du cloud |
Vérifiez les ressources. | Une fois la pile complètement créée, accédez à l'onglet Ressources et vérifiez les ressources. Le modèle créera les ressources suivantes :
| Architecte du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Confirmez votre abonnement. | Lorsque le modèle est déployé avec succès, si un nouveau SNS sujet a été créé, un e-mail d'abonnement est envoyé à l'adresse e-mail fournie dans les paramètres. Vous devez confirmer cet abonnement par e-mail pour recevoir des notifications de violation. | Architecte du cloud |
Résolution des problèmes
Problème | Solution |
---|---|
La création de la pile a échoué. Une erreur s'est produite pendant GetObject. Code d'erreur S3 : PermanentRedirect. Message d'erreur S3 : Le compartiment se trouve dans cette région : xx-xxxx-1. Veuillez utiliser cette région pour réessayer la demande. | Assurez-vous que la région du compartiment S3 et la région dans laquelle la pile est déployée sont identiques. |
La création de la pile a échoué. Le paramètre d'exécution de python3.6 n'est plus pris en charge pour créer ou mettre à jour AWS des fonctions Lambda. | Mettez à jour le modèle téléchargé à la ligne 186 de la version 3.6 à 3.9 de Python. |