Tutorial: Konfigurieren einer statischen Website auf Amazon S3 - Amazon Simple Storage Service

Tutorial: Konfigurieren einer statischen Website auf Amazon S3

Sie können einen Amazon-S3-Bucket so konfigurieren, dass er sich wie eine Website verhält. In diesem Beispiel sehen Sie die Schritte für das Hosten einer Website auf Amazon S3.

Schritt 1: Erstellen eines Buckets

Die folgenden Anweisungen geben einen Überblick darüber, wie Sie Ihre Buckets für das Website-Hosting erstellen. Detaillierte Schritt-für-Schritt-Anweisungen zum Erstellen eines Buckets finden Sie unter Erstellen eines Buckets.

So erstellen Sie einen Bucket

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie Create Bucket (Bucket erstellen) aus.

  3. Geben Sie den Bucket-Namen ein (z. B. example.com).

  4. Wählen Sie die Region aus, in der Sie Ihren Bucket erstellen möchten.

    Wählen Sie eine Region in Ihrer Nähe aus, um Latenz und Kosten auf einem Minimum zu halten oder behördliche Vorschriften zu erfüllen. Die von Ihnen ausgewählte Region bestimmt Ihren Amazon-S3-Website-Endpunkt. Weitere Informationen finden Sie unter Website-Endpunkte.

  5. Um die Standardeinstellungen zu übernehmen und den Bucket zu erstellen, wählen Sie Create (Erstellen).

Schritt 2: Aktivieren des statischen Website-Hostings

Nach der Erstellung eines Buckets können Sie das statische Website-Hosting für Ihren Bucket aktivieren. Sie können einen neuen Bucket erstellen oder einen vorhandenen Bucket verwenden.

So aktivieren Sie das statische Website-Hosting

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Liste Buckets den Namen des Buckets aus, für den Sie das Hosting statischer Websites aktivieren wollen.

  3. Wählen Sie Properties (Eigenschaften).

  4. Wählen Sie unter Static website hosting (Hosting statischer Websites) Edit (Bearbeiten) aus.

  5. Wählen Sie Use this bucket to host a website (Diesen Bucket zum Hosten einer Website verwenden).

  6. Wählen Sie unter Static website hosting (Hosting statischer Websites) die Option Enable (Aktivieren) aus

  7. Geben Sie unter Index document (Index-Dokument) den Dateinamen des Index-Dokuments ein, der typischerweise index.html ist.

    Der Name des Indexdokuments unterscheidet Groß- und Kleinschreibung und muss genau mit dem Dateinamen des HTML-Indexdokuments übereinstimmen, das Sie in den S3-Bucket hochladen möchten. Wenn Sie Ihren Bucket für das Hosting von Websites konfigurieren, müssen Sie ein Indexdokument angeben. Amazon S3 gibt dieses Indexdokument zurück, wenn Anfragen an die Root-Domäne oder einen der Unterordner gestellt werden. Weitere Informationen finden Sie unter Konfigurieren eines Indexdokuments.

  8. Um ein eigenes benutzerdefiniertes Fehlerdokument für Fehler der Klasse 4XX bereitzustellen, geben Sie unter Fehlerdokument den Dateinamen des benutzerdefinierten Fehlerdokuments ein.

    Der Name des Fehlerdokuments unterscheidet Groß- und Kleinschreibung und muss genau mit dem Dateinamen des HTML-Fehlerdokuments übereinstimmen, das Sie in Ihren S3-Bucket hochladen möchten. Wenn Sie kein benutzerdefiniertes Fehlerdokument angeben und ein Fehler auftritt, wird von Amazon S3 ein Standard-HTML-Fehlerdokument zurückgegeben. Weitere Informationen finden Sie unter Konfigurieren eines benutzerdefinierten Fehlerdokuments.

  9. (Optional) Wenn Sie erweiterte Umleitungsregeln angeben möchten, geben Sie unter Redirection rules (Umleitungsregeln) XML zur Beschreibung der Regeln ein.

    Beispielsweise können Sie bedingt Anfragen abhängig von bestimmten Objektschlüsselnamen oder Präfixen in der Anfrage weiterleiten. Weitere Informationen finden Sie unter Konfigurieren von Umleitungsregeln für die Verwendung von erweiterten bedingten Umleitungen.

  10. Wählen Sie Save Changes (Änderungen speichern).

    Amazon S3 ermöglicht statisches Website-Hosting für Ihren Bucket. Unten auf der Seite sehen Sie unter Static website hosting (Hosting statischer Websites) den Website-Endpunkt für Ihren Bucket.

  11. Notieren Sie unter Static website hosting (Statisches Website-Hosting) den Wert für Endpoint (Endpunkt).

    Der Endpoint (Endpunkt) ist der Amazon-S3-Website-Endpunkt für Ihren Bucket. Nachdem Sie den Bucket als statische Website konfiguriert haben, können Sie diesen Endpunkt verwenden, um Ihre Website zu testen.

Schritt 3: Bearbeiten der Block-Public-Access-Einstellungen

Standardmäßig blockiert Amazon S3 den öffentlichen Zugriff auf Ihr Konto und Ihre Buckets. Wenn Sie einen Bucket verwenden möchten, um eine statische Website zu hosten, können Sie diese Schritte verwenden, um Ihre Einstellungen für Block Public Access zu bearbeiten:

Warnung

Bevor Sie diesen Schritt ausführen, lesen Sie den Abschnitt Blockieren des öffentlichen Zugriffs auf Ihren Amazon S3-Speicher, um sicherzustellen, dass Sie die mit dem Zulassen eines öffentlichen Zugriffs verbundenen Risiken kennen und akzeptieren. Wenn Sie die Einstellungen für Block Public Access deaktivieren, um Ihren Bucket öffentlich zu machen, kann jeder im Internet auf Ihren Bucket zugreifen. Wir empfehlen Ihnen, den gesamten öffentlichen Zugriff auf Ihre Buckets zu blockieren.

  1. Öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie den Namen des Buckets aus, den Sie als statische Website konfiguriert haben.

  3. Wählen Sie Permissions (Berechtigungen).

  4. Wählen Sie unter Block public access (bucket settings) (Öffentlichen Zugriff blockieren (Bucket-Einstellungen)), die Option Edit (Bearbeiten).

  5. Löschen Sie Block all public access (Gesamten öffentlichen Zugriff blockieren) und wählen Sie Save (Speichern).

    Warnung

    Bevor Sie diesen Schritt ausführen, lesen Sie den Abschnitt Blockieren des öffentlichen Zugriffs auf Ihren Amazon S3-Speicher, um sicherzustellen, dass Sie die mit dem Zulassen eines öffentlichen Zugriffs verbundenen Risiken kennen und akzeptieren. Wenn Sie die Einstellungen für Block Public Access deaktivieren, um Ihren Bucket öffentlich zu machen, kann jeder im Internet auf Ihren Bucket zugreifen. Wir empfehlen Ihnen, den gesamten öffentlichen Zugriff auf Ihre Buckets zu blockieren.

    Amazon S3 deaktiviert die Block Public Access-Einstellungen für Ihren Bucket. Um eine öffentliche, statische Website zu erstellen, müssen Sie möglicherweise auch die Block Public Access-Einstellungen für Ihr Konto bearbeiten, bevor Sie eine Bucket-Richtlinie hinzufügen. Wenn Kontoeinstellungen für Block Public Access derzeit aktiviert sind, wird unter Block public access (bucket settings) (Öffentlichen Zugriff blockieren (Bucket-Einstellungen)) ein Hinweis angezeigt.

Schritt 4: Hinzufügen einer Bucket-Richtlinie, die den Inhalt Ihres Buckets öffentlich verfügbar macht

Nachdem Sie die Einstellungen für S3 Block Public Access bearbeitet haben, können Sie eine Bucket-Richtlinie hinzufügen, um öffentlichen Lesezugriff auf den Bucket zu gewähren. Wenn Sie öffentlichen Lesezugriff gewähren, kann jeder im Internet auf Ihren Bucket zugreifen.

Wichtig

Die zuvor genannte Richtlinie ist nur ein Beispiel und erlaubt Vollzugriff auf die Inhalte Ihres Buckets. Bevor Sie mit diesem Schritt fortfahren, lesen Sie den Abschnitt Wie kann ich die Dateien in meinem Amazon-S3-Bucket sichern?, um sicherzustellen, dass Sie die bewährten Methoden zum Sichern der Dateien in Ihrem S3-Bucket und die Risiken in Zusammenhang mit der Gewährung von öffentlichem Zugriff kennen.

  1. Wählen Sie unter Buckets den Namen Ihres Buckets aus.

  2. Wählen Sie Permissions (Berechtigungen).

  3. Wählen Sie unter Bucket Policy (Bucket-Richtlinie) Edit (Bearbeiten).

  4. Um öffentlichen Lesezugriff auf Ihre Website zu gewähren, kopieren Sie die folgende Bucket-Richtlinie und fügen Sie sie in den Bucket policy editor (Bucket-Richtlinieneditor) ein.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::Bucket-Name/*" ] } ] }
  5. Aktualisieren Sie den Resource zu Ihrem Bucket-Namen.

    In der obigen Beispiel-Bucket-Richtlinie ist Bucket-Name ein Platzhalter für den Bucket-Namen. Um diese Bucket-Richtlinie mit Ihrem eigenen Bucket zu verwenden, müssen Sie diesen Namen so aktualisieren, dass er mit Ihrem Bucket übereinstimmt.

  6. Wählen Sie Save Changes (Änderungen speichern).

    Es wird eine Meldung angezeigt, die darauf hinweist, dass die Bucket-Richtlinie erfolgreich hinzugefügt wurde.

    Wenn die Fehlermeldung Policy has invalid resource angezeigt wird, bestätigen Sie, dass der Bucket-Name in der Bucket-Richtlinie mit Ihrem Bucket-Namen übereinstimmt. Informationen zum Hinzufügen einer Bucket-Richtlinie finden Sie unter Wie füge ich eine S3-Bucket-Richtlinie hinzu?

    Wenn Sie eine Fehlermeldung erhalten und die Bucket-Richtlinie nicht speichern können, überprüfen Sie Ihr Konto und die Bucket-Einstellungen für Block Public Access, um zu bestätigen, dass Sie den öffentlichen Zugriff auf den Bucket zulassen.

Schritt 5: Konfigurieren eines Indexdokuments

Wenn Sie das statische Website-Hosting für Ihren Bucket aktivieren, geben Sie den Namen des Indexdokuments ein (z. B, index.html). Nachdem Sie das Hosting statischer Websites für den Bucket aktiviert haben, laden Sie eine HTML-Datei mit diesem Indexdokumentnamen in Ihren Bucket hoch.

So konfigurieren Sie das Indexdokument

  1. Erstellen Sie eine Datei index.html.

    Wenn Sie nicht über eine Datei index.html verfügen, können Sie mit dem folgenden HTML-Code eine Datei erstellen:

    <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>My Website Home Page</title> </head> <body> <h1>Welcome to my website</h1> <p>Now hosted on Amazon S3!</p> </body> </html>
  2. Speichern Sie die Indexdatei lokal.

    Der Dateiname des Indexdokuments muss genau mit dem Namen des Indexdokuments übereinstimmen, den Sie im Dialogfeld Static website hosting (Statisches Website-Hosting) eingeben. Beim Namen des Indexdokuments wird die Groß- und Kleinschreibung berücksichtigt. Wenn Sie beispielsweise im Dialogfeld Static website hosting (Statisches Website-Hosting) index.html als den Namen des Index document (Indexdokuments) eingeben, muss der Dateiname des Indexdokuments ebenfalls index.html und nicht Index.html lauten.

  3. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  4. Wählen Sie in der Liste Buckets den Namen des Buckets aus, den Sie zum Hosten einer statischen Website verwenden möchten.

  5. Aktivieren Sie das Hosting statischer Websites für Ihren Bucket und geben Sie den exakten Namen Ihres Indexdokuments ein (z. B, index.html). Weitere Informationen finden Sie unter Aktivieren des Website-Hostings.

    Fahren Sie mit Schritt 6 fort, nachdem Sie das Hosting statischer Websites aktiviert haben.

  6. Führen Sie einen der folgenden Schritte aus, um das Indexdokument in Ihren Bucket hochzuladen:

    • Ziehen Sie die Indexdatei per Drag & Drop in das Konsolen-Bucket-Verzeichnis.

    • Wählen Sie Upload (Hochladen) und folgen Sie den Anweisungen zur Auswahl und zum Hochladen der Indexdatei.

    Schrittweise Anleitungen hierzu finden Sie unter Objekte hochladen.

  7. (Optional) Laden Sie andere Website-Inhalte in Ihren Bucket hoch.

Schritt 6: Konfigurieren eines Fehlerdokuments

Wenn Sie das Hosting statischer Websites für Ihren Bucket aktivieren, geben Sie den Namen des Fehlerdokuments ein (z. B, 404.html). Nachdem das Hosting statischer Websites für den Bucket aktiviert wurde, laden Sie eine HTML-Datei mit diesem Fehlerdokumentnamen in Ihren Bucket hoch.

So konfigurieren Sie ein Fehlerdokument

  1. Erstellen Sie ein Fehlerdokument, z. B. 404.html.

  2. Speichern Sie die Fehlerdokumentdatei lokal.

    Der Name des Fehlerdokuments unterscheidet zwischen Groß- und Kleinschreibung und muss genau mit dem Namen übereinstimmen, den Sie beim Aktivieren des statischen Website-Hostings eingeben. Wenn Sie beispielsweise 404.html im Dialogfeld Hosten einer statischen Website als Namen des Fehlerdokuments eingeben, muss der Dateiname des Fehlerdokuments ebenfalls 404.html lauten.

  3. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  4. Wählen Sie in der Liste Buckets den Namen des Buckets aus, den Sie zum Hosten einer statischen Website verwenden möchten.

  5. Aktivieren Sie das Hosting statischer Websites für Ihren Bucket und geben Sie den exakten Namen Ihres Fehlerdokuments ein (z. B, 404.html). Weitere Informationen finden Sie unter Aktivieren des Website-Hostings.

    Fahren Sie mit Schritt 6 fort, nachdem Sie das Hosting statischer Websites aktiviert haben.

  6. Führen Sie einen der folgenden Schritte aus, um das Fehlerdokument in Ihren Bucket hochzuladen:

    • Ziehen Sie die Fehlerdokumentdatei in das Konsolen-Bucket-Verzeichnis.

    • Wählen Sie Upload (Hochladen) und folgen Sie den Anweisungen zur Auswahl und zum Hochladen der Indexdatei.

    Schrittweise Anleitungen hierzu finden Sie unter Objekte hochladen.

Schritt 7: Testen des Website-Endpunkts

Nach der Konfigurierung des statischen Website-Hostings für Ihren Bucket können Sie den Website-Endpunkt testen.

Anmerkung

Amazon S3 unterstützt keinen HTTPS-Zugriff auf die Website. Wenn Sie HTTPS verwenden möchten, können Sie mit Amazon CloudFront eine statische Website bereitstellen, die auf Amazon S3 gehostet wird.

Weitere Informationen finden Sie unter Wie verwende ich CloudFront für eine auf Amazon S3 gehostete statische Website? und Erzwingen von HTTPS für die Kommunikation zwischen Viewern und CloudFront.

  1. Wählen Sie unter Buckets den Namen Ihres Buckets aus.

  2. Wählen Sie Properties (Eigenschaften).

  3. Wählen Sie unten auf der Seite unter Static website hosting (Hosting statischer Websites) Ihren Bucket-Website-Endpunkt aus.

    Ihr Indexdokument wird in einem separaten Browserfenster geöffnet.

Sie haben jetzt eine auf Amazon S3 gehostete Website. Diese Website steht am Amazon-S3-Website-Endpunkt zur Verfügung. Möglicherweise haben Sie jedoch eine Domäne wie example.com, die den Inhalt von der von Ihnen erstellten Website bereitstellen soll. Sie könnten auch die Amazon-S3-Unterstützung der Root-Domäne nutzen, um Anforderungen für http://www.example.com und http://example.com zu bedienen. Dafür sind zusätzliche Schritte erforderlich. Ein Beispiel finden Sie unter Konfigurieren einer statischen Website mithilfe einer benutzerdefinierten bei Route 53 registrierten Domäne.

Schritt 8: Bereinigen

Wenn Sie die statische Website nur zur Übung erstellt haben, löschen Sie die AWS-Ressourcen, die Sie zugewiesen haben, damit keine weiteren Kosten für Sie anfallen. Nach der Löschung der AWS-Ressourcen ist die Website nicht mehr verfügbar. Weitere Informationen finden Sie unter Löschen eines Buckets.