In dieser Anleitung wird beschrieben, wie Sie einen Cloud Storage-Bucket konfigurieren, um eine statische Website für eine Domain, die Ihnen gehört, zu hosten. Statische Webseiten können clientseitige Technologien wie HTML, CSS und JavaScript enthalten, jedoch keine dynamischen Inhalte wie serverseitige Skripts (z. B. PHP).
Da Cloud Storage allein keine benutzerdefinierten Domains mit HTTPS unterstützt, wird in dieser Anleitung Cloud Storage mit einem externen -Application Load Balancer verwendet, um Inhalte aus einer benutzerdefinierten Domain über HTTPS bereitzustellen. Weitere Möglichkeiten zum Bereitstellen von Inhalten aus einer benutzerdefinierten Domain über HTTPS finden Sie unter Fehlerbehebung: HTTPS-Bereitstellung. Sie können Cloud Storage auch verwenden, um benutzerdefinierte Domaininhalte über HTTP bereitzustellen. Hierfür ist kein Load-Balancer erforderlich.
Beispiele und Tipps zu statischen Webseiten, etwa zum Hosten statischer Inhalte für eine dynamische Website, finden Sie auf der Seite „Statische Website“.
Ziele
In dieser Anleitung wird Folgendes erläutert:- Bucket erstellen
- Dateien in Ihre Website hochladen und freigeben.
- Load-Balancer und SSL-Zertifikat einrichten.
- Load-Balancer mit dem Bucket verbinden.
- Mit einem
A
-Eintrag einen Verweis der Domain zum Load-Balancer erstellen. - Die Website testen.
Kosten
In dieser Anleitung werden die folgenden kostenpflichtigen Komponenten von Google Cloud verwendet:
Weitere Informationen zu den Kosten, die beim Hosten einer statischen Website anfallen können, finden Sie unter Gebühren überwachen.
Vorbereitung
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Aktivieren Sie die Compute Engine API für Ihr Projekt.
- Sie benötigen die folgenden Rollen für die Identitäts- und Zugriffsverwaltung: Storage-Administrator und Compute-Netzwerkadministrator.
- Haben oder verwalten Sie eine Domain? Wenn Sie noch keine Domain haben, können Sie eine neue registrieren. Dazu stehen Ihnen viele Dienste wie Cloud Domains zur Verfügung.
In dieser Anleitung wird die Domain
example.com
verwendet. - Halten Sie einige Websitedateien bereit, die Sie bereitstellen möchten. Für diese Anleitung ist es am besten, wenn Sie mindestens eine Indexseite (
index.html
) und eine 404-Seite (404.html
) haben. - (Optional) Wenn Ihr Cloud Storage-Bucket denselben Namen wie Ihre Domain haben soll, müssen Sie bestätigen, dass Sie der Inhaber oder Verwalter der von Ihnen verwendeten Domain sind. Verifizieren Sie unbedingt die Top-Level-Domain wie
example.com
und keine Subdomain wiewww.example.com
. Wenn Sie Ihre Domain über Cloud Domains erworben haben, erfolgt die Überprüfung automatisch.
Bucket erstellen
So erstellen Sie einen Bucket:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
- Klicken Sie auf + Erstellen.
- Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.
- Geben Sie unter Bucket benennen einen Namen ein, der den Anforderungen für Bucket-Namen entspricht.
- Wählen Sie unter Speicherort für Daten auswählen einen Standorttyp und die Option Standort aus, unter dem die Bucket-Daten dauerhaft gespeichert werden.
- Wählen Sie unter Speicherklasse für Daten auswählen eine Standardspeicherklasse für den Bucket oder Autoclass für die automatische Speicherklassenverwaltung der Daten Ihres Buckets aus.
Hinweis: Im Feld Schätzung monatliche Kosten im rechten Bereich finden Sie eine Schätzung der monatlichen Kosten für den Bucket auf der Grundlage der ausgewählten Speicherklasse und des ausgewählten Standorts sowie der erwarteten Datengröße und der erwarteten Vorgänge.
- Für Wählen Sie aus, wie der Zugriff auf Objekte gesteuert werden soll wählen Sie aus, ob Ihr Bucket Verhinderung des öffentlichen Zugriffs erzwingen soll und wählen Sie ein Modell für die Zugriffssteuerung für die Objekte Ihres Buckets aus.
Hinweis: Wenn die Verhinderung des öffentlichen Zugriff bereits durch die Organisationsrichtlinie Ihres Projekts erzwungen wird, ist die Schaltfläche Öffentlichen Zugriff verhindern gesperrt.
- Konfigurieren Sie für Festlegen, wie Objektdaten geschützt werden sollen bei Bedarf Schutztools und wählen Sie eine Methode für die Datenverschlüsselung aus.
- Klicken Sie auf Erstellen.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
gcloud storage buckets create
aus:gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
Wobei:
BUCKET_NAME
ist der Name, den Sie Ihrem Bucket zuweisen möchten. Beachten Sie dabei die Anforderungen für Bucket-Namen. Beispiel:my-bucket
.BUCKET_LOCATION
ist der Standort des Buckets. Beispiel:us-east1
Wenn die Anfrage erfolgreich ist, gibt der Befehl die folgende Meldung zurück:
Creating gs://BUCKET_NAME/...
Mit den folgenden optionalen Flags können Sie das Erstellen des Buckets noch genauer steuern:
--project
: Geben Sie die ID oder Nummer des Projekts an, mit dem der Bucket verknüpft wird. Beispiel:my-project
--default-storage-class
: Geben Sie die Standardspeicherklasse des Buckets an. Beispiel:STANDARD
--soft-delete-duration
: Geben Sie die Aufbewahrungsdauer für vorläufiges Löschen des Buckets an. Beispiel:2w1d
--uniform-bucket-level-access
: Aktivieren Sie den einheitlichen Zugriff auf Bucket-Ebene für Ihren Bucket.
Eine vollständige Liste der Optionen für die Erstellung von gcloud-Buckets finden Sie unter
buckets create
-Optionen.Beispiel:
gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=STORAGE_CLASS --location=BUCKET_LOCATION --uniform-bucket-level-access
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Terraform
Sie können eine Terraform-Ressource zum Erstellen eines Storage-Buckets verwenden.
Das folgende Beispiel umfasst die Zuweisung eines Indexseitensuffixes und einer benutzerdefinierten Fehlerseite. Weitere Informationen finden Sie unter Spezialseiten zuweisen.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.- Erstellen Sie eine JSON-Datei mit den Einstellungen für den Bucket, darunter auch ein
name
für den Bucket. Eine vollständige Liste der Einstellungen finden Sie in der Dokumentation zu Buckets:Insert. Folgende Einstellungen können verwendet werden: BUCKET_NAME
ist der Name, den Sie dem Bucket gemäß den Benennungsanforderungen geben möchten. Beispiel:my-bucket
BUCKET_LOCATION
ist der Standort, an dem Sie die Objektdaten Ihres Buckets speichern möchten. Beispiel:US-EAST1
STORAGE_CLASS
ist die Standardspeicherklasse Ihres Buckets. Beispiel:STANDARD
- Verwenden Sie
cURL
zum Aufrufen der JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER"
Wobei:
JSON_FILE_NAME
ist der Name der JSON-Datei, die Sie in Schritt 2 erstellt haben.PROJECT_IDENTIFIER
ist die ID oder Nummer des Projekts, mit dem Ihr Bucket verknüpft wird. Beispiel:my-project
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, } }
Wobei:
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.- Erstellen Sie eine XML-Datei, die Einstellungen für den Bucket enthält. Eine vollständige Liste der Einstellungen finden Sie in der Dokumentation XML: Bucket erstellen. Folgende Einstellungen können verwendet werden:
BUCKET_LOCATION
ist der Standort, an dem Sie die Objektdaten Ihres Buckets speichern möchten. Beispiel:US-EAST1
STORAGE_CLASS
ist die Standardspeicherklasse Ihres Buckets. Beispiel:STANDARD
- Verwenden Sie
cURL
zum Aufrufen der XML API:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.googleapis.com/BUCKET_NAME"
Wobei:
XML_FILE_NAME
ist der Name der XML-Datei, die Sie in Schritt 2 erstellt haben.PROJECT_ID
ist die ID des Projekts, mit dem Ihr Bucket verknüpft wird. Beispiel:my-project
BUCKET_NAME
ist der Name, den Sie Ihrem Bucket gemäß den Benennungsanforderungen zuweisen möchten. Beispiel:my-bucket
<CreateBucketConfiguration> <LocationConstraint>BUCKET_LOCATION</LocationConstraint> <StorageClass>STORAGE_CLASS</StorageClass> </CreateBucketConfiguration>
Wobei:
Dateien meiner Website hochladen
Fügen Sie dem Bucket die Dateien hinzu, die Ihre Website bereitstellen soll:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie erstellt haben.
Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.
Klicken Sie auf die Schaltfläche Dateien hochladen.
Navigieren Sie im Dateidialogfeld zur gewünschten Datei und wählen Sie sie aus.
Wenn der Upload abgeschlossen ist, sollten Sie im Bucket den Dateinamen und Informationen zur Datei sehen.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
Verwenden Sie den Befehl gcloud storage cp
, um Dateien in den Bucket zu kopieren.
So kopieren Sie beispielsweise die Datei index.html
von ihrem aktuellen Speicherort Desktop
in den Bucket my-static-assets
:
gcloud storage cp Desktop/index.html gs://my-static-assets
Wenn der Vorgang erfolgreich ausgeführt wurde, sieht die Antwort in etwa so aus:
Completed files 1/1 | 164.3kiB/164.3kiB
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird ein einzelnes Objekt hochgeladen:
Im folgenden Beispiel werden mehrere Objekte gleichzeitig hochgeladen:
Im folgenden Beispiel werden alle Objekte mit einem gemeinsamen Präfix gleichzeitig hochgeladen:
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird ein einzelnes Objekt hochgeladen:
Im folgenden Beispiel werden mehrere Objekte gleichzeitig hochgeladen:
Im folgenden Beispiel werden alle Objekte mit einem gemeinsamen Präfix gleichzeitig hochgeladen:
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird ein einzelnes Objekt hochgeladen:
Im folgenden Beispiel werden mehrere Objekte gleichzeitig hochgeladen:
Im folgenden Beispiel werden alle Objekte mit einem gemeinsamen Präfix gleichzeitig hochgeladen:
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Terraform
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie
cURL
, um die JSON API mit einerPOST
-Objektanfrage aufzurufen: Für die Dateiindex.html
, die in einen Bucket mit dem Namenmy-static-assets
hochgeladen wurde:curl -X POST --data-binary @index.html \ -H "Content-Type: text/html" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/upload/storage/v1/b/my-static-assets/o?uploadType=media&name=index.html"
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie
cURL
, um die XML API mit einerPUT
-Objektanfrage aufzurufen: Für die Dateiindex.html
, die in einen Bucket mit dem Namenmy-static-assets
hochgeladen wurde:curl -X PUT --data-binary @index.html \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: text/html" \ "https://storage.googleapis.com/my-static-assets/index.html"
Dateien freigeben
So machen Sie alle Objekte in einem Bucket für alle Nutzer im öffentlichen Internet lesbar:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie veröffentlichen möchten.
Wählen Sie oben auf der Seite den Tab Berechtigungen aus.
Wenn im Bereich Öffentlicher Zugriff Nicht öffentlich angezeigt wird, klicken Sie auf die Schaltfläche Verhinderung des öffentlichen Zugriffs entfernen und dann im angezeigten Dialogfeld auf Bestätigen.
Klicken Sie auf die Schaltfläche add_boxZugriff gewähren.
Das Dialogfeld Hauptkonten hinzufügen wird angezeigt.
Geben Sie im Feld Neue Hauptkonten
allUsers
ein.Wählen Sie im Drop-down-Menü Rolle auswählen das Untermenü Cloud Storage aus und klicken Sie auf die Option Storage-Objektbetrachter.
Klicken Sie auf Speichern.
Klicken Sie auf Öffentlichen Zugriff erlauben.
Sobald das Objekt öffentlich freigegeben ist, wird in der Spalte für den öffentlichen Zugriff ein Link-Symbol angezeigt. Wenn Sie auf dieses Symbol klicken, erhalten Sie die URL für das Objekt.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
Führen Sie den Befehl buckets add-iam-policy-binding
aus:
gcloud storage buckets add-iam-policy-binding gs://my-static-assets --member=allUsers --role=roles/storage.objectViewer
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Terraform
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Verwenden Sie
cURL
, um die JSON API mit einerPUT
-Bucket-Anfrage aufzurufen:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die JSON-Datei, die Sie in Schritt 2 erstellt haben.BUCKET_NAME
ist der Name des Buckets, dessen Objekte Sie veröffentlichen möchten. Beispiel:my-static-assets
XML API
Die öffentliche Freigabe aller Objekte in einem Bucket wird von der XML API nicht unterstützt. Verwenden Sie stattdessen die Google Cloud Console oder gcloud storage
oder legen Sie ACLs für jedes einzelne Objekt fest.
Wenn Sie einzelne Objekte im Bucket öffentlich zugänglich machen möchten, müssen Sie den Modus der Zugriffssteuerung des Buckets auf Detailgenau umstellen. Generell geht es einfacher und schneller, alle Dateien im Bucket öffentlich zugänglich zu machen.
Besucher erhalten einen http 403
-Antwortcode, wenn sie die URL für eine nicht öffentliche oder nicht vorhandene Datei anfordern. Informationen zum Einfügen einer Fehlerseite mit einem http 404
-Antwortcode finden Sie im nächsten Abschnitt.
Empfohlen: Spezialseiten zuweisen
Sie können ein Indexseitensuffix und eine benutzerdefinierte Fehlerseite zuweisen, die als Spezialseiten bezeichnet werden. Beide Zuweisungen sind optional. Wenn Sie jedoch kein Suffix für die Indexseite zuweisen und die entsprechende Indexseite hochladen, wird Nutzern, die auf Ihre Top-Level-Website zugreifen, eine XML-Dokumentstruktur mit einer Liste der öffentlichen Objekte in Ihrem Bucket angezeigt.
Weitere Informationen zum Verhalten von Spezialseiten finden Sie unter Spezialseiten.
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Suchen Sie in der Liste der Buckets den Bucket, den Sie erstellt haben.
Klicken Sie auf das Dreipunkt-Menü (more_vert) des Buckets und wählen Sie Websitekonfiguration bearbeiten aus.
Geben Sie im Dialogfeld zur Websitekonfiguration die Hauptseite und die Fehlerseite an.
Klicken Sie auf Speichern.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Befehlszeile
Verwenden Sie den buckets update
-Befehl mit den Flags --web-main-page-suffix
und --web-error-page
.
Im folgenden Beispiel ist MainPageSuffix
auf index.html
und NotFoundPage
auf 404.html
festgelegt:
gcloud storage buckets update gs://my-static-assets --web-main-page-suffix=index.html --web-error-page=404.html
Wenn der Vorgang erfolgreich ist, gibt der Befehl Folgendes zurück:
Updating gs://www.example.com/... Completed 1
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Erstellen Sie eine JSON-Datei, die die Attribute
mainPageSuffix
undnotFoundPage
in einemwebsite
-Objekt auf die gewünschten Seiten festlegt:Im folgenden Beispiel ist
mainPageSuffix
aufindex.html
undnotFoundPage
auf404.html
festgelegt:{ "website":{ "mainPageSuffix": "index.html", "notFoundPage": "404.html" } }
Verwenden Sie
cURL
, um die JSON API mit einerPATCH
-Bucket-Anfrage aufzurufen. Für den Bucketmy-static-assets
:curl -X PATCH --data-binary @web-config.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/my-static-assets"
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Erstellen Sie eine XML-Datei, die die Elemente
MainPageSuffix
undNotFoundPage
in einemWebsiteConfiguration
-Element auf die gewünschten Seiten festlegt.Im folgenden Beispiel ist
MainPageSuffix
aufindex.html
undNotFoundPage
auf404.html
festgelegt:<WebsiteConfiguration> <MainPageSuffix>index.html</MainPageSuffix> <NotFoundPage>404.html</NotFoundPage> </WebsiteConfiguration>
Verwenden Sie
cURL
, um die XML API mit einerPUT
-Bucket-Anfrage und dem AbfragestringparameterwebsiteConfig
aufzurufen. Fürmy-static-assets
:curl -X PUT --data-binary @web-config.xml \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://storage.googleapis.com/my-static-assets?websiteConfig
Load-Balancer und SSL-Zertifikat einrichten
Da Cloud Storage allein keine benutzerdefinierten Domains mit HTTPS unterstützt, müssen Sie auch ein SSL-Zertifikat einrichten, das an einen HTTPS-Load-Balancer angehängt ist, um Ihre Website über HTTPS bereitzustellen. In diesem Abschnitt wird beschrieben, wie Sie Ihren Bucket zum Backend eines Load-Balancers hinzufügen und wie Sie ein neues von Google verwaltetes SSL-Zertifikat zum Frontend des Load-Balancers hinzufügen.
Konfiguration starten
Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
- Klicken Sie auf Load-Balancer erstellen.
- Wählen Sie unter Typ des Load Balancers die Option Application Load Balancer (HTTP/HTTPS) aus und klicken Sie auf Weiter.
- Wählen Sie für Öffentlich oder intern die Option Öffentlich (extern) aus und klicken Sie auf Weiter.
- Wählen Sie unter Globale oder Einzelregion-Bereitstellung die Option Am besten für globale Arbeitslasten aus und klicken Sie auf Weiter.
- Wählen Sie unter Generation des Load Balancers die Option Klassischer Application Load Balancer aus und klicken Sie auf Weiter.
- Klicken Sie auf Konfigurieren.
Das Konfigurationsfenster für den Load-Balancer wird angezeigt.
Grundlegende Konfiguration
Bevor Sie mit der Konfiguration fortfahren, geben Sie einen Namen des Load-Balancers ein, z. B. example-lb
.
Frontend konfigurieren
In diesem Abschnitt wird beschrieben, wie Sie das HTTPS-Protokoll konfigurieren und ein SSL-Zertifikat erstellen. Sie können auch ein vorhandenes Zertifikat auswählen oder ein selbstverwaltetes SSL-Zertifikat hochladen.
- Klicken Sie auf Frontend-Konfiguration.
- (Optional) Geben Sie einen Namen für Ihre Frontend-Konfiguration ein.
- Wählen Sie für Protokoll die Option HTTPS (einschließlich HTTP/2) aus.
- Setzen Sie die IP-Version auf IPv4. Wenn Sie IPv6 bevorzugen, finden Sie weitere Informationen unter IPv6-Beendigung.
Im Feld IP-Adresse:
- Klicken Sie im Drop-down-Menü auf IP-Adresse erstellen.
- Geben Sie im Pop-up-Fenster Neue statische IP-Adresse reservieren einen Namen ein, z. B.
example-ip
als Namen der IP-Adresse. - Klicken Sie auf Reservieren.
Wählen Sie für Port die Option 443 aus.
Wählen Sie im Drop-down-Menü Zertifikat die Option Neues Zertifikat erstellen aus. Das Formular zur Zertifikaterstellung wird in einem Steuerfeld angezeigt. Nehmen Sie folgende Einstellungen vor:
- Geben Sie Ihrem Zertifikat einen Namen, z. B.
example-ssl
. - Wählen Sie für Erstellungsmodus die Option Von Google verwaltetes Zertifikat erstellen aus.
- Geben Sie unter Domains den Namen Ihrer Website ein, z. B.
www.example.com
. Wenn Sie Ihre Inhalte über zusätzliche Domains wie die Stammdomainexample.com
bereitstellen möchten, drücken Sie die Eingabetaste, um sie in weiteren Zeilen hinzuzufügen. Jedes Zertifikat hat ein Limit von 100 Domains.
- Geben Sie Ihrem Zertifikat einen Namen, z. B.
Klicken Sie auf Erstellen.
(Optional) Wenn Sie möchten, dass Google Cloud automatisch einen partiellen HTTP-Load-Balancer für die Weiterleitung von HTTP-Traffic einrichtet, markieren Sie das Kästchen neben HTTP-zu-HTTPS-Weiterleitung aktivieren.
Klicken Sie auf Fertig.
Backend konfigurieren
- Klicken Sie auf Backend-Konfiguration.
- Klicken Sie im Drop-down-Menü Backend-Dienste und Backend-Buckets auf Backend-Bucket erstellen.
- Wählen Sie einen Backend-Bucket-Namen aus, z. B.
example-bucket
. Der ausgewählte Name kann sich vom Namen des zuvor erstellten Buckets unterscheiden. - Klicken Sie im Feld Cloud Storage-Bucket auf Durchsuchen.
- Wählen Sie den zuvor erstellten Bucket
my-static-assets
aus und klicken Sie auf Auswählen. - (Optional) Wenn Sie Cloud CDN verwenden möchten, klicken Sie das Kästchen für Cloud CDN aktivieren an und konfigurieren Sie Cloud CDN nach Bedarf. Für Cloud CDN können jedoch zusätzliche Kosten anfallen.
- Klicken Sie auf Erstellen.
Routingregeln konfigurieren
Routingregeln sind die Komponenten der URL-Zuordnung eines externen Application Load Balancers. Für diese Anleitung sollten Sie diesen Teil der Konfiguration des Load-Balancers überspringen, da er automatisch auf die Verwendung des soeben konfigurierten Back-Ends eingestellt ist.
Konfiguration prüfen
- Klicken Sie auf Prüfen und abschließen.
- Überprüfen Sie das Frontend, die Routingregeln und das Backend.
- Klicken Sie auf Erstellen.
Möglicherweise müssen Sie einige Minuten warten, bis der Load-Balancer erstellt wurde.
Domain mit dem Load-Balancer verbinden
Klicken Sie nach der Erstellung des Load-Balancers auf dessen Namen: example-lb
. Notieren Sie die mit dem Load-Balancer verknüpfte IP-Adresse, z. B. 30.90.80.100
. Wenn Sie Ihre Domain auf den Load-Balancer verweisen möchten, erstellen Sie mit Ihrem Domain-Registrierungsdienst einen A
-Eintrag. Wenn Sie Ihrem SSL-Zertifikat mehrere Domains hinzugefügt haben, müssen Sie für jede Domain einen A
-Eintrag hinzufügen, der auf die IP-Adresse des Load-Balancers verweist. So erstellen Sie beispielsweise A
-Einträge für www.example.com
und example.com
:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Empfohlen: Status des SSL-Zertifikats beobachten
Es kann 60 bis 90 Minuten dauern, bis Google Cloud das Zertifikat bereitstellt und die Website über den Load-Balancer verfügbar macht. So überwachen Sie den Status Ihres Zertifikats:
Console
- Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
Gehe zu „Load-Balancing“ - Klicken Sie auf den Namen des Load-Balancers:
example-lb
. - Klicken Sie auf den Namen des SSL-Zertifikats, das dem Load-Balancer zugeordnet ist:
example-ssl
. - In den Zeilen Status und Domainstatus wird der Status des Zertifikats angezeigt. Beide müssen aktiv sein, damit das Zertifikat für Ihre Website gültig ist.
Befehlszeile
Führen Sie den folgenden Befehl aus, um den Zertifikatstatus zu prüfen:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
Führen Sie den folgenden Befehl aus, um den Domainstatus zu prüfen:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
Weitere Informationen zum Zertifikatstatus finden Sie unter Fehlerbehebung bei SSL-Zertifikaten.
Website testen
Prüfen Sie nach Aktivierung des SSL-Zertifikats, ob der Inhalt aus dem Bucket bereitgestellt wird. Rufen Sie dazu https://www.example.com/test.html
auf, wobei test.html
ein Objekt ist, das in dem Bucket gespeichert ist, den Sie als Backend verwenden. Wenn Sie das Attribut MainPageSuffix
festlegen, führt https://www.example.com
zu index.html
.
Bereinigen
Nachdem Sie die Anleitung abgeschlossen haben, können Sie die erstellten Ressourcen bereinigen, damit sie keine Kontingente mehr nutzen und keine Gebühren mehr anfallen. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.
So löschen Sie das Projekt:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Load-Balancer und Bucket löschen
Wenn Sie nicht das gesamte Projekt löschen möchten, löschen Sie den Load-Balancer und den Bucket, den Sie für die Anleitung erstellt haben:
- Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
Gehe zu „Load-Balancing“ - Klicken Sie das Kästchen neben
example-lb
an. - Klicken Sie auf Löschen.
- Optional: Klicken Sie das Kästchen neben den Ressourcen an, die Sie zusammen mit dem Load-Balancer löschen möchten, z. B. den Bucket
my-static-assets
oder das SSL-Zertifikatexample-ssl
. - Klicken Sie auf Load-Balancer löschen oder Load-Balancer und ausgewählte Ressourcen löschen.
Reservierte IP-Adresse freigeben
So löschen Sie die reservierte IP-Adresse, die Sie für diese Anleitung verwendet haben:
Rufen Sie in der Google Cloud Console die Seite Externe IP-Adressen auf.
Klicken Sie auf die Kästchen neben
example-ip
.Klicken Sie auf Statische Adresse freigeben.
Klicken Sie im Bestätigungsfenster auf Löschen.
Nächste Schritte
- Beispiele und Tipps für die Verwendung von Buckets zum Hosten einer statischen Website.
- Fehlerbehebung beim Hosten einer statischen Website
- Statische Inhalte für eine dynamische Website hosten
- Andere Web-Serving-Lösungen von Google Cloud
Überzeugen Sie sich selbst
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit von Cloud Storage in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Cloud Storage kostenlos testen