In dieser Kurzanleitung erfahren Sie, wie Sie einen Media CDN-Dienst vor einem Cloud Storage-Bucket einrichten. Sie können diese Konfiguration für Tests oder als Grundlage für eine Produktionsumgebung verwenden.
Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt in der Google Cloud Console aufzurufen.
Diese Anleitung führt Sie durch die folgenden Verfahren:
- Erstellen Sie einen Cloud Storage-Bucket zum Speichern Ihrer Inhalte.
- Aktivieren Sie die erforderlichen Dienste.
- Erstellen Sie eine
EdgeCacheOrigin
-Ressource, um Media CDN mit Ihrem Bucket zu verbinden. - Erstellen Sie eine
EdgeCacheService
-Ressource, um das Anfragen-Routing und das Caching für Inhalte am Ursprung zu konfigurieren. - Testen, ob eine Antwort im Cache gespeichert wird.
Hinweise
Du benötigst Folgendes:
Zugriff auf Media CDN für Ihr aktuelles Projekt.
Die installierte Google Cloud CLI. Verwenden Sie Version 345.0.0 oder höher.
Verwenden Sie bei Bedarf
gcloud version
, um die Version zu prüfen, undgcloud components update
, um die installierte gcloud CLI zu aktualisieren.Die gcloud CLI bietet die Unterbefehlsgruppe
gcloud edge-cache
zum Verwalten neuer und vorhandener Media CDN-Konfigurationen.Die IAM-Berechtigungen (Identity and Access Management), die zum Erstellen von Media CDN-Ressourcen erforderlich sind.
Cloud Storage-Bucket erstellen
Media-CDN-Inhalte können von Speicherorten wie einem Cloud Storage-Bucket, einem Speicherort eines Drittanbieters oder einem Load Balancer stammen.
In dieser Kurzanleitung speichern wir Inhalte in einem Cloud Storage-Bucket.
Erstellen Sie einen öffentlich zugänglichen Cloud Storage-Bucket und geben Sie ihm den Namen
my-bucket
.Wenn du deinen Cloud Storage-Bucket nicht öffentlich zugänglich machen möchtest, musst du Media CDN Berechtigungen zum Zugriff auf den Bucket erteilen. Weitere Informationen finden Sie unter Private Cloud Storage-Buckets verwenden.
Laden Sie eine Datei in den Bucket hoch.
Erforderliche Dienste aktivieren
Wenn Sie Media CDN-Dienste konfigurieren und bereitstellen möchten, müssen Sie sowohl die Network Services API als auch die Certificate Manager API für Ihr Projekt aktivieren.
Console
Aktivieren Sie die Network Services API.
Aktivieren Sie die Certificate Manager API.
gcloud
Aktivieren Sie die Network Services API:
gcloud services enable networkservices.googleapis.com
Aktivieren Sie die Certificate Manager API:
gcloud services enable certificatemanager.googleapis.com
Weitere Informationen zum Aktivieren und Deaktivieren von Diensten finden Sie in der Dokumentation zu Service Usage.
EdgeCacheOrigin
-Ressource erstellen
Erstellen Sie einen Ursprung, der auf Ihren Cloud Storage-Bucket verweist.
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Ursprung.
Klicken Sie auf Ursprung erstellen.
Geben Sie den Namen für die Quelle als
cloud-storage-origin
ein.Optional: Geben Sie eine Beschreibung für den Ursprung ein.
Wählen Sie unter Ursprungsadresse die Option Google Cloud Storage-Bucket auswählen aus, suchen Sie den Cloud Storage-Bucket
my-bucket
und klicken Sie dann auf Auswählen.Wenn Sie stattdessen einen externen Ursprung haben, wählen Sie FQDN oder IP-Adresse angeben aus und geben Sie den FQDN oder die IP-Adresse ein.
Klicken Sie auf Ursprung erstellen.
Nach etwa 10 Minuten wird die neu erstellte EdgeCacheOrigin
-Ressource in der Liste der Ursprünge in Ihrem Projekt auf der Seite Ursprünge angezeigt.
Wenn Sie eine Startadresse aktualisieren möchten, klicken Sie auf die Startadresse und dann auf
Bearbeiten.gcloud
Führen Sie folgenden gcloud edge-cache origins create
-Befehl aus:
gcloud edge-cache origins create ORIGIN \
--origin-address="ADDRESS"
Ersetzen Sie Folgendes:
ORIGIN
: der Name des neuen UrsprungsADDRESS
: den Bucket-Namen,gs://my-bucket
Wenn Sie stattdessen einen externen Ursprung haben, ersetzen Sie
ADDRESS
durch den FQDN oder die IP-Adresse.
Verwenden Sie den Befehl gcloud edge-cache origins list
, um den neu erstellten Ursprung aufzurufen.
Verwenden Sie den Befehl gcloud edge-cache origins update
, um die Quelladresse zu aktualisieren.
API
Verwenden Sie die Methode edgeCacheOrigins.create
:
POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheOrigins?edgeCacheOriginId=ORIGIN_ID { "name": "ORIGIN_ID", "originAddress: "ADDRESS" }
Ersetzen Sie Folgendes:
PARENT
: die übergeordnete Ressource im Formatprojects/PROJECT/locations/global
ORIGIN_ID
: der Kurzname des neuen UrsprungsADDRESS
: den Bucket-Namen,gs://my-bucket
Wenn Sie stattdessen einen externen Ursprung haben, ersetzen Sie
ADDRESS
durch den FQDN oder die IP-Adresse.
Verwenden Sie die edgeCacheOrigins.list
-Methode, um die neu erstellte Quelle aufzurufen.
Verwenden Sie die Methode edgeCacheOrigins.patch
, um die Quelladresse zu aktualisieren.
Terraform
EdgeCacheService
-Ressource erstellen
Mit der EdgeCacheService
-Ressource werden Routing-, Zertifikats- und Caching-Einstellungen konfiguriert. Sie kann auf EdgeCacheOrigin
-Ressourcen verweisen.
Erstellen Sie eine einfache EdgeCacheService
-Ressource, die Folgendes tut:
- Speichert alle Antworten von unserem konfigurierten Ursprung eine Stunde im Cache
- Legt einen
x-cache-status
-Antwortheader fest, der den Cache-Status zurückgibt (z. B.HIT
oderMISS
).
Optional können Sie einen Domainnamen für diesen Dienst registrieren.
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 eindeutigen Namen für den Dienst ein, z. B.
my-service
, und klicken Sie dann auf Weiter.Klicken Sie im Bereich Routing auf Hostregel hinzufügen und geben Sie einen oder mehrere Hostdomainnamen ein.
Geben Sie für Hosts einen Domainnamen ein, z. B.
web.example.com
.Klicken Sie auf Weiterleitungsregel hinzufügen.
- Geben Sie unter Priority (Priorität) den Wert
1
an. - Klicken Sie auf Übereinstimmungsbedingung hinzufügen, geben Sie für Pfadübereinstimmung den Wert
/
an und klicken Sie dann auf Fertig. - Wählen Sie Von einem Ursprung abrufen und dann den von Ihnen konfigurierten Ursprung aus.
- Klicken Sie auf Add-on-Aktionen.
- Klicken Sie unter Header action (Headeraktion) auf Add an item (Element hinzufügen). Führen Sie anschließend folgende Schritte aus:
- Wählen Sie für Type (Typ) die Option Add Header aus, die hinzugefügt werden sollen.
- Klicken Sie auf Header hinzufügen.
- Geben Sie für Name
x-cache-status
und für Wert{cdn_cache_status}
an. - Klicken Sie auf Fertig.
- Klicken Sie unter Routenaktion auf Element hinzufügen. Führen Sie anschließend folgende Schritte aus:
- Wählen Sie für Typ die Option CDN-Richtlinie aus.
- Wählen Sie für Cache-Modus die Option FORCE_CACHE_ALL aus.
- Klicken Sie auf Fertig.
- Klicken Sie auf Speichern.
- Geben Sie unter Priority (Priorität) den Wert
Klicken Sie auf Dienst erstellen.
Die neu erstellte EdgeCacheService
-Ressource wird auf der Seite Dienste in der Liste der Dienste in Ihrem Projekt angezeigt.
gcloud
Erstellen Sie in Cloud Shell mit einem Texteditor eine lokale Datei namens
my-service.yaml
.Eine solche Datei gibt Folgendes an:
- Funktionsweise des Routings – zuerst Host und dann Pfad abgleichen
- Funktionsweise des Cachings – abhängig vom Cache-Modus und der TTL
- Wie Anfragen und Antworten geändert werden, z. B. durch Einfügen der Variablen
cdn_cache_status
in einen Antwortheader
Fügen Sie den folgenden Beispielinhalt in die Datei ein und speichern Sie sie:
name: SERVICE routing: hostRules: - hosts: - DOMAIN pathMatcher: routes pathMatchers: - name: routes routeRules: - priority: 1 matchRules: - prefixMatch: / origin: ORIGIN routeAction: cdnPolicy: cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s headerAction: responseHeadersToAdd: - headerName: "x-cache-status" headerValue: "{cdn_cache_status}"
Ersetzen Sie Folgendes:
SERVICE
: Name des DienstesDOMAIN
: die Domain für den neuen Dienst
Wenn du den Domainnamen angibst, antwortet Media CDN für andere Hosts mit einem
404
-Fehler. *ORIGIN
: der Name der verknüpften QuelleFühren Sie den Befehl
gcloud edge-cache services import
mit der Datei.yaml
aus:gcloud edge-cache services import SERVICE \ --source=my-service.yaml
Verwenden Sie den Befehl
gcloud edge-cache services list
, um den neu erstellten Dienst in der Liste derEdgeCacheService
-Ressourcen in Ihrem Projekt aufzurufen.
API
Verwenden Sie die Methode edgeCacheServices.create
:
POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheServices?edgeCacheServiceId=SERVICE_ID { "name": "SERVICE_ID", "routing": { "hostRules": [ { "hosts": ["DOMAIN"], "pathMatcher": "routes" } ], "pathMatchers": [ { "name": "routes", "routeRules": [ { "priority": "1", "matchRules": [ { "prefixMatch": "/" } ], "origin": "ORIGIN", "routeAction": { "cdnPolicy": { "cacheMode": "CACHE_ALL_STATIC", "defaultTtl": "3600s" } } "headerAction": { "responseHeadersToAdd": [ { "headerName": "x-cache-status", "headerValue": "{cdn_cache_status}" } ] }, } ] } ] } }
Ersetzen Sie Folgendes:
PARENT
: die übergeordnete Ressource im Formatprojects/PROJECT/locations/global
SERVICE_ID
: der Name des DienstesDOMAIN
: die Domain für den neuen DienstWenn du den Domainnamen angibst, antwortet Media CDN für andere Hosts mit einem
404
-Fehler.ORIGIN_NAME
: der Name der verknüpften Quelle
Wenn Sie den neu erstellten Dienst in der Liste der EdgeCacheService
-Ressourcen in Ihrem Projekt aufrufen möchten, verwenden Sie die Methode edgeCacheServices.list
.
Terraform
Es kann einige Minuten dauern, bis Ihr erster Dienst erstellt ist. Media CDN stellt dezidierte IP-Adressen bereit und überträgt deine Konfiguration an Tausende von Edge-Standorten. Nachfolgende Aktualisierungen eines Dienstes, z. B. das Ändern einer Routenkonfiguration oder Abgleichparameter, sind schneller.
IP-Adressen abrufen
So rufen Sie die IP-Adressen für den neu erstellten Dienst auf:
Console
Rufen Sie in der Google Cloud Console die Seite Media CDN auf.
Klicken Sie auf den Tab Services (Dienste).
Die IP-Adressen Ihres Dienstes finden Sie in der Zelle Adressen.
Wenn die Zelle leer ist, aktualisieren Sie den Browser.
gcloud
Führen Sie folgenden gcloud edge-cache services describe
-Befehl aus:
gcloud edge-cache services describe SERVICE
Ersetzen Sie SERVICE durch den Namen des Dienstes.
Die Ausgabe zeigt die IP-Adressen, die Ihrem Dienst zugewiesen sind:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
name: projects/my-project/locations/global/edgeCacheServices/SERVICE
...
API
Verwenden Sie die Methode edgeCacheServices.get
:
GET https://networkservices.googleapis.com/v1/SERVICE_NAME
Ersetzen Sie SERVICE_NAME
durch den vollständigen Namen des Dienstes. Verwenden Sie das folgende Format:
projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Ersetzen Sie SERVICE_ID
durch den Kurznamen des Dienstes.
Die abgerufenen Details enthalten die IP-Adressen, die dem Dienst zugewiesen sind:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
Testen, ob eine Antwort im Cache gespeichert wird
Bevor du den Dienst testest, musst du am Ursprung cachefähige Inhalte gespeichert haben, damit Media CDN sie abrufen kann.
Wenn Sie prüfen möchten, ob Ihr Dienst richtig für das Caching von Inhalten konfiguriert ist, verwenden Sie das Befehlszeilentool curl
, 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 Ihren EdgeCacheService
mit Ihrer Domain verwenden möchten, können Sie die IP-Adresse des EdgeCacheService
einem Domaineintrag zuweisen. Eine Anleitung finden Sie unter Domain mit Cloud DNS einrichten.
Nachdem Sie Ihre Domain eingerichtet haben, greifen Sie mit dem folgenden curl
-Befehl auf Ihre Inhalte zu:
curl -svo /dev/null "http://DOMAIN_NAME/FILE_NAME"
Wenn Sie DNS nicht so konfiguriert haben, dass es auf Ihre bereitgestellten IP-Adressen verweist, verwenden Sie die Option resolve
, um die von curl
verwendete Adresse zu überschreiben.
curl -svo /dev/null --resolve DOMAIN_NAME:80:IP_ADDRESS "http://DOMAIN_NAME/FILE_NAME"
Ersetzen Sie Folgendes:
DOMAIN_NAME
: Die Hostdomain, die Sie beim Erstellen des Dienstes angegeben haben.IP_ADDRESS
: die IP-Adresse des Dienstes, wie sie in der Spalte Adressen in der Liste der Dienste angezeigt wirdFILE_NAME
: Der Name der Datei, die Sie in den Bucket hochgeladen haben.
Beispiel:
curl -svo /dev/null --resolve web.example.com:80:34.104.37.129 "http://web.example.com/file.mp4"
Die Ausgabe des Befehls sieht anfangs etwa so aus, mit dem Status miss
, da in Media CDN noch nicht die angeforderten Daten vom Ursprung abgerufen wurden:
< HTTP/2 200 OK
...
< x-cache-status: den;miss
...
Wenn Sie dieselbe Anfrage beliebig oft noch einmal senden, wird eine Ausgabe ähnlich der folgenden mit dem Status hit
ausgegeben:
< HTTP/2 200 OK
...
< x-cache-status: den;hit
...
Wenn der Status nicht hit
ist, prüfen Sie Folgendes:
- Die Antwort kann im Cache gespeichert werden.
- Der konfigurierte Cache-Modus ermöglicht das Caching der Inhalte.
- Der Ursprung legt keine Cache-Anweisungen fest, die das Caching verhindern. Weitere Informationen finden Sie unter Cache-Konfiguration.
Sie haben jetzt eine einfache EdgeCacheService
-Ressource getestet, die Inhalte global bereitstellen kann. Für einen Produktionsdienst sind möglicherweise SSL- (TLS-)Zertifikate, mehrere Ursprünge und eine Google Cloud Armor-Sicherheitsrichtlinie erforderlich.
Optional: Bereinigen
Löschen Sie alle Ressourcen, die Sie nicht mehr verwenden möchten.
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 Ursprung.
Wählen Sie den Ursprung aus und klicken Sie auf Löschen.
gcloud
Verwenden Sie den Befehl
gcloud edge-cache origins list
und den Befehlgcloud edge-cache services list
, um die von Ihnen erstellten Ressourcen aufzulisten.Verwenden Sie den Befehl
gcloud edge-cache services delete
, um den Dienst zu löschen:gcloud edge-cache services delete SERVICE
Ersetzen Sie
SERVICE
durch den Namen des Dienstes.Verwenden Sie den Befehl
gcloud edge-cache origins delete
, um den Ursprung zu löschen:gcloud edge-cache origins delete ORIGIN
Ersetzen Sie
ORIGIN
durch den Namen der Quelle.
API
Verwenden Sie die Methode
edgeCacheServices.list
und die MethodeedgeCacheOrigins.list
, um die von Ihnen erstellten Ressourcen aufzulisten.Verwenden Sie zum Löschen des Dienstes die Methode
edgeCacheServices.delete
:DELETE https://networkservices.googleapis.com/v1/SERVICE_NAME
Ersetzen Sie
SERVICE_NAME
durch den vollständigen Namen des Dienstes. Verwenden Sie das folgende Format:projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Ersetzen Sie
SERVICE_ID
durch den Kurznamen des Dienstes.Verwenden Sie die Methode
edgeCacheOrigins.delete
, um den Ursprung zu löschen:DELETE https://networkservices.googleapis.com/v1/ORIGIN
Ersetzen Sie
ORIGIN
durch den vollständigen Namen des Ursprungs. Verwenden Sie das folgende Format:projects/PROJECT/locations/global/edgeCacheOrigins/ORIGIN_ID
Ersetzen Sie
ORIGIN_ID
durch den Kurznamen der Quelle.
Wiederholen Sie diesen Vorgang für alle anderen Ressourcen, die Sie erstellt haben und nicht mehr verwenden möchten, z. B. den Cloud Storage-Bucket.
Nächste Schritte
- SSL-Zertifikat (TLS) bereitstellen und an den
EdgeCacheService
anhängen. - Anfragelogs mit Cloud Logging ansehen
- Signierte Anfragen konfigurieren, um Ihre Inhalte zu schützen.
- Cache-Schlüssel und TTLs optimieren und die Cache-Trefferquoten verbessern.
- Erweiterten Routenabgleich konfigurieren und zusätzliche Ursprünge erstellen.