In dieser Kurzanleitung wird gezeigt, wie Sie Media CDN vor einem Cloud Storage-Bucket einrichten. Sie können diese Konfiguration zum Testen oder als Grundlage für eine Produktionsumgebung verwenden.
Diese Anleitung führt Sie durch die folgenden Verfahren:
- Erstellen Sie eine
EdgeCacheOrigin
-Ressource, die den Speicherort Ihrer Inhalte darstellt. - Erstellen Sie eine
EdgeCacheService
-Ressource, die Inhalte aus dem konfiguriertenEdgeCacheOrigin
im Cache speichert und eine Standard-TTL festlegt. - Rufen Sie die IP-Adresse für einen Dienst ab.
- Prüfen Sie, ob eine Antwort mit Statusheadern im Cache gespeichert wird.
Hinweis
Folgende Voraussetzungen müssen erfüllt sein:
- Zugriff auf Media CDN für Ihr aktuelles Projekt. Weitere Informationen finden Sie unter Zugriff anfordern.
- Einen vorhandenen, öffentlich zugänglichen Cloud Storage-Bucket mit Inhalt (z. B. eine Videodatei oder ein Bild), der als Herkunft des Inhalts verwendet werden soll, oder einen anderen öffentlich erreichbaren HTTP-Endpunkt mit Inhalt.
- Die installierte Google Cloud CLI.
Die Berechtigungen, die zum Erstellen von Media CDN-Ressourcen erforderlich sind. Media CDN hat die folgenden vordefinierten IAM-Rollen:
roles/networkservices.edgeCacheAdmin
roles/networkservices.edgeCacheUser
roles/networkservices.edgeCacheViewer
gcloud CLI Version 345.0.0 oder höher.
Verwenden Sie
gcloud version
undgcloud components update
, um die Version zu prüfen und die installierte gcloud CLI zu aktualisieren.
Erforderliche Dienste aktivieren
Zum Konfigurieren und Bereitstellen von Media CDN-Diensten müssen Sie in Ihrem Projekt sowohl die Network Services API als auch die Certificate Manager API aktivieren.
Console
Aktivieren Sie die Network Services API.
Aktivieren Sie die Certificate Manager API:
gcloud
Führen Sie den folgenden Befehl aus, um den Network Services API-Dienst in Ihrem aktuellen Projekt zu aktivieren:
gcloud services enable networkservices.googleapis.com
Führen Sie den folgenden Befehl aus, um die Certificate Manager API zu aktivieren:
gcloud services enable certificatemanager.googleapis.com
Weitere Informationen zum Aktivieren und Deaktivieren von Diensten finden Sie in der Dokumentation zu Service Usage.
Ursprung erstellen
Ein EdgeCacheOrigin
stellt einen Speicherort für Inhalte dar, z. B. einen Cloud Storage-Bucket, einen Speicherort eines Drittanbieters oder einen Load-Balancer.
In diesem Fall erstellen Sie einen Ursprung, der Ihrem Cloud Storage-Bucket mit dem Namen my-bucket
zugeordnet wird. Wenn Ihr Cloud Storage-Bucket nicht öffentlich zugänglich ist, müssen Sie Media CDN Berechtigungen zum Zugriff auf den Bucket erteilen. Weitere Informationen finden Sie unter Private Cloud Storage-Buckets verwenden.
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Ursprünge.
Klicken Sie auf Ursprung erstellen.
Geben Sie einen Namen für den Ursprung ein. Beispiel:
cloud-storage-origin
.Geben Sie eine optionale Beschreibung für den Ursprung ein.
Wählen Sie für Ursprungsadresse die Option Google Cloud Storage-Bucket auswählen aus.
Rufen Sie Ihren Cloud Storage-Bucket auf.
Behalten Sie die Standardeinstellungen bei.
Klicken Sie auf Ursprung erstellen.
gcloud
Die gcloud CLI stellt die Unterbefehlsgruppe gcloud edge-cache
zum Verwalten neuer und vorhandener Media CDN-Konfigurationen bereit.
gcloud edge-cache origins create ORIGIN \ --origin-address="gs://my-bucket"
Terraform
Wenn Sie einen externen Ursprung haben, können Sie Media CDN so konfigurieren, dass dieser Ursprung anstelle eines Cloud Storage-Buckets verwendet wird. Beispiele:
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Ursprünge.
Klicken Sie auf Ursprung erstellen.
Geben Sie einen Namen für den Ursprung ein. Beispiel:
external-origin
.Wählen Sie für Ursprungsadresse die Option FQDN oder IP-Adresse angeben aus.
Geben Sie den FQDN oder die IP-Adresse für den externen Ursprung ein.
Behalten Sie die Standardeinstellungen bei.
Klicken Sie auf Ursprung erstellen.
gcloud
gcloud edge-cache origins create external-origin \ --origin-address="DOMAIN_NAME"
Sie können die Ursprungsadresse für einen vorhandenen Ursprung mit dem Befehl update
aktualisieren.
Dienste erstellen
Ihre Ressource EdgeCacheService
konfiguriert die Routing-, Zertifikat- und Caching-Einstellungen und kann einer oder mehreren Ursprungsressourcen zugeordnet werden.
Sie erstellen eine einfache EdgeCacheService
-Ressource, die Folgendes ausführt:
- Speichert alle Antworten von unserem konfigurierten Ursprung eine Stunde im Cache
- Legt einen
cache-status
-Antwortheader fest, der den Cache-Status zurückgibt (z. B. HIT oder MISS).
So erstellen Sie EdgeCacheService
:
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Services (Dienste).
Klicken Sie auf Dienst erstellen.
- Geben Sie einen Namen für den Dienst ein.
- Klicken Sie auf Next (Weiter).
Klicken Sie auf Hostregel hinzufügen.
- Geben Sie einen oder mehrere Hostdomainnamen ein.
Klicken Sie auf Routingregel hinzufügen.
- Geben Sie als Priorität
1
ein. - Klicken Sie auf Übereinstimmungsbedingung hinzufügen.
- Wählen Sie als Übereinstimmungstyp die Option Präfixabgleich aus.
- Geben Sie für Pfadübereinstimmung
/
ein. - Klicken Sie auf Fertig.
- Konfigurieren Sie Primäre Aktion.
- Wählen Sie Vom Ursprung abrufen aus.
- Wählen Sie in Quelle auswählen einen von Ihnen konfigurierten Ursprung aus.
- Klicken Sie auf Add-on-Aktionen.
- Klicken Sie unter Headeraktion auf Element hinzufügen.
- Wählen Sie für Typ die Option Antwortheader zum Hinzufügen aus.
- Klicken Sie auf Header hinzufügen.
- Geben Sie für Name
x-cache-status
ein. - Für Wert geben Sie
{cdn_cache_status}
ein. - Klicken Sie auf Fertig.
- Klicken Sie unter Routingaktion auf Element hinzufügen.
- Wählen Sie für Typ die Option CDN-Richtlinie aus.
- Behalten Sie die Standardeinstellungen bei.
- Klicken Sie auf Fertig.
- Klicken Sie unter Headeraktion auf Element hinzufügen.
- Geben Sie als Priorität
Klicken Sie auf Speichern.
Klicken Sie auf Dienst erstellen.
gcloud
Verwenden Sie in Cloud Shell einen Terminaltexteditor wie Nano oder Vim, um eine lokale Datei mit dem Namen my-service.yaml
zu erstellen. Fügen Sie folgenden Inhalt in die Datei ein und speichern Sie sie:
name: SERVICE_NAME routing: hostRules: - hosts: # List any domain names that the service handles requests for - DOMAIN_NAME pathMatcher: routes pathMatchers: - name: routes routeRules: - priority: 1 matchRules: - prefixMatch: / # This should match the origin name created in step 1. origin: ORIGIN routeAction: cdnPolicy: # Cache static content - for example, video files cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s headerAction: responseHeadersToAdd: - headerName: "x-cache-status" headerValue: "{cdn_cache_status}"
Achten Sie darauf, dass der Wert des Felds origin
mit dem Namen des Ursprungs übereinstimmt, den Sie im vorherigen Schritt erstellt haben.
Um einen oder mehrere Domainnamen zu konfigurieren, die auf diesen Dienst verweisen, fügen Sie den Domainnamen der Liste routing.hostRules.hosts[]
hinzu. Media CDN antwortet mit einem 404-Fehler für andere Hosts.
gcloud edge-cache services import SERVICE_NAME \ --source=my-service.yaml
Terraform
Es kann bis zu einer Minute dauern, bis der erste Dienst erstellt wird. Media CDN stellt dedizierte IP-Adressen bereit und überträgt Ihre Konfiguration an Tausende von Edge-Standorten. Nachfolgende Aktualisierungen eines Dienstes, z. B. das Ändern einer Routenkonfiguration oder übereinstimmender Parameter, sind schneller.
Rufen Sie den neu erstellten EdgeCacheService
in der Liste Ihrer Dienste auf:
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Services (Dienste).
gcloud
gcloud edge-cache services list
IP-Adressen abrufen
Zum Abrufen der IP-Adressen (IPv4 und IPv6) für den neu erstellten EdgeCacheService
können Sie einen describe
-Befehl ausführen:
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Services (Dienste).
Informationen zu Ihrem Dienst finden Sie in der Spalte Adressen.
gcloud
gcloud edge-cache services describe SERVICE_NAME
Die Ausgabe zeigt die Ihrem Dienst zugewiesenen IP-Adressen:
ipv4Addresses: - IPV4_ADDRESS ipv6Addresses: - IPV6_ADDRESS name: projects/my-project/locations/global/edgeCacheServices/SERVICE_NAME ...
Von hier aus können Sie Ihre Domain bei Ihrem DNS-Anbieter so konfigurieren, dass sie auf diese Adressen verweist, sobald sie bereit sind.
Caching testen
Wenn Sie testen möchten, ob der Dienst ordnungsgemäß für das Caching von Inhalten konfiguriert ist, verwenden Sie das curl
-Befehlszeilentool, um Anfragen zu senden und die Antworten zu prüfen. curl
ist auch in Cloud Shell in der Google Cloud Console verfügbar.
Wenn Sie DNS nicht so konfiguriert haben, dass es auf Ihre bereitgestellten IP-Adressen verweist, können Sie die von curl
verwendete Adresse überschreiben.
curl -svo /dev/null --resolve DOMAIN_NAME:80:IP_ADDRESS "http://DOMAIN_NAME/file.mp4"
Der Befehl erzeugt anfangs eine Ausgabe ähnlich der folgenden mit dem Status MISS
, da Media CDN die angeforderten Daten nicht bereits vom Ursprung abgerufen hat:
< HTTP/2 200 ... < x-cache-status: MISS ...
Wenn Sie dieselbe Anfrage beliebig oft senden, wird eine Ausgabe ähnlich der folgenden mit dem Status HIT
ausgegeben:
< HTTP/2 200 ... < x-cache-status: HIT ...
Wenn der Status nicht HIT
lautet, prüfen Sie Folgendes:
- Die Antwort kann im Cache gespeichert werden.
- Der konfigurierte Cache-Modus ermöglicht das Caching des Inhalts.
- Der Ursprung legt keine Cache-Anweisungen fest, die Caching verhindern.
Weitere Informationen finden Sie unter Caching – Übersicht.
Sie haben jetzt einen einfachen EdgeCacheService
getestet, der Inhalte global bereitstellen kann. Ein Produktionsdienst benötigt möglicherweise SSL-Zertifikate (TLS), mehrere Ursprünge und eine Google Cloud Armor-Sicherheitsrichtlinie.
Optional: Bereinigen
Verwenden Sie zum Bereinigen nicht verwendeter Ressourcen die entsprechenden delete
-Befehle für jede Ressource.
Mit den Befehlen services list
und origins list
können Sie die von Ihnen erstellten Ressourcen auflisten.
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Services (Dienste).
Wählen Sie Ihren Dienst aus und klicken Sie auf Löschen.
Klicken Sie auf den Tab Ursprünge.
Wählen Sie den Ursprung aus und klicken Sie auf Löschen.
gcloud
Um einen Ursprung zu löschen, löschen Sie zuerst den Dienst und dann den Ursprung:
gcloud edge-cache services delete SERVICE_NAME
gcloud edge-cache origins delete ORIGIN
Wiederholen Sie diesen Vorgang für alle anderen Ressourcen, die Sie bereinigen möchten.
Nächste Schritte
- SSL-Zertifikat (TLS) bereitstellen und an den
EdgeCacheService
anhängen. - Anfragelogs mit Logging ansehen.
- Signierte Anfragen konfigurieren, um Ihre Inhalte zu schützen.
- Cache-Schlüssel und TTLs optimieren und die Cache-Trefferquoten verbessern.
- Den erweiterten Routenabgleich konfigurieren und zusätzliche Ursprünge hinzufügen.