Crea controlli di uptime privati

Questo documento descrive come configurare un controllo di uptime privato. I controlli di uptime privati abilitano le richieste HTTP o TCP in un cliente Rete Virtual Private Cloud (VPC) durante l'applicazione Restrizioni di Identity and Access Management (IAM) e perimetri Controlli di servizio VPC. I controlli di uptime privati possono inviare richieste sulla rete privata alle risorse ad esempio una macchina virtuale (VM) o un bilanciatore del carico interno (ILB) L4.

Gli indirizzi IP interni per le risorse sulla rete privata vengono registrati Service Directory con accesso alla rete privata abilitato. Per utilizzare l'uptime privato devi configurare l'accesso alla rete privata utilizzando Prodotto Service Directory.

Il progetto Google Cloud che archivia il controllo di uptime privato e al progetto Google Cloud che archivia Service Directory possono essere progetti diversi. Cloud Monitoring consente di monitorare in più risorse Progetti Google Cloud da un progetto utilizzando un ambito delle metriche. Il progetto in cui viene definito il controllo di uptime è progetto di definizione dell'ambito di un ambito delle metriche; l'ambito delle metriche è un elenco di tutti i progetti monitorare il progetto di definizione dell'ambito. Il servizio Service Directory potrebbe essere definito o in un progetto nell'ambito delle metriche. Per ulteriori informazioni sugli ambiti delle metriche, consulta Panoramica degli ambiti delle metriche.

La rete privata e le sue risorse, come VM o bilanciatori del carico, possono anche in un altro progetto Google Cloud. Questo progetto non dispone di rientrano nell'ambito delle metriche del progetto di definizione dell'ambito del controllo di uptime. Il servizio Service Directory raccoglie le metriche di uptime, deve rientrare nell'ambito delle metriche, al contrario delle risorse che incapsula.

Questo documento descrive come impostare una rete privata le risorse di Service Directory utilizzando la console Google Cloud o l'API. Gli esempi di API presuppongono che la rete privata e il servizio Service Directory sono il progetto di definizione dell'ambito del controllo di uptime. Tuttavia, puoi creare un'immagine controllo di uptime descrive inoltre come utilizzare l'API per un controllo di uptime che utilizza un servizio Service Directory l'ambito delle metriche.

Per informazioni su come configurare controlli di uptime che utilizzano i controlli pubblici Per gli indirizzi IP, vedi Creare controlli di uptime pubblici. Per informazioni su come gestire e monitorare i controlli di uptime, consulta Sezione Passaggi successivi di questo documento.

Prima di iniziare

  1. Abilita le seguenti API:

    • API Cloud Monitoring: monitoring.googleapis.com
    • API Service Directory: servicedirectory.googleapis.com
    • API Service Networking: servicenetworking.googleapis.com
    • API Compute Engine: compute.googleapis.com

    Puoi abilitare le API utilizzando gcloud CLI o nella console Google Cloud. Le seguenti schede descrivono come installare gcloud CLI e abilita l'API Cloud Monitoring:

    Console Google Cloud

    1. Nella console Google Cloud, seleziona il progetto Google Cloud per abilitare l'API. quindi vai alla sezione API e Servizi:

      Vai su API e Servizi

    2. Fai clic sul pulsante Abilita API e servizio.

    3. Cerca "Monitoring".

    4. Nei risultati di ricerca, fai clic su "API Stackdriver Monitoring".

    5. Se "API abilitata" significa che l'API è già abilitata. Se No, quindi fai clic su Attiva.

    Interfaccia a riga di comando gcloud

    1. Se non hai già installato Google Cloud CLI sul tuo alla workstation, vedi Installazione di gcloud CLI.

    2. Per vedere se l'API Monitoring è abilitata, esegui questo comando sulla workstation, dopo aver sostituito PROJECT_ID con ID del progetto per il quale vuoi abilitare l'API:

      gcloud services list --project=PROJECT_ID
      

      Se nell'output viene visualizzato monitoring.googleapis.com, significa che l'API in un bucket con il controllo delle versioni attivo.

    3. Se l'API non è abilitata, esegui il comando seguente per abilitarla:

      gcloud services enable monitoring --project=PROJECT_ID
      

      Per ulteriori informazioni, vedi gcloud services.

    Puoi utilizzare gli stessi passaggi per abilitare le altre API:

    • Per utilizzare la console Google Cloud, cerca il nome visualizzato, ad esempio "API Service Directory".
    • Per utilizzare gcloud CLI, specifica il primo elemento del Nome googleapis.com, ad esempio servicedirectory.
  2. Configura i canali di notifica che vuoi utilizzare per la ricezione notifiche. Ti consigliamo di creare più tipi di notifiche canali. Per ulteriori informazioni, vedi Creare e gestire i canali di notifica.

  3. Configurare una rete privata e configurare una VM o un bilanciatore del carico interno per avere a quella rete privata. Per ulteriori informazioni, vedi Accesso privato ai servizi.

    I controlli privati che hanno come target gli ILB sono limitati a le regioni con controlli di uptime. La regione USA relativa ai controlli di uptime include USA_OREGON, USA_IOWA e USA_VIRGINIA. Ciascuno dei USA_* regioni ha un controllo e USA li include tutti e tre. Le altre regioni per i controlli di uptime, EUROPE, SOUTH_AMERICA e ASIA_PACIFIC, ognuno ha uno controllo. Per rimuovere devi configurare l'accesso globale al bilanciatore del carico. Per ulteriori informazioni su come configurare l'accesso globale, consulta la scheda ILB in Configurare le risorse di Service Directory di questo documento.

    Se prevedi di controllare un ILB che non consente l'accesso globale, seleziona una delle seguenti regioni per il tuo ILB:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Determina quale interfaccia utilizzare:

    • Console Google Cloud: consente di creare un uptime per controllare quando una VM gestisce le richieste. Questa interfaccia ti guida configurando le risorse di Service Directory, autorizzazione dell'account di servizio e configurazione del firewall di rete le regole del caso.

    • Interfacce a riga di comando: puoi utilizzare Google Cloud CLI e API Cloud Monitoring per creare controlli di uptime privati quando gli ILB e le VM sono richieste di servizio.

  5. Se prevedi di utilizzare la riga di comando per configurare i controlli di uptime privati, e poi completa i passaggi dei prerequisiti.

Crea un controllo di uptime privato

Questa sezione spiega come creare e configurare controlli di uptime privati dei servizi Service Directory:

  • Per utilizzare la console Google Cloud, seleziona la scheda Console Google Cloud.

  • Per utilizzare l'API Cloud Monitoring e configurare Il servizio Service Directory deve trovarsi nello stesso progetto Google Cloud di il controllo di uptime, seleziona la scheda API: ambito del progetto.

  • Per utilizzare l'API Cloud Monitoring e configurare Il servizio Service Directory deve trovarsi in un progetto monitorato in base all'ambito delle metriche del controllo di uptime, seleziona la scheda API: progetto monitorato.

Console Google Cloud

Per creare un controllo di uptime utilizzando la console Google Cloud, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina  Controlli di uptime:

    Vai a Controlli di uptime

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.

  2. Fai clic su Crea controllo di uptime.

    Crea una finestra di dialogo per il controllo di uptime.

  3. Specifica un controllo di uptime privato:

    1. Seleziona il protocollo, che può essere HTTP, HTTPS o TCP.

    2. Scegli il tipo di risorsa IP interno.

  4. Se non hai configurato un servizio Service Directory per il tuo progetto o se vuoi creare servizio Service Directory, quindi fai clic su Visualizza e completa la Riquadro Prerequisiti del controllo di uptime privato:

    1. Se richiesto, abilita l'API Compute Engine o la l'API Service Directory. L'abilitazione delle API potrebbe richiedere qualche minuto.

    2. Espandi Account di servizio, se visualizzato, e fai clic su Crea account di servizio.

      Quando non esiste un account di servizio Monitoring, viene eseguito viene creato. Monitoring concede poi l'account di servizio due ruoli in Service Directory.

    3. Espandi il menu Service Directory e quindi procedi nel seguente modo:

      1. Espandi Regione e seleziona la regione della VM che gestisce le richieste.
      2. Espandi lo spazio dei nomi , quindi seleziona un'opzione uno spazio dei nomi Service Directory esistente fai clic su Crea spazio dei nomi e crea uno spazio dei nomi.
      3. Fai clic su Nome servizio e inserisci un servizio . I servizi sono le destinazioni dei controlli di uptime privati.
      4. Fai clic su Nome endpoint e inserisci un nome per il nome dell'endpoint. Un endpoint è una coppia di valori di indirizzo IP e porta che un servizio può usare per gestire le richieste. Quando il servizio contiene più endpoint, viene scelto un endpoint a caso.
      5. Espandi Rete e poi seleziona la tua rete privata.
      6. Espandi Istanza e seleziona la VM sulla rete privata che gestisce le richieste. Dopo la selezione dall'istanza, ne viene visualizzato l'indirizzo IP interno.
      7. Fai clic su Fine.
    4. Espandi Regole firewall:

      1. Espandi Rete e seleziona la rete a cui è collegata la regola di rete.

      2. Fai clic su Crea regole firewall.

        La regola firewall abilita il traffico TCP in entrata dalle route 35.199.192.0/19. Una route da 35.199.192.0/19 supporta la connettività all'inoltro destinazioni che usano il routing privato. Per maggiori informazioni, vedi Route VPC.

  5. Nel riquadro Controllo di uptime privato, per specificare Servizio Service Directory da utilizzare, esegui una delle seguenti operazioni:

    • Seleziona Utilizza il nome completo del servizio, quindi inserisci il nome completo nome qualificato del servizio:

      projects/SERVICE_DIRECTORY_PROJECT_ID/locations/REGION/namespaces/PRIVATE_NAMESPACE/services/PRIVATE_SERVICE
      
    • Seleziona la regione, lo spazio dei nomi e il servizio utilizzando il menu. Se hai creato un servizio, questi campi sono selezionati automaticamente.

  6. Nel riquadro Controllo di uptime privato, completa la descrizione target del controllo di uptime:

    1. (Facoltativo) Inserisci un componente del percorso per la richiesta.

      Controlli di uptime privati che utilizzano il protocollo HTTP o HTTPS invia una richiesta a http://target/path. In questo , target è l'indirizzo IP interno configurato nell'endpoint di Service Directory.

      Se lasci vuoto il campo Percorso o se imposti il valore su /, la richiesta viene inviata a http://target/.

    2. (Facoltativo) Per impostare la frequenza di esecuzione del controllo di uptime, utilizza il metodo Campo Controlla frequenza.

    3. (Facoltativo) Per selezionare le regioni di controllo o configurare l'autenticazione, le intestazioni per i controlli HTTP e HTTPS e altri valori, Fai clic su Altre opzioni di target:

      • Regioni: seleziona le regioni in cui si verificano i controlli di uptime ricevono le richieste. Un controllo di uptime deve avere almeno tre controlli. È presente un controllo in tutte le regioni tranne negli Stati Uniti, che ha tre dama. L'impostazione predefinita, Globale, include tutte le regioni.
      • Request Method (Metodo di richiesta): seleziona GET o POST.
      • Corpo: per i controlli HTTP POST, inserisci il corpo della codifica URL. tu devono eseguire la codifica autonomamente. Per tutti gli altri controlli, lascia questo vuoto.
      • Intestazione host: non impostare questo campo durante la configurazione e controlli di uptime privati.
      • Porta: qualsiasi valore impostato qui sostituisce la porta nel tuo Configurazione dell'endpoint di Service Directory. Non impostare qui se vuoi utilizzare la configurazione dell'endpoint.
      • Intestazioni personalizzate: fornisci intestazioni personalizzate e, facoltativamente, criptarli. La crittografia nasconde i valori nell'intestazione del modulo. Utilizza la crittografia per le intestazioni relative all'autenticazione che che non vuoi siano visibili agli altri.
      • Autenticazione: fornisci un singolo nome utente e una singola password. Questi vengono inviati come intestazione di autorizzazione. Se imposti i valori qui, non impostare un'intestazione di autorizzazione separata; se imposti Intestazione di autorizzazione: non impostare i valori qui. Le password sono sempre nascosti nel modulo.
  7. Fai clic su Continua e configura i requisiti di risposta. Tutte le impostazioni di questa sezione hanno valori predefiniti:

    • Per impostare un periodo di timeout per il controllo di uptime, utilizza Timeout risposta. Un controllo di uptime ha esito negativo quando risposta ricevuta da più località in questo periodo.

    • Per configurare il controllo di uptime per eseguire la corrispondenza dei contenuti, Assicurati che l'etichetta di attivazione/disattivazione sia Corrispondenza dei contenuti abilitata:

      • Seleziona il Tipo di corrispondenza di contenuto della risposta dal menu delle opzioni. Questo campo determina il modo in cui il contenuto della risposta viene confrontato con che ha restituito dati. Ad esempio, supponiamo che il contenuto della risposta sia abcd e il tipo di corrispondenza dei contenuti è Contiene. Il controllo di uptime ha esito positivo solo quando i dati della risposta contengono abcd. Per ulteriori informazioni, vedi Convalida i dati delle risposte.
      • Inserisci i Contenuti della risposta. Il contenuto della risposta deve essere una stringa non più lungo di 1024 byte. Nell'API, questo campo è ContentMatcher.
    • Per evitare che vengano create voci di log a causa dei controlli di uptime, Deseleziona Errori nel controllo dei log.

    • Per i controlli di uptime HTTP, configura i codici di risposta accettabili. Per impostazione predefinita, i controlli di uptime HTTP contrassegnano qualsiasi Risposta 2xx come risposta riuscita.

  8. Fai clic su Continua e configura criteri di avviso e notifiche.

    Per ricevere una notifica quando un controllo di uptime non va a buon fine, crea un'istanza criteri di avviso e configurare i canali di notifica per il criterio in questione:

    1. (Facoltativo) Aggiorna il nome del criterio di avviso.
    2. (Facoltativo) Nel campo Durata, seleziona per quanto tempo vengono effettuati i controlli di uptime devono avere esito negativo prima dell'invio delle notifiche. Per impostazione predefinita, le notifiche sono inviata quando almeno due regioni segnalano errori del controllo di uptime per un di almeno un minuto.
    3. Nella casella Canali di notifica, espandi Menu, seleziona i canali da aggiungere, e fai clic su OK.

      Nel menu, i canali di notifica sono raggruppati in ordine alfabetico ogni tipo di canale.

    Se non vuoi creare un criterio di avviso, assicurati che il testo del pulsante di attivazione/disattivazione è Non creare un avviso.

  9. Fai clic su Continua e completa il controllo di uptime:

    1. Inserisci un titolo descrittivo per il controllo di uptime.

    2. (Facoltativo) Per aggiungere etichette definite dall'utente al controllo di uptime, procedi nel seguente modo:

      1. Fai clic su Mostra etichette utente.
      2. Nel campo Chiave, inserisci un nome per l'etichetta. I nomi delle etichette devono iniziare con una lettera minuscola e possono contenere lettere minuscole, numeri, trattini bassi e trattini. Ad esempio: inserisci severity.
      3. Nel campo Valore, inserisci un valore per l'etichetta. Valori etichetta può contenere lettere minuscole, numeri, trattini bassi e trattini. Ad esempio: inserisci critical.
      4. Per ogni etichetta aggiuntiva, fai clic su Aggiungi etichetta utente e inserisci la chiave e il valore dell'etichetta.
    3. Per verificare la configurazione dei controlli di uptime, fai clic su Test. Se il risultato non è quello previsto, consulta la sezione Risoluzione dei problemi. correggere la configurazione e ripetere il passaggio di verifica.

    4. Fai clic su Crea.

API: progetto di definizione dell'ambito

Per creare la configurazione per un controllo di uptime privato, crea un'istanza UptimeCheckConfig e trasmettilo al metodo uptimeCheckConfigs.create nell'API Cloud Monitoring.

L'oggetto UptimeCheckConfig per un controllo di uptime privato è diverso per un controllo di uptime pubblico nei modi seguenti:

  • La risorsa monitorata specificata nella configurazione del controllo di uptime deve essere di tipo servicedirectory_service. Questo tipo di risorsa ha le seguenti etichette:

    • project_id: l'ID progetto associato all'elemento Service Directory.
    • location: la regione cloud associata al servizio.
    • namespace_name: lo spazio dei nomi di Service Directory.
    • service_name: il nome del servizio Service Directory.
  • Non è necessario specificare un valore port nella configurazione del controllo di uptime. Il valore della porta dell'endpoint di Service Directory esegue l'override qualsiasi valore impostato nella configurazione del controllo di uptime e il controllo non va non è specificata nessuna porta nella configurazione di Service Directory.

  • La configurazione del controllo di uptime deve specificare il campo checker_type con il valore VPC_CHECKERS. Questo valore è obbligatorio per l'uptime privato controlli. Per impostazione predefinita, i controlli di uptime sono pubblici, quindi i controlli di uptime pubblici non è necessario specificare questo campo.

Il seguente codice JSON illustra un oggetto UptimeCheckConfig per un un controllo di uptime privato utilizzando le risorse di Service Directory per un'istanza VM su una rete privata:

{
  "displayName": "private-check-demo",
  "monitoredResource": {
    "type": "servicedirectory_service",
    "labels": {
      "project_id": "SERVICE_DIRECTORY_PROJECT_ID",
      "service_name": "PRIVATE_SERVICE",
      "namespace_name": "PRIVATE_NAMESPACE",
      "location": "REGION"
    }
  },
  "httpCheck": {
    "requestMethod": "GET"
  },
  "period": "60s",
  "timeout": "10s",
  "checker_type": "VPC_CHECKERS"
}'

Per creare un controllo di uptime privato quando Servizio Service Directory si trova nello stesso progetto Google Cloud del controllo di uptime, segui questi passaggi:

  1. Imposta il progetto Google Cloud predefinito per gcloud CLI:

    gcloud config set project PROJECT_ID
    
  2. Crea una variabile di ambiente per archiviare il tuo ID progetto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Crea una variabile di ambiente contenente un token di accesso:

    export TOKEN=`gcloud auth print-access-token`
    
  4. Usa lo strumento curl per richiamare Metodo uptimeCheckConfigs.create e pubblicarvi un oggetto di configurazione:

    curl https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/uptimeCheckConfigs \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    --request POST --data '{
    "displayName": "private-check-demo",
    "monitoredResource": {
      "type": "servicedirectory_service",
      "labels": {
        "project_id": "'"$PROJECT_ID"'",
        "service_name": "PRIVATE_SERVICE",
        "namespace_name": "PRIVATE_NAMESPACE",
        "location": "REGION"
      }
    },
    "httpCheck": {
      "requestMethod": "GET"
    },
    "period": "60s",
    "timeout": "10s",
    "checker_type": "VPC_CHECKERS"
    }'
    

Se la creazione del controllo di uptime non va a buon fine, verifica che l'account di servizio dispone dei ruoli necessari. Per ulteriori informazioni, consulta Creazione dei controlli di uptime non riuscita.

API: progetto monitorato

Per creare la configurazione per un controllo di uptime privato, crea un'istanza UptimeCheckConfig e trasmettilo al metodo uptimeCheckConfigs.create nell'API Cloud Monitoring.

L'oggetto UptimeCheckConfig per un controllo di uptime privato è diverso per un controllo di uptime pubblico nei modi seguenti:

  • La risorsa monitorata specificata nella configurazione del controllo di uptime deve essere di tipo servicedirectory_service. Questo tipo di risorsa ha le seguenti etichette:

    • project_id: l'ID progetto associato all'elemento Service Directory.
    • location: la regione cloud associata al servizio.
    • namespace_name: lo spazio dei nomi di Service Directory.
    • service_name: il nome del servizio Service Directory.
  • Non è necessario specificare un valore port nella configurazione del controllo di uptime. Il valore della porta dell'endpoint di Service Directory esegue l'override qualsiasi valore impostato nella configurazione del controllo di uptime e il controllo non va non è specificata nessuna porta nella configurazione di Service Directory.

  • La configurazione del controllo di uptime deve specificare il campo checker_type con il valore VPC_CHECKERS. Questo valore è obbligatorio per l'uptime privato controlli. Per impostazione predefinita, i controlli di uptime sono pubblici, quindi i controlli di uptime pubblici non è necessario specificare questo campo.

Il seguente codice JSON illustra un oggetto UptimeCheckConfig per un un controllo di uptime privato utilizzando le risorse di Service Directory per un'istanza VM su una rete privata:

{
  "displayName": "private-check-demo",
  "monitoredResource": {
    "type": "servicedirectory_service",
    "labels": {
      "project_id": "SERVICE_DIRECTORY_PROJECT_ID",
      "service_name": "PRIVATE_SERVICE",
      "namespace_name": "PRIVATE_NAMESPACE",
      "location": "REGION"
    }
  },
  "httpCheck": {
    "requestMethod": "GET"
  },
  "period": "60s",
  "timeout": "10s",
  "checker_type": "VPC_CHECKERS"
}'

Per creare un controllo di uptime privato quando Il servizio Service Directory si trova in un progetto Google Cloud che viene monitorato in base all'ambito delle metriche dei controlli di uptime progetto Google Cloud, segui questi passaggi:

  1. Configura gcloud CLI per utilizzare per impostazione predefinita il progetto Google Cloud in cui va creato il controllo di uptime:

    gcloud config set project PROJECT_ID
    
  2. Crea una variabile di ambiente per archiviare il tuo ID progetto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Crea una variabile di ambiente per archiviare l'ID progetto del Progetto Google Cloud in cui è definito il servizio Service Directory:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Questo progetto deve rientrare nell'ambito delle metriche dei controlli di uptime progetto.

  4. Crea una variabile di ambiente contenente un token di accesso:

    export TOKEN=`gcloud auth print-access-token`
    
  5. Usa lo strumento curl per richiamare Metodo uptimeCheckConfigs.create e pubblicarvi un oggetto di configurazione:

    curl https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/uptimeCheckConfigs \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    --request POST --data '{
    "displayName": "private-check-demo",
    "monitoredResource": {
      "type": "servicedirectory_service",
      "labels": {
        "project_id": "'"$MONITORED_PROJECT_ID"'",
        "service_name": "PRIVATE_SERVICE",
        "namespace_name": "PRIVATE_NAMESPACE",
        "location": "REGION"
      }
    },
    "httpCheck": {
      "requestMethod": "GET"
    },
    "period": "60s",
    "timeout": "10s",
    "checker_type": "VPC_CHECKERS"
    }'
    

Se la creazione del controllo di uptime non va a buon fine, verifica che l'account di servizio dispone dei ruoli necessari. Per ulteriori informazioni, consulta Creazione dei controlli di uptime non riuscita.

Potrebbe verificarsi un ritardo massimo di 5 minuti prima che i risultati del controllo di uptime inizino a confluire in Monitoring. Durante questo periodo, la dashboard dei controlli di uptime segnala lo stato come "nessun dato disponibile".

Passaggi prerequisito

Se prevedi di utilizzare l'interfaccia della console Google Cloud, quindi vai a Creare un controllo di uptime privato. La La console Google Cloud ti guida in tutti i passaggi preliminari.

Se prevedi di utilizzare per configurare i controlli di uptime privati, completa i seguenti passaggi prima di poter creare il controllo di uptime:

  1. Configura le risorse di Service Directory
  2. Autorizza l'account di servizio
  3. Configura le regole firewall

Configura le risorse di Service Directory

I controlli di uptime privati determinano la disponibilità di una risorsa utilizzando un indirizzo IP interno registrato da un Service Directory. Puoi configurare Service Directory per le risorse seguenti:

  • VM su una rete privata
  • Bilanciatori del carico interni (ILB) L4

Per utilizzare i controlli di uptime privati, devi configurare quanto segue Risorse di Service Directory:

  • Endpoint: un endpoint è una coppia di valori di indirizzo IP e porta che un servizio può usare per gestire le richieste. Quando il servizio contiene più endpoint, viene scelto un endpoint a caso.
  • Servizio: un servizio è una raccolta di endpoint che forniscono un insieme di comportamenti. I servizi sono le destinazioni dei controlli di uptime privati.
  • Spazio dei nomi: uno spazio dei nomi contiene un insieme di nomi di servizi e i relativi nomi associati. endpoint. Gli spazi dei nomi consentono di raggruppare i servizi in modo gestione dei dispositivi.

Puoi configurare queste risorse con gcloud CLI o nella console Google Cloud. Quando utilizzi la console, la procedura di configurazione sono inclusi nella finestra di dialogo Crea controllo di uptime.

Console Google Cloud

Quando utilizzi la console Google Cloud, dopo aver selezionato IP interno come risorsa per un controllo di uptime, ti verrà chiesto di creare Service Directory e un servizio.

gcloud CLI - VM

Per informazioni sui comandi utilizzati in questo documento per i servizi, ed endpoint, consulta la sezione Gruppo di comandi gcloud service-directory.

Per creare risorse Service Directory per una VM, procedi nel seguente modo:

  1. Configura Google Cloud CLI in modo che utilizzi come valore predefinito il progetto Google Cloud in cui occorre creare le risorse di Service Directory:

    gcloud config set project PROJECT_ID
    
  2. Crea variabili di ambiente per archiviare l'ID e il numero del progetto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Crea uno spazio dei nomi di Service Directory:

    gcloud service-directory namespaces create PRIVATE_NAMESPACE --location=REGION
    
  4. Crea un servizio Service Directory nello spazio dei nomi:

    gcloud service-directory services create PRIVATE_SERVICE \
    --namespace PRIVATE_NAMESPACE --location=REGION
    
  5. Crea una variabile di ambiente in cui inserire l'indirizzo IP della VM rete privata:

    export INTERNAL_IP=$(gcloud compute instances describe --zone=ZONE \
    PRIVATE_SERVICE_INSTANCE --format='get(networkInterfaces[0].networkIP)')
    
  6. Crea un endpoint di Service Directory che contiene un indirizzo IP interno e una porta:

    gcloud service-directory endpoints create PRIVATE_ENDPOINT \
    --location=REGION --namespace=PRIVATE_NAMESPACE \
    --service=PRIVATE_SERVICE \
    --network=projects/$PROJECT_NUMBER/locations/global/networks/PRIVATE_CHECK_NETWORK \
    --address=$INTERNAL_IP --port=80
    

gcloud CLI - L4 ILB

Per informazioni sui comandi utilizzati in questo documento per i servizi, ed endpoint, consulta il Gruppo di comandi gcloud service-directory.

Puoi usare controlli di uptime privati per monitorare la disponibilità di un server L4 del bilanciatore del carico (ILB) creando risorse Service Directory per l'ILB L4.

Quando crei nuovi ILB L4, puoi utilizzare l'integrazione automatica fornita Service Directory; per ulteriori informazioni, consulta Configurare bilanciatori del carico interni in Service Directory per ulteriori informazioni.

Se disponi di ILB L4 creati senza utilizzare l'integrazione automatica fornita da Service Directory, puoi configurare manualmente le risorse di Service Directory nel seguente modo:

  1. Configura Google Cloud CLI in modo che utilizzi come valore predefinito il progetto Google Cloud in cui occorre creare le risorse di Service Directory:

    gcloud config set project PROJECT_ID
    
  2. Crea variabili di ambiente per archiviare l'ID e il numero del progetto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Per consentire a tutti i controlli di uptime di trasferire i dati a L4 ILB: abilitare l'accesso globale all'ILB:

    gcloud compute forwarding-rules update ILB_FORWARDING_RULE_NAME \
    --region=ILB_REGION --allow-global-access
    

    Se il bilanciatore del carico L4 non consente l'accesso globale, le metriche di uptime vengono disponibile solo se ILB_REGION è uno dei seguenti:

    • us-east4
    • us-central1
    • us-west1
    • europe-west1
    • southamerica-east1
    • asia-southeast1
  4. Crea uno spazio dei nomi di Service Directory:

    gcloud service-directory namespaces create PRIVATE_NAMESPACE_FOR_ILB\
    --location=REGION
    
  5. Crea un servizio Service Directory nello spazio dei nomi:

    gcloud service-directory services create PRIVATE_SERVICE_FOR_ILB \
    --namespace PRIVATE_NAMESPACE_FOR_ILB --location=REGION
    
  6. Crea una variabile di ambiente in cui inserire l'indirizzo IP del bilanciatore del carico sulla rete privata:

    export INTERNAL_IP=$( gcloud compute forwarding-rules describe ILB_FORWARDING_RULE_NAME\
    --region=ILB_REGION --format='get(IPAddress)')
    
  7. Crea un endpoint di Service Directory che contiene un indirizzo IP interno e una porta:

    gcloud service-directory endpoints create PRIVATE_ENDPOINT_FOR_ILB \
    --location=ILB_REGION --namespace=PRIVATE_NAMESPACE_FOR_ILB \
    --service=PRIVATE_SERVICE_FOR_ILB \
    --network=projects/$PROJECT_NUMBER/locations/global/networks/PRIVATE_CHECK_NETWORK \
    --address=$INTERNAL_IP --port=80
    

Autorizza l'account di servizio

I controlli di uptime utilizzano un account di servizio di proprietà di Monitoring gestire le interazioni con il servizio Service Directory. La nome dell'account di servizio ha il seguente formato:

service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

Se questo account di servizio non esiste, Monitoring crea l'account di servizio quando crei il controllo di uptime privato. Tu non è possibile creare questo account di servizio.

Quando crei un controllo di uptime privato, Monitoring tenta di per concedere all'account di servizio due ruoli di Service Directory. Tuttavia, quando utilizzi l'API, le impostazioni del progetto Google Cloud potrebbero impedire a Monitoring di concedere ruoli all'account di servizio. In questa situazione, la creazione del controllo di uptime non va a buon fine.

Questa sezione descrive come concedere i ruoli richiesti a un l'account di servizio esistente:

Console Google Cloud

Quando utilizzi la console Google Cloud, dopo aver selezionato IP interno come risorsa per un controllo di uptime, ti viene chiesto di autorizzare l'account di servizio.

API: progetto di definizione dell'ambito

Per concedere i ruoli di Service Directory a un account di servizio esistente, segui questi passaggi:

  1. Configura gcloud CLI per utilizzare per impostazione predefinita il progetto Google Cloud in cui va creato il controllo di uptime:

    gcloud config set project PROJECT_ID
    
  2. Crea variabili di ambiente per archiviare l'ID e il numero del progetto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Esegui questi comandi:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.pscAuthorizedService'
    

    I comandi precedenti concedono i seguenti ruoli all'account di servizio:

    • roles/servicedirectory.viewer
    • roles/servicedirectory.pscAuthorizedService

API: progetto monitorato

Per concedere i ruoli di Service Directory a un account di servizio esistente, segui questi passaggi:

  1. Configura gcloud CLI per utilizzare per impostazione predefinita il progetto Google Cloud in cui va creato il controllo di uptime:

    gcloud config set project PROJECT_ID
    
  2. Crea variabili di ambiente per archiviare l'ID e il numero del progetto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='get(projectNumber)')
    
  3. Crea una variabile di ambiente contenente l'ID progetto del progetto in cui è definito il servizio Service Directory:

    export MONITORED_PROJECT_ID=MONITORED_PROJECT_ID
    

    Questo progetto deve rientrare nell'ambito delle metriche dei controlli di uptime progetto.

  4. Crea una variabile di ambiente contenente l'ID progetto del progetto in cui è definita la rete:

    export NETWORK_PROJECT_ID=NETWORK_PROJECT_ID
    

    Questo progetto non deve necessariamente rientrare nell'ambito delle metriche del del controllo di uptime.

  5. Esegui questi comandi:

    gcloud projects add-iam-policy-binding $MONITORED_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.viewer'
    
    gcloud projects add-iam-policy-binding $NETWORK_PROJECT_ID \
    --member='serviceAccount:service-'$PROJECT_NUMBER'@gcp-sa-monitoring-notification.iam.gserviceaccount.com' \
    --role='roles/servicedirectory.pscAuthorizedService'
    

    I comandi precedenti concedono i seguenti ruoli all'account di servizio:

    • roles/servicedirectory.viewer per il progetto monitorato in cui che il servizio Service Directory sia configurato. $SERVICE_MONITORED_PROJECT_ID.
    • roles/servicedirectory.pscAuthorizedService per il progetto in cui in cui è configurata la rete privata $NETWORK_PROJECT_ID.

Configurazione delle regole del firewall

Devi creare una regola firewall che consenta il traffico TCP in entrata dalle route 35.199.192.0/19. Una route da 35.199.192.0/19 supporta la connettività a destinazioni di forwarding che usano il routing privato. Per ulteriori informazioni vedi Route VPC.

Console Google Cloud

Quando utilizzi la console Google Cloud, dopo aver selezionato IP interno come risorsa per un controllo di uptime, ti viene chiesto di configurare le regole del firewall.

Interfaccia a riga di comando gcloud

Per creare una regola firewall che consenta il traffico TCP in entrata: attraverso il firewall per l'accesso alla rete privata, esegui questo comando:

  1. Configura gcloud CLI per utilizzare per impostazione predefinita il progetto Google Cloud in cui va creato il controllo di uptime:

    gcloud config set project PROJECT_ID
    
  2. Crea variabili di ambiente per archiviare l'ID e il numero del progetto:

    export PROJECT_ID=$(gcloud config get-value core/project)
    
  3. Crea la regola di rete:

    gcloud compute firewall-rules create PRIVATE_CHECK_NETWORK_HOPE_RULE \
    --network="PRIVATE_CHECK_NETWORK"  \
    --action=allow   --direction=ingress   --source-ranges="35.199.192.0/19" \
    --rules=tcp   --project="$PROJECT_ID"
    

    Nel comando precedente, PRIVATE_CHECK_NETWORK è la rete a cui viene applicata questa regola mentre PRIVATE_CHECK_NETWORK_HOPE_RULE è il nome della regola firewall.

Per ulteriori informazioni su questo passaggio, consulta Configura il progetto di rete.

Limitazioni

Se usi controlli di uptime privati, la convalida dei certificati SSL è disabilitata, a prescindere dalla configurazione.

I controlli di uptime privati non supportano gli endpoint con reindirizzamenti.

Risoluzione dei problemi

In questa sezione vengono descritti alcuni errori che potresti riscontrare durante l'utilizzo controlli di uptime privati e fornisce informazioni per risolverli.

La creazione del controllo di uptime non va a buon fine

Le impostazioni del progetto Google Cloud potrebbero impedire la modifica dei ruoli assegnati all'account di servizio utilizzato dai controlli di uptime gestire le interazioni con il servizio Service Directory. In questa situazione, la creazione del controllo di uptime non va a buon fine.

Questa sezione descrive come concedere i ruoli assegnati all'account di servizio richiede:

Console Google Cloud

Quando utilizzi la console Google Cloud per creare il controllo di uptime privato, la console Google Cloud invia i comandi per concedere i ruoli di Service Directory all'account di servizio.

Per informazioni su come concedere ruoli a un account di servizio, consulta Autorizzare l'account di servizio.

API: progetto di definizione dell'ambito

La prima volta che crei un controllo di uptime privato per un Servizio Service Directory e risorse private in un singolo progetto Google Cloud, la richiesta potrebbe avere esito positivo o negativo. Il risultato dipende dal fatto che tu Aver disattivato le concessioni automatiche dei ruoli per gli account di servizio nel tuo progetto:

  • La creazione del primo controllo di uptime riesce se il tuo progetto lo consente le concessioni automatiche di ruoli per gli account di servizio. Un account di servizio è vengono creati per te a cui vengono assegnati i ruoli necessari.

  • La creazione del primo controllo di uptime non va a buon fine se il progetto non lo consente le concessioni automatiche di ruoli per gli account di servizio. Un account di servizio è ma non sono stati concessi ruoli.

Se la creazione del controllo di uptime non va a buon fine:

  1. Autorizza l'account di servizio.
  2. Attendi alcuni minuti per la propagazione delle autorizzazioni.
  3. Prova a creare di nuovo il controllo di uptime privato.

API: progetto monitorato

La prima volta che crei un controllo di uptime privato che ha come target una servizio Service Directory in un progetto monitorato in un altro progetto Google Cloud, la richiesta non va a buon fine e determina la creazione di un Account di servizio Monitoring.

La modalità di autorizzazione dell'account di servizio dipende dal numero di I progetti Google Cloud che stai utilizzando e le relative relazioni. Puoi coinvolgere fino a quattro progetti:

  • Il progetto in cui hai definito il controllo di uptime privato.
  • Il progetto monitorato in cui hai configurato Service Directory.
  • Il progetto in cui hai configurato la rete VPC.
  • Il progetto in cui vengono installate le risorse di rete, come VM o bilanciatori del carico, configurato. Questo progetto non ha ruolo nell'autorizzazione dell'account di servizio di cui parleremo qui.

Quando la creazione del primo controllo di uptime non va a buon fine:

  1. Autorizza l'account di servizio.
  2. Attendi alcuni minuti per la propagazione delle autorizzazioni.
  3. Prova a creare di nuovo il controllo di uptime privato.

Accesso negato

I controlli di uptime non superano i risultati di VPC_ACCESS_DENIED. Questo risultato significa che qualche aspetto della configurazione di rete o dell'account di servizio l'autorizzazione non è corretta.

Verifica se l'autorizzazione dell'account di servizio utilizza una definizione dell'ambito un progetto monitorato o un progetto monitorato, come descritto La creazione del controllo di uptime non va a buon fine.

Per ulteriori informazioni sull'accesso a reti private, vedi Configura il progetto di rete.

Risultati anomali di controlli di uptime privati

Utilizzi un servizio Service Directory con più VM e la configurazione del servizio contiene più endpoint. Quando arresti una delle VM, il tuo controllo di uptime continua a indicare che l'operazione è riuscita.

Quando la configurazione del servizio contiene più endpoint, uno è scelti in modo casuale. Se la VM associata all'endpoint scelto è in esecuzione, il controllo di uptime riesce anche se una delle VM non è attiva.

Intestazioni predefinite

I controlli di uptime restituiscono errori o risultati imprevisti. Questo potrebbe si verificano se hai sostituito i valori predefiniti dell'intestazione.

Quando viene inviata una richiesta per un controllo di uptime privato a un endpoint di destinazione, la richiesta include le seguenti intestazioni e valori:

Intestazione Valore
HTTP_USER_AGENT GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)
HTTP_CONNECTION keep-alive
HTTP_HOST IP dell'endpoint di Service Directory
HTTP_ACCEPT_ENCODING gzip, deflate, br
CONTENT_LENGTH Calcolo basato sul tempo di attività al termine dei dati

Se tenti di eseguire l'override di questi valori, potrebbe verificarsi quanto segue:

  • Il controllo di uptime genera report sugli errori
  • I valori di override vengono eliminati e sostituiti con i valori della tabella

Nessun dato visibile

Nella dashboard dei controlli di uptime non vengono visualizzati dati quando il controllo di uptime si trova in un progetto Google Cloud diverso Service Directory.

Assicurati che il progetto Google Cloud che contiene il controllo di uptime monitora il progetto Google Cloud che contiene Service Directory.

Per ulteriori informazioni su come elencare i progetti monitorati e aggiungerne altri quelli, vedi Configura un ambito delle metriche per più progetti.

Passaggi successivi