

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.

# Bereitstellung von Inhalten
<a name="contentdelivery-pattern-list"></a>

**Topics**
+ [AWS WAF Logs mithilfe AWS Firewall Manager von Amazon Data Firehose an Splunk senden](send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose.md)
+ [Statische Inhalte in einem Amazon S3 S3-Bucket über eine VPC mithilfe von Amazon bereitstellen CloudFront](serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront.md)
+ [Mehr Muster](contentdelivery-more-patterns-pattern-list.md)

# AWS WAF Logs mithilfe AWS Firewall Manager von Amazon Data Firehose an Splunk senden
<a name="send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose"></a>

*Michael Friedenthal, Aman Kaur Gandhi und JJ Johnson, Amazon Web Services*

## Zusammenfassung
<a name="send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose-summary"></a>

In der Vergangenheit gab es zwei Möglichkeiten, Daten in Splunk zu verschieben: eine Push- oder eine Pull-Architektur. Eine *Pull-Architektur* bietet garantierte Lieferdaten durch Wiederholungsversuche, erfordert jedoch spezielle Ressourcen in Splunk, die Daten abfragen. Pull-Architekturen funktionieren aufgrund des Pollings in der Regel nicht in Echtzeit. Eine *Push-Architektur* hat in der Regel eine geringere Latenz, ist skalierbarer und reduziert die betriebliche Komplexität und die Kosten. Sie garantiert jedoch nicht die Lieferung und erfordert in der Regel Agenten.

Die Splunk-Integration mit Amazon Data Firehose liefert Streaming-Daten in Echtzeit über einen HTTP Event Collector (HEC) an Splunk. Diese Integration bietet die Vorteile von Push- und Pull-Architekturen: Sie garantiert die Datenübermittlung durch Wiederholungsversuche, erfolgt nahezu in Echtzeit und zeichnet sich durch geringe Latenz und geringe Komplexität aus. Die HEC sendet Daten schnell und effizient über HTTP oder HTTPS direkt an Splunk. HECs sind tokenbasiert, wodurch die Notwendigkeit entfällt, Anmeldeinformationen in einer Anwendung oder in unterstützenden Dateien fest zu codieren.

In einer AWS Firewall Manager Richtlinie können Sie die Protokollierung für den gesamten AWS WAF Web-ACL-Verkehr in all Ihren Konten konfigurieren. Anschließend können Sie einen Firehose-Zustellungsstream verwenden, um diese Protokolldaten zur Überwachung, Visualisierung und Analyse an Splunk zu senden. Diese Lösung bietet die folgenden Vorteile:
+ Zentrale Verwaltung und Protokollierung des AWS WAF Web-ACL-Datenverkehrs in all Ihren Konten
+ Splunk-Integration mit einem einzigen AWS-Konto
+ Skalierbarkeit
+ Bereitstellung von Protokolldaten nahezu in Echtzeit
+ Kostenoptimierung durch den Einsatz einer serverlosen Lösung, sodass Sie nicht für ungenutzte Ressourcen bezahlen müssen.

## Voraussetzungen und Einschränkungen
<a name="send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose-prereqs"></a>

**Voraussetzungen**
+ Eine aktive Person AWS-Konto , die Teil einer Organisation in AWS Organizations ist.
+ Sie benötigen die folgenden Berechtigungen, um die Protokollierung mit Firehose zu aktivieren:
  + `iam:CreateServiceLinkedRole`
  + `firehose:ListDeliveryStreams`
  + `wafv2:PutLoggingConfiguration`
+ AWS WAF und sein Web ACLs muss konfiguriert sein. Anweisungen finden Sie unter [Erste Schritte mit AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html).
+ AWS Firewall Manager muss eingerichtet sein. Anweisungen finden Sie unter [AWS Firewall Manager Voraussetzungen](https://docs.aws.amazon.com/waf/latest/developerguide/fms-prereq.html).
+ Die Firewall Manager Manager-Sicherheitsrichtlinien für AWS WAF müssen konfiguriert werden. Anweisungen finden Sie unter [Erste Schritte mit AWS Firewall ManagerAWS WAF Richtlinien](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-fms.html).
+ Splunk muss mit einem öffentlichen HTTP-Endpunkt eingerichtet werden, der von Firehose erreicht werden kann.

**Einschränkungen**
+ Der AWS-Konten muss in einer einzigen Organisation verwaltet werden. AWS Organizations
+ Die Web-ACL muss sich in derselben Region wie der Lieferstream befinden. Wenn Sie Protokolle für Amazon erfassen CloudFront, erstellen Sie den Firehose-Lieferstream in der Region USA Ost (Nord-Virginia). `us-east-1`
+ Das Splunk-Add-on für Firehose ist für kostenpflichtige Splunk Cloud-Implementierungen, verteilte Splunk Enterprise-Bereitstellungen und Splunk Enterprise-Implementierungen mit einer einzigen Instanz verfügbar. Dieses Add-on wird für kostenlose Testversionen von Splunk Cloud nicht unterstützt.

## Architektur
<a name="send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose-architecture"></a>

**Zieltechnologie-Stack**
+ Firewall Manager
+ Firehose
+ Amazon Simple Storage Service (Amazon-S3)
+ AWS WAF
+ Splunk

**Zielarchitektur**

Die folgende Abbildung zeigt, wie Sie den Firewall Manager verwenden können, um alle AWS WAF Daten zentral zu protokollieren und über Firehose an Splunk zu senden.

![\[Architekturdiagramm, das das Senden von AWS WAF WAF-Protokolldaten an Splunk über Amazon Data Firehose zeigt\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/3dfeaae0-985a-42b8-91c4-ece081f0b51b/images/669169b1-caa4-419b-9988-19806ded54eb.png)


1. Das AWS WAF Web ACLs sendet Firewall-Protokolldaten an Firewall Manager.

1. Firewall Manager sendet die Protokolldaten an Firehose.

1. Der Firehose-Lieferstream leitet die Protokolldaten an Splunk und an einen S3-Bucket weiter. Der S3-Bucket dient als Backup im Falle eines Fehlers im Firehose-Lieferstream.

**Automatisierung und Skalierung**

Diese Lösung ist so konzipiert, dass sie skaliert werden kann und alle AWS WAF Websites ALCs innerhalb des Unternehmens berücksichtigt. Sie können alle Websites so konfigurieren ACLs , dass sie dieselbe Firehose-Instanz verwenden. Wenn Sie jedoch mehrere Firehose-Instanzen einrichten und verwenden möchten, können Sie dies tun.

## Tools
<a name="send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose-tools"></a>

**AWS-Services**
+ [AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html)ist ein Sicherheitsverwaltungsdienst, mit dem Sie Firewallregeln für Ihre Konten und Anwendungen zentral konfigurieren und verwalten können. AWS Organizations
+ [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) unterstützt Sie bei der Bereitstellung von [Echtzeit-Streaming-Daten](https://aws.amazon.com/streaming-data/) an andere AWS-Services, benutzerdefinierte HTTP-Endpunkte und HTTP-Endpunkte, die von unterstützten Drittanbietern wie Splunk betrieben werden.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html)ist eine Firewall für Webanwendungen, mit der Sie HTTP- und HTTPS-Anfragen überwachen können, die an Ihre geschützten Webanwendungsressourcen weitergeleitet werden.

**Andere Tools**
+ [Splunk](https://docs.splunk.com/Documentation) unterstützt Sie bei der Überwachung, Visualisierung und Analyse von Protokolldaten.

## Epen
<a name="send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose-epics"></a>

### Splunk konfigurieren
<a name="configure-splunk"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie die Splunk-App für. AWS | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose.html) | Sicherheitsadministrator, Splunk-Administrator | 
| Installieren Sie das Add-on für. AWS WAF | Wiederholen Sie die vorherigen Anweisungen, um das **AWS Web Application Firewall Add-on** für Splunk zu installieren. | Sicherheitsadministrator, Splunk-Administrator | 
| Installieren und konfigurieren Sie das Splunk-Add-on für Firehose. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose.html) | Sicherheitsadministrator, Splunk-Administrator | 

### Erstellen Sie den Firehose-Lieferstream
<a name="create-the-akf-delivery-stream"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Gewähren Sie Firehose Zugriff auf ein Splunk-Ziel. | Konfigurieren Sie die Zugriffsrichtlinie, die es Firehose ermöglicht, auf ein Splunk-Ziel zuzugreifen und die Protokolldaten in einem S3-Bucket zu sichern. Weitere Informationen finden Sie unter [Firehose Zugriff auf ein Splunk-Ziel gewähren](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-splunk). | Sicherheitsadministrator | 
| Erstellen Sie einen Firehose-Lieferstream. | Erstellen Sie in demselben Konto AWS WAF, ACLs für das Sie das Web verwalten, einen Lieferstream in Firehose. Sie müssen eine IAM-Rolle besitzen, wenn Sie einen Bereitstellungsdatenstrom erstellen. Firehose nimmt diese IAM-Rolle an und erhält Zugriff auf den angegebenen S3-Bucket. Anweisungen finden Sie unter [Einen Lieferstream erstellen](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html). Beachten Sie Folgendes:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose.html)Wiederholen Sie diesen Vorgang für jedes Token, das Sie im HTTP-Event-Collector konfiguriert haben. | Sicherheitsadministrator | 
| Testen Sie den Lieferstream. | Testen Sie den Lieferstream, um sicherzustellen, dass er richtig konfiguriert ist. Anweisungen finden Sie unter [Testen mit Splunk als Ziel in der](https://docs.aws.amazon.com/firehose/latest/dev/test-drive-firehose.html#test-drive-destination-splunk) Firehose-Dokumentation. | Sicherheitsadministrator | 

### Konfigurieren Sie den Firewall Manager für die Protokollierung von Daten
<a name="configure-firewall-manager-to-log-data"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie die Firewall Manager Manager-Richtlinien. | Die Firewall Manager Manager-Richtlinien müssen so konfiguriert sein, dass sie die Protokollierung aktivieren und Protokolle an den richtigen Firehose-Lieferstream weiterleiten. Weitere Informationen und Anweisungen finden Sie unter [Konfiguration der Protokollierung für eine AWS WAF Richtlinie](https://docs.aws.amazon.com/waf/latest/developerguide/waf-policies.html#waf-policies-logging-config). | Sicherheitsadministrator | 

## Zugehörige Ressourcen
<a name="send-aws-waf-logs-to-splunk-by-using-aws-firewall-manager-and-amazon-data-firehose-resources"></a>

**AWS Ressourcen**
+ [Web-ACL-Verkehr protokollieren](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) (AWS WAF Dokumentation)
+ [Konfiguration der Protokollierung für eine AWS WAF Richtlinie](https://docs.aws.amazon.com/waf/latest/developerguide/waf-policies.html#waf-policies-logging-config) (AWS WAF Dokumentation)
+ [Tutorial: Mit Amazon Data Firehose VPC-Flow-Logs an Splunk senden (Firehose-Dokumentation](https://docs.aws.amazon.com/firehose/latest/dev/vpc-splunk-tutorial.html))
+ [Wie übertrage ich VPC-Flow-Logs mit Amazon Data Firehose an Splunk?](https://aws.amazon.com/premiumsupport/knowledge-center/push-flow-logs-splunk-firehose/) (Wissenszentrum)AWS 
+ Optimieren Sie die [Datenaufnahme in Splunk mithilfe von Amazon Data Firehose](https://aws.amazon.com/blogs/big-data/power-data-ingestion-into-splunk-using-amazon-kinesis-data-firehose/) (Blogbeitrag)AWS 

**Splunk-Dokumentation**
+ [Splunk-Add-on für Amazon Data Firehose](https://docs.splunk.com/Documentation/AddOns/released/Firehose/About)

# Statische Inhalte in einem Amazon S3 S3-Bucket über eine VPC mithilfe von Amazon bereitstellen CloudFront
<a name="serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront"></a>

*Angel Emmanuel Hernández Cebrian, Amazon Web Services*

## Zusammenfassung
<a name="serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront-summary"></a>

Wenn Sie statische Inhalte bereitstellen, die auf Amazon Web Services (AWS) gehostet werden, wird empfohlen, einen Amazon Simple Storage Service (S3) -Bucket als Quelle zu verwenden und Amazon für die Verteilung der Inhalte CloudFront zu verwenden. Diese Lösung bietet zwei Hauptvorteile: die Bequemlichkeit, statische Inhalte an Edge-Standorten zwischenzuspeichern, und die Möglichkeit, [Web-Zugriffskontrolllisten](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html) (Web ACLs) für die CloudFront Verteilung zu definieren, wodurch Sie Anfragen zu den Inhalten mit minimalem Konfigurations- und Verwaltungsaufwand sichern können.

Der empfohlene Standardansatz weist jedoch häufig eine architektonische Einschränkung auf. In einigen Umgebungen möchten Sie, dass virtuelle Firewall-Appliances, die in einer Virtual Private Cloud (VPC) bereitgestellt werden, den gesamten Inhalt überprüfen, einschließlich statischer Inhalte. Der Standardansatz leitet den Datenverkehr nicht zur Inspektion durch die VPC. Dieses Muster bietet eine alternative architektonische Lösung. Sie verwenden immer noch eine CloudFront Distribution, um statische Inhalte in einem S3-Bucket bereitzustellen, aber der Datenverkehr wird mithilfe eines Application Load Balancer über die VPC geleitet. Eine AWS-Lambda-Funktion ruft dann den Inhalt aus dem S3-Bucket ab und gibt ihn zurück.

## Voraussetzungen und Einschränkungen
<a name="serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto.
+ Statischer Website-Inhalt, der in einem S3-Bucket gehostet wird.

**Einschränkungen**
+ Die Ressourcen in diesem Muster müssen sich in einer einzigen AWS-Region befinden, sie können jedoch in verschiedenen AWS-Konten bereitgestellt werden.
+ Es gelten Grenzwerte für die maximale Anfrage- und Antwortgröße, die die Lambda-Funktion empfangen bzw. senden kann. Weitere Informationen finden Sie unter *Grenzwerte* in [Lambda-Funktionen als Ziele](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html) (Elastic Load Balancing Balancing-Dokumentation).
+ Bei der Verwendung dieses Ansatzes ist es wichtig, ein ausgewogenes Verhältnis zwischen Leistung, Skalierbarkeit, Sicherheit und Kosteneffektivität zu finden. Trotz der hohen Skalierbarkeit von Lambda werden einige Anfragen gedrosselt, wenn die Anzahl gleichzeitiger Lambda-Aufrufe das maximale Kontingent überschreitet. Weitere Informationen finden Sie unter Lambda-Kontingente (Lambda-Dokumentation). Bei der Verwendung von Lambda müssen Sie auch die Preisgestaltung berücksichtigen. Um Lambda-Aufrufe zu minimieren, stellen Sie sicher, dass Sie den Cache für die Distribution richtig definieren. CloudFront Weitere Informationen finden Sie unter [Optimierung von Caching und Verfügbarkeit](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ConfiguringCaching.html) (Dokumentation). CloudFront 

## Architektur
<a name="serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront-architecture"></a>

**Zieltechnologie-Stack**
+ CloudFront
+ Amazon Virtual Private Cloud (Amazon VPC)
+ Application Load Balancer
+ Lambda
+ Amazon S3

**Zielarchitektur**

Die folgende Abbildung zeigt die vorgeschlagene Architektur, wenn Sie statische Inhalte aus einem S3-Bucket über eine VPC bereitstellen müssen. CloudFront 

![\[Der Datenverkehr fließt über Application Load Balancer in der VPC zur Lambda-Funktion.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/e0dd6928-4fe0-47ab-954f-9de5563349d8/images/b42c7dd9-4a72-4998-bf88-195c8f90ed3e.png)


1. Der Client fordert die URL der CloudFront Verteilung an, um eine bestimmte Website-Datei im S3-Bucket abzurufen.

1. CloudFront sendet die Anfrage an AWS WAF. AWS WAF filtert die Anfrage mithilfe des Webs, das auf die CloudFront Verteilung ACLs angewendet wurde. Wenn sich herausstellt, dass die Anfrage gültig ist, wird der Ablauf fortgesetzt. Wenn festgestellt wird, dass die Anfrage ungültig ist, erhält der Client einen 403-Fehler.

1. CloudFront überprüft seinen internen Cache. Wenn es einen gültigen Schlüssel gibt, der der eingehenden Anfrage entspricht, wird der zugehörige Wert als Antwort an den Client zurückgesendet. Wenn nicht, wird der Fluss fortgesetzt.

1. CloudFront leitet die Anfrage an die URL des angegebenen Application Load Balancer weiter.

1. Der Application Load Balancer hat einen Listener, der auf einer Lambda-Funktion einer Zielgruppe zugeordnet ist. Der Application Load Balancer ruft die Lambda-Funktion auf.

1. Die Lambda-Funktion stellt eine Verbindung zum S3-Bucket her, führt eine `GetObject` Operation darauf aus und gibt den Inhalt als Antwort zurück.

**Automatisierung und Skalierung**

Um die Bereitstellung statischer Inhalte mit diesem Ansatz zu automatisieren, erstellen Sie CI/CD Pipelines zur Aktualisierung der Amazon S3 S3-Buckets, die Websites hosten.

Die Lambda-Funktion skaliert automatisch, um die gleichzeitigen Anfragen innerhalb der Kontingente und Einschränkungen des Dienstes zu verarbeiten. Weitere Informationen finden Sie unter [Lambda-Funktionsskalierung](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html) und [Lambda-Kontingente (Lambda-Dokumentation](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)). Für die anderen AWS-Services und -Funktionen wie CloudFront den Application Load Balancer skaliert AWS diese automatisch.

## Tools
<a name="serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront-tools"></a>
+ [Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) beschleunigt die Verteilung Ihrer Webinhalte, indem es sie über ein weltweites Netzwerk von Rechenzentren bereitstellt, was die Latenz senkt und die Leistung verbessert.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) verteilt eingehenden Anwendungs- oder Netzwerkverkehr auf mehrere Ziele. In diesem Muster verwenden Sie einen [Application Load Balancer, der über Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) bereitgestellt wird, um den Datenverkehr an die Lambda-Funktion weiterzuleiten.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ist ein Rechenservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Er führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) hilft Ihnen, AWS-Ressourcen in einem von Ihnen definierten virtuellen Netzwerk zu starten. Dieses virtuelle Netzwerk ähnelt einem herkömmlichen Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben würden, mit den Vorteilen der skalierbaren Infrastruktur von AWS.

## Epen
<a name="serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront-epics"></a>

### Wird verwendet CloudFront , um statische Inhalte von Amazon S3 über eine VPC bereitzustellen
<a name="use-cloudfront-to-serve-static-content-from-amazon-s3-through-a-vpc"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine VPC. | Erstellen Sie eine VPC zum Hosten der in diesem Muster bereitgestellten Ressourcen, z. B. des Application Load Balancer und der Lambda-Funktion.  Anweisungen finden Sie unter [Erstellen einer VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC) (Amazon VPC-Dokumentation). | Cloud-Architekt | 
| Erstellen Sie eine AWS WAF WAF-Web-ACL. | Erstellen Sie eine AWS WAF WAF-Web-ACL. Später in diesem Muster wenden Sie diese Web-ACL auf die CloudFront Distribution an. Anweisungen finden Sie unter [Erstellen einer Web-ACL](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-creating.html) (AWS-WAF-Dokumentation). | Cloud-Architekt | 
| So erstellen Sie die Lambda-Funktion: | Erstellen Sie die Lambda-Funktion, die den im S3-Bucket gehosteten statischen Inhalt als Website bereitstellt. Verwenden Sie den Code, der im Abschnitt [Zusätzliche Informationen](#serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront-additional) dieses Musters bereitgestellt wird. Passen Sie den Code an, um Ihren Ziel-S3-Bucket zu identifizieren. | Allgemeines AWS | 
| Laden Sie die Lambda-Funktion hoch. | Geben Sie den folgenden Befehl ein, um den Lambda-Funktionscode in ein ZIP-Dateiarchiv in Lambda hochzuladen.<pre>aws lambda update-function-code \<br />--function-name  \ <br />--zip-file fileb://lambda-alb-s3-website.zip</pre> | Allgemeines AWS | 
| Erstellen Sie einen Application Load Balancer. | Erstellen Sie einen mit dem Internet verbundenen Application Load Balancer, der auf die Lambda-Funktion verweist. Anweisungen finden Sie unter [Eine Zielgruppe für die Lambda-Funktion erstellen](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html#register-lambda-function) (Elastic Load Balancing Balancing-Dokumentation). Für eine Hochverfügbarkeitskonfiguration erstellen Sie den Application Load Balancer und fügen ihn privaten Subnetzen in verschiedenen Availability Zones hinzu. | Cloud-Architekt | 
| Erstellen Sie eine CloudFront Distribution. | Erstellen Sie eine CloudFront Verteilung, die auf den von Ihnen erstellten Application Load Balancer verweist.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront.html) | Cloud-Architekt | 

## Zugehörige Ressourcen
<a name="serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront-resources"></a>

**AWS-Dokumentation**
+ [Optimierung von Caching und Verfügbarkeit](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ConfiguringCaching.html) (CloudFront Dokumentation)
+ [Lambda-Funktionen als Ziele](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html) (Dokumentation zu Elastic Load Balancing)
+ [Lambda-Kontingente](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) (Lambda-Dokumentation)

**AWS-Servicewebsites**
+ [Application Load Balancer](https://aws.amazon.com/es/elasticloadbalancing/application-load-balancer/)
+ [Lambda](https://aws.amazon.com/en/lambda/)
+ [CloudFront](https://aws.amazon.com/en/cloudfront/)
+ [Amazon S3](https://aws.amazon.com/en/s3/)
+ [AWS WAF](https://aws.amazon.com/en/waf/)
+ [Amazon VPC](https://aws.amazon.com/en/vpc/)

## Zusätzliche Informationen
<a name="serve-static-content-in-an-amazon-s3-bucket-through-a-vpc-by-using-amazon-cloudfront-additional"></a>

**Code**

Die folgende Lambda-Beispielfunktion ist in Node.js geschrieben. Diese Lambda-Funktion fungiert als Webserver, der eine `GetObject` Operation für einen S3-Bucket ausführt, der die Website-Ressourcen enthält. 

```
/**

 * This is an AWS Lambda function created for demonstration purposes.

 * It retrieves static assets from a defined Amazon S3 bucket.

 * To make the content available through a URL, use an Application Load Balancer with a Lambda integration.
 * 
 * Set the S3_BUCKET environment variable in the Lambda function definition.
 */

var AWS = require('aws-sdk');

exports.handler = function(event, context, callback) {

    var bucket = process.env.S3_BUCKET;    
    var key = event.path.replace('/', '');
    
    if (key == '') {
        key = 'index.html';
    }

    // Fetch from S3
    var s3 = new AWS.S3();
    return s3.getObject({Bucket: bucket, Key: key},
       function(err, data) {

            if (err) {
                return err;
            }

            var isBase64Encoded = false;
            var encoding = 'utf8';
            
            if (data.ContentType.indexOf('image/') > -1) {
                isBase64Encoded = true;
                encoding = 'base64'
            }
    
            var resp = {
                statusCode: 200,
                headers: {
                    'Content-Type': data.ContentType,
                },
                body: new Buffer(data.Body).toString(encoding),
                isBase64Encoded: isBase64Encoded
            };

            callback(null, resp);
        }
    );
};
```

# Mehr Muster
<a name="contentdelivery-more-patterns-pattern-list"></a>

**Topics**
+ [Suchen Sie in einer CloudFront Amazon-Distribution nach Zugriffsprotokollierung, HTTPS- und TLS-Version](check-an-amazon-cloudfront-distribution-for-access-logging-https-and-tls-version.md)
+ [Stellen Sie eine GRPC-basierte Anwendung auf einem Amazon EKS-Cluster bereit und greifen Sie mit einem Application Load Balancer darauf zu](deploy-a-grpc-based-application-on-an-amazon-eks-cluster-and-access-it-with-an-application-load-balancer.md)
+ [Implementieren Sie präventive attributebasierte Zugriffskontrollen für öffentliche Subnetze](deploy-preventative-attribute-based-access-controls-for-public-subnets.md)
+ [Bereitstellen von Ressourcen in einer AWS Wavelength Zone mithilfe von Terraform](deploy-resources-wavelength-zone-using-terraform.md)
+ [Stellen Sie die Security Automations for AWS WAF Solution mithilfe von Terraform bereit](deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.md)
+ [Richten Sie einen serverlosen Mobilfunkrouter für eine zellenbasierte Architektur ein](serverless-cell-router-architecture.md)
+ [Verwenden Sie Amazon Q Developer als Programmierassistenten, um Ihre Produktivität zu steigern](use-q-developer-as-coding-assistant-to-increase-productivity.md)
+ [AWS-Netzwerk-Firewall-Protokolle und -Metriken mithilfe von Splunk anzeigen](view-aws-network-firewall-logs-and-metrics-by-using-splunk.md)