Für die Verarbeitung eines Livestreams müssen mehrere Komponenten verwaltet werden, die Aufgaben wie Datenaufnahme, Transcodierung und Multiplexing ausführen. Die Live Stream API verwaltet diese Komponenten und Ressourcen intern mithilfe von Pools. Ein Pool ist eine Verarbeitungseinheit, die jedem Google Cloud-Projekt pro Region zugewiesen wird und von allen Kanälen in einer bestimmten Region gemeinsam genutzt wird.
Wenn Sie eine Input
-Ressource erstellen, erhalten Sie standardmäßig einen Endpunkt-URI mit einer öffentlichen IP-Adresse, an die Sie Ihre Eingabestreams senden können. Unabhängig davon, ob du von einem lokalen Netzwerk oder von einem Google Cloud-VPC-Netzwerk (Virtual Private Cloud) streamst, werden die Daten über das öffentliche Internet an den Endpunkt des Livestream-Dienstes gesendet.
Alternativ kannst du den Zugriff auf den Livestreamdienst für private Dienste einrichten. Der Zugriff auf private Dienste ist eine sichere, private Verbindung zwischen Ihrem Google Cloud Virtual Private Cloud-Netzwerk (VPC) und von Google verwalteten oder Drittanbieterdiensten. Über diese Verbindung können VM-Instanzen in Ihrem VPC-Netzwerk mit diesen Diensten über interne IP-Adressen kommunizieren, ohne dass der Traffic dem öffentlichen Internet ausgesetzt wird. Wenn du den Zugriff für private Dienste in der Live Stream API aktivierst, wird eine interne IP-Adresse aus deinem VPC-Netzwerk reserviert, die als Eingabeendpunkt verwendet wird. Das hat folgende Vorteile:
- Verbesserte Sicherheit: Mit dem Zugriff auf private Dienste kannst du eine Verbindung zu Live Stream API-Eingabeendpunkten herstellen, ohne dass dein Traffic dem öffentlichen Internet ausgesetzt wird. So können Sie Ihre Sicherheitslage verbessern und das Risiko von Datenpannen verringern.
- Höhere Leistung: Der Zugriff auf private Dienste kann die Leistung Ihrer Verbindungen verbessern, da das öffentliche Internet nicht verwendet wird. Dies kann sich besonders positiv auf die Latenz und den Durchsatz auswirken.
Sie können den Zugriff auf private Dienste auch mit Cloud Interconnect oder Cloud VPN kombinieren, um eine Ende-zu-Ende-Verbindung zwischen Ihrem lokalen Netzwerk und dem Livestream-Dienst herzustellen.
Hinweise
Sie müssen die folgenden Voraussetzungen erfüllen, um einen privaten Pool zu konfigurieren:
- Sie benötigen ein vorhandenes VPC-Netzwerk, mit dem Sie eine Verbindung zum Netzwerk des Diensterstellers herstellen können. VM-Instanzen müssen dieses VPC-Netzwerk verwenden, um sich über eine private Verbindung mit Diensten zu verbinden.
- Sie müssen den Zugriff auf private Dienste im VPC-Netzwerk konfigurieren.
- Alle Kanäle in der Region müssen angehalten werden. Andernfalls lehnt die Live Stream API die Anfrage zum Aktualisieren des Peer-Netzwerks des Pools ab.
- Während der Aktualisierung des Pools können keine Kanäle in der Region gestartet werden.
Privaten Pool konfigurieren
Achten Sie darauf, dass bereits ein Standardpool erstellt wurde. Der Standardpool für einen Standort wird erstellt, wenn Sie die erste
Input
-Ressource erstellen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: Verwenden Sie eine der unterstützten Regionen, in denen Sie bereits eine Eingabe erstellt haben.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME }
Aktualisieren Sie den Pool mit dem Namen des Peer-Netzwerks.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: Der Speicherort des Standard-Pools. Verwenden Sie eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
NETWORK
: die benutzerdefinierte Kennung für das Netzwerk im aktuellen Projekt, das mit dem Dienst gekoppelt werden soll
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Die Anfrage initiiert einen lang andauernden Vorgang. Kopieren Sie den zurückgegebenen OPERATION_ID, um ihn im nächsten Schritt zu verwenden.
Verwenden Sie die Methode
projects.locations.operations.get
, um zu prüfen, ob die Aktualisierung abgeschlossen wurde. Die Aktualisierung des Pools kann bis zu 30 Minuten dauern. Wenn die Antwort"done: false"
enthält, wiederhole den Vorgang, bis die Antwort"done: true"
enthält.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: Der Standort Ihrer Ressource. Verwenden Sie eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
OPERATION_ID
: die Kennzeichnung für den Vorgang
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.Pool", "name": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "networkConfig": { "peeredNetwork": "projects/PROJECT_NUMBER/global/networks/NETWORK" } }
Nach der Aktualisierung sind alle URIs für vorhandene (und zukünftige) Eingabeendpunkte in der Region interne IP-Adressen, die im angegebenen VPC-Netzwerk reserviert wurden. Listen Sie die Eingabeendpunkte auf, um die aktualisierten URIs zu sehen.
Zum öffentlichen Pool wechseln
Wenn Sie zum öffentlichen Pool zurückkehren möchten, geben Sie in der Aktualisierungsanfrage für den Pool einen leeren String als Namen des Peer-Netzwerks an.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_NUMBER
: Ihre Google Cloud-Projektnummer. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.LOCATION
: Der Speicherort des Standard-Pools. Verwenden Sie eine der unterstützten Regionen.Standorte anzeigenus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Sie können noch einmal die Methode projects.locations.operations.get
verwenden, um zu prüfen, ob die Aktualisierung abgeschlossen wurde.