Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Stellen Sie sicher, dass AWS Load Balancer sichere Listener-Protokolle verwenden (HTTPS,SSL/) TLS
Erstellt von Chandini Penmetsa () und Purushotham G K () AWS AWS
Umwelt: Produktion | Technologien: Sicherheit, Identität, Compliance | Arbeitslast: Alle anderen Workloads |
AWSDienste: AmazonSNS; Amazon AWS CloudFormation; AWS Lambda CloudWatch; Elastic Load Balancing () ELB |
Übersicht
In der Amazon Web Services (AWS) Cloud verteilt Elastic Load Balancing den eingehenden Anwendungsdatenverkehr automatisch auf mehrere Ziele, z. B. Amazon Elastic Compute Cloud (AmazonEC2) -Instances, Container, IP-Adressen und AWS Lambda-Funktionen. Die Load Balancer verwenden Listener, um die Ports und Protokolle zu definieren, die der Load Balancer verwendet, um Traffic von Benutzern anzunehmen. Application Load Balancer treffen Routing-Entscheidungen auf Anwendungsebene und verwenden die. HTTP/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
In Ihrem Unternehmen besteht möglicherweise eine Sicherheits- oder Compliance-Anforderung, dass Load Balancer Datenverkehr von Benutzern nur über sichere Protokolle wie HTTPS oderSSL/akzeptieren. TLS
Dieses Muster bietet eine Sicherheitskontrolle, die eine EventBridge Amazon-Regel verwendet, um die CreateListener
Application Load Balancer und Network Load Balancer CreateLoadBalancerListeners
und die CreateLoadBalancer
API Aufrufe für Classic Load Balancer zu überwachen. ModifyListener
API Wenn HTTPUDP,TCP/oder TCP _ für das Listener-Protokoll des Load Balancers verwendet UDP wird, ruft das Steuerelement eine Lambda-Funktion auf. Die Lambda-Funktion veröffentlicht eine Nachricht an ein Amazon Simple Notification Service (AmazonSNS) -Thema, um eine Benachrichtigung zu senden, die die Load Balancer-Details enthält.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives Konto AWS
Eine E-Mail-Adresse, an die Sie die Benachrichtigung über den Verstoß erhalten möchten
Ein Amazon Simple Storage Service (Amazon S3) -Bucket zum Speichern der Lambda-Code-ZIP-Datei
Einschränkungen
Diese Sicherheitskontrolle sucht nicht nach vorhandenen Load Balancers, es sei denn, die Load Balancer-Listener werden aktualisiert.
Diese Sicherheitskontrolle ist regional und muss in den AWS Regionen eingesetzt werden, die Sie überwachen möchten.
Architektur
Zieltechnologie-Stack
Lambda-Funktion
SNSAmazon-Thema
EventBridge Regel
Zielarchitektur
Automatisierung und Skalierung
Wenn Sie AWS Organizations verwenden, können Sie AWSCloudformation verwenden, StackSets um diese Vorlage in mehreren Konten bereitzustellen, die überwacht werden sollen.
Tools
AWS CloudFormation— AWS CloudFormation ist ein Service, der Ihnen hilft, AWS Ressourcen zu modellieren und einzurichten, indem er Infrastruktur als Code verwendet.
Amazon EventBridge — Amazon EventBridge liefert einen Stream von Echtzeitdaten aus Ihren eigenen Anwendungen, SaaS-Anwendungen (Software as a Service) und AWS Services und leitet diese Daten an Ziele wie Lambda-Funktionen weiter.
AWSLambda — Lambda unterstützt die Ausführung von Code ohne Bereitstellung oder Verwaltung von Servern.
Amazon S3 — Amazon Simple Storage Service (Amazon S3) ist ein hoch skalierbarer Objektspeicherservice, der für eine Vielzahl von Speicherlösungen verwendet werden kann, darunter Websites, mobile Anwendungen, Backups und Data Lakes.
Amazon SNS — Amazon Simple Notification Service (AmazonSNS) koordiniert und verwaltet die Zustellung oder den Versand von Nachrichten zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen. Abonnenten erhalten die veröffentlichten Mitteilungen zu den Themen, die sie abonniert haben. Alle Abonnenten eines Themas erhalten dieselben Mitteilungen.
Bewährte Methoden
Stellen Sie sicher, dass das verwendete SNS Thema nicht öffentlich zugänglich ist. Weitere Informationen finden Sie in der AWSDokumentation.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Definieren Sie den S3-Bucket. | Wählen oder erstellen Sie auf der Amazon S3 S3-Konsole einen S3-Bucket mit einem eindeutigen Namen, der keine führenden Schrägstriche enthält. Ein S3-Bucket-Name ist weltweit eindeutig und der Namespace wird von allen AWS Konten gemeinsam genutzt. Ihr S3-Bucket muss sich in derselben Region befinden wie der Load Balancer, der evaluiert wird. | Cloud-Architekt |
Laden Sie den Lambda-Code in den S3-Bucket hoch. | Laden Sie die Lambda-Code-ZIP-Datei, die im Abschnitt „Anlagen“ bereitgestellt wird, in den definierten S3-Bucket hoch. | Cloud-Architekt |
Stellen Sie die AWS CloudFormation Vorlage bereit. | Stellen Sie auf der AWS CloudFormation Konsole, in derselben AWS Region wie der S3-Bucket, die Vorlage bereit, die im Abschnitt „Anlagen“ bereitgestellt wird. Geben Sie im nächsten Epic die Werte für die Parameter an. | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Nennen Sie den S3-Bucket. | Geben Sie den Namen des S3-Buckets ein, den Sie im ersten Epic erstellt haben. | Cloud-Architekt |
Geben Sie das Amazon S3 S3-Präfix an. | Geben Sie den Speicherort der Lambda-Code-ZIP-Datei in Ihrem S3-Bucket an, ohne vorangestellte Schrägstriche (z. B.). | Cloud-Architekt |
Geben Sie das SNS Thema anARN. | Geben Sie das SNS Thema Amazon Resource Name (ARN) an, wenn Sie ein vorhandenes SNS Thema für Benachrichtigungen über Verstöße verwenden möchten. Um ein neues SNS Thema zu erstellen, behalten Sie den Wert | Cloud-Architekt |
Geben Sie eine E-Mail-Adresse an. | Geben Sie eine aktive E-Mail-Adresse an, um SNS Amazon-Benachrichtigungen zu erhalten. | Cloud-Architekt |
Definieren Sie die Protokollierungsebene. | Definieren Sie die Protokollierungsebene und die Häufigkeit für Ihre Lambda-Funktion. | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Laden Sie die Vorlage für herunter. | Laden Sie die CloudFormation Vorlage herunter, die im Abschnitt Anlagen bereitgestellt wird. | Cloud-Architekt |
Erstellen Sie den Stack. | Navigieren Sie in derselben Region wie der S3-Bucket zur CloudFormation Servicekonsole und stellen Sie die heruntergeladene Vorlage bereit. Einzelheiten zu den Parametern finden Sie im vorherigen Epos. | Cloud-Architekt |
Überprüfen Sie die Ressourcen. | Nachdem der Stack vollständig erstellt wurde, navigieren Sie zur Registerkarte Ressourcen und überprüfen Sie die Ressourcen. Die Vorlage erstellt die folgenden Ressourcen:
| Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Bestätigen Sie das Abonnement. | Wenn die Vorlage erfolgreich bereitgestellt wurde und ein neues SNS Thema erstellt wurde, wird eine Abonnement-E-Mail-Nachricht an die in den Parametern angegebene E-Mail-Adresse gesendet. Sie müssen dieses E-Mail-Abonnement bestätigen, um Benachrichtigungen über Verstöße zu erhalten. | Cloud-Architekt |
Fehlerbehebung
Problem | Lösung |
---|---|
Die Erstellung des Stacks ist fehlgeschlagen. Während ist ein Fehler aufgetreten GetObject. S3-Fehlercode: PermanentRedirect. S3-Fehlermeldung: Der Bucket befindet sich in dieser Region: xx-xxxx-1. Bitte verwenden Sie diese Region, um die Anfrage erneut zu versuchen. | Stellen Sie sicher, dass die S3-Bucket-Region und die Region, in der der Stack bereitgestellt wird, identisch sind. |
Die Erstellung des Stacks ist fehlgeschlagen. Der Laufzeitparameter von Python3.6 wird für die Erstellung oder Aktualisierung von AWS Lambda-Funktionen nicht mehr unterstützt. | Aktualisieren Sie die heruntergeladene Vorlage in Zeile 186 von Python-Version 3.6 auf 3.9. |