L'elaborazione di un live streaming richiede la gestione di più componenti che svolgono attività come importazione, transcodifica e multiplexing. L'API Live Stream gestisce questi componenti e queste risorse internamente utilizzando i pool. Un pool è un'unità di elaborazione allocata per ogni progetto Google Cloud per regione ed è condivisa tra tutti i canali di una determinata regione.
Per impostazione predefinita, quando crei una risorsa
Input
, ti viene fornito un URI endpoint contenente un indirizzo IP pubblico a cui
puoi inviare gli stream di input. Indipendentemente dal fatto che lo streaming venga eseguito da una rete on-premise o da una rete VPC (Virtual Private Cloud) di Google Cloud, i dati attraversano la rete internet pubblica per raggiungere l'endpoint del servizio di live streaming.
In alternativa, puoi configurare l'accesso privato ai servizi per il servizio di live streaming. L'accesso privato ai servizi è una connessione privata e sicura tra la tua rete VPC (Virtual Private Cloud) di Google Cloud e servizi gestiti da Google o di terze parti. Questa connessione consente alle istanze VM nella rete VPC di comunicare con questi servizi utilizzando indirizzi IP interni, senza esporre il traffico alla rete internet pubblica. Quando attivi l'accesso ai servizi privati nell'API Live Stream, viene riservato un indirizzo IP interno della tua rete VPC da utilizzare come endpoint di input. Questo approccio presenta i seguenti vantaggi:
- Maggiore sicurezza: l'accesso ai servizi privati ti consente di connetterti agli endpoint di input dell'API Live Stream senza esporre il tuo traffico alla rete internet pubblica. In questo modo puoi migliorare la tua posizione di sicurezza e ridurre il rischio di una violazione dei dati.
- Maggiore rendimento: l'accesso privato ai servizi può migliorare il rendimento delle connessioni evitando la rete internet pubblica. Ciò può essere particolarmente utile per ottenere una latenza inferiore e una maggiore velocità effettiva.
Puoi anche accoppiare l'accesso ai servizi privati con Cloud Interconnect o Cloud VPN per fornire una connessione privata end-to-end tra la tua rete on-premise e il servizio di live streaming.
Prima di iniziare
Per configurare un pool privato, completa i seguenti prerequisiti:
- Devi disporre di una rete VPC esistente che puoi utilizzare per connetterti alla rete del producer di servizi. Le istanze VM devono utilizzare questa rete VPC per connettersi ai servizi tramite una connessione privata.
- Devi configurare l'accesso privato ai servizi sulla rete VPC.
- Tutti i canali della regione devono essere interrotti, altrimenti l'API Live Stream rifiuta la richiesta di aggiornamento della rete con peering del pool.
- Non è possibile avviare tutti i canali della regione durante l'aggiornamento del pool.
Configurare un pool privato
Assicurati che sia già stato creato un pool predefinito. Il pool predefinito per una località viene creato quando crei la prima risorsa
Input
.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: utilizza una delle regioni supportate in cui hai già creato un inputMostra sedius-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
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/pools/default", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME }
Aggiorna il pool con il nome della rete a cui è associato.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la posizione del pool predefinito. Utilizza una delle regioni supportateMostra sedius-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
: l'identificatore definito dall'utente per la rete nel progetto corrente da mettere in peer con il servizio
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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 }
La richiesta avvia un'operazione a lunga esecuzione. Copia il valore OPERATION_ID restituito da utilizzare nel passaggio successivo.
Utilizza il metodo
projects.locations.operations.get
per verificare se l'aggiornamento è stato completato. L'aggiornamento del pool potrebbe richiedere fino a 30 minuti. Se la risposta contiene"done: false"
, ripeti la richiesta finché la risposta non contiene"done: true"
.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la località in cui si trova la risorsa. Utilizza una delle regioni supportateMostra sedius-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
: l'identificatore dell'operazione
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } }
Dopo l'aggiornamento, tutti gli URI per gli endpoint di input esistenti (e futuri) nella regione sono indirizzi IP interni riservati dalla rete VPC fornita. Elenca gli endpoint di input per visualizzare gli URI aggiornati.
Passaggio al pool pubblico
Per ripristinare il pool pubblico, fornisci una stringa vuota come nome della rete connessa in peer nella richiesta di aggiornamento del pool.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la posizione del pool predefinito. Utilizza una delle regioni supportateMostra sedius-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
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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 }
Puoi utilizzare di nuovo il metodo
projects.locations.operations.get
per verificare se l'aggiornamento è stato completato.