Provisioning della rete VPC condivisa

Un VPC condiviso consente di esportare le subnet da Rete Virtual Private Cloud (VPC) in un progetto host per in altri progetti di servizio della stessa organizzazione. Le istanze nei progetti di servizio possono avere connessioni di rete e le subnet del progetto host. In questa pagina viene descritto come configurare e utilizzare VPC condiviso, compresa la preparazione amministrativa necessaria per dell'organizzazione.

Il VPC condiviso supporta l'esportazione sia solo IPv4 (stack singolo) che Subnet IPv6 (stack doppio).

Per informazioni sullo scollegamento dei progetti di servizio o sulla rimozione per configurare la rete VPC condiviso completamente, Esegui il deprovisioning di un VPC condiviso.

Il VPC condiviso è anche noto come "XPN" nell'API e a interfaccia a riga di comando.

Quote, limiti e risorse idonee

Prima di iniziare, assicurati di acquisire familiarità con VPC condiviso e IAM e nello specifico:

Prepara l'organizzazione

Quando prepari la tua organizzazione, tieni presente le seguenti informazioni.

Amministratori e IAM

Preparazione dell'organizzazione, configurazione di progetti host del VPC condiviso e l'uso delle reti VPC condiviso prevede almeno tre i ruoli amministrativi di Identity and Access Management (IAM). Per ulteriori dettagli su ogni ruolo e informazioni su quelli facoltative, consulta le amministratori e IAM della panoramica del VPC condiviso.

Vincoli dei criteri dell'organizzazione

I vincoli dei criteri dell'organizzazione possono proteggere le risorse a livello di progetto, cartella o organizzazione. Le sezioni seguenti descrivono ogni .

Impedisci l'eliminazione accidentale dei progetti host

L'eliminazione accidentale di un progetto host comporterebbe interruzioni in tutti i servizi a progetti associati. Quando un progetto è configurato come VPC condiviso viene applicato un blocco speciale, detto blocco, Come finché il blocco è presente, impedisce l'eliminazione del progetto per errore. Il blocco viene rimosso automaticamente dal progetto host quando non è più configurato per il VPC condiviso.

Un utente con il ruolo orgpolicy.policyAdmin può definire un livello di organizzazione del criterio (constraints/compute.restrictXpnProjectLienRemoval) che limita la rimozione dei blocchi ai soli ruoli seguenti:

  • Utenti con roles/owner o roles/resourcemanager.lienModifier nel livello organizzazione
  • Utente con ruoli personalizzati che includono resourcemanager.projects.get e Autorizzazioni resourcemanager.projects.updateLiens a livello di organizzazione

In questo modo si impedisce a un proprietario di progetto che non dispone di roles/owner a livello di organizzazione o il ruolo resourcemanager.lienModifier per a livello di organizzazione dalla possibilità di eliminare accidentalmente Progetto host VPC condiviso. Per ulteriori informazioni sulle autorizzazioni associati al ruolo resourcemanager.lienModifier, consulta la sezione Posizionamento di un blocca su un progetto in nella documentazione di Resource Manager.

Poiché un criterio dell'organizzazione si applica a tutti i progetti nell'organizzazione, seguire questi passaggi una sola volta per limitare la rimozione dei blocchi.

  1. Esegui l'autenticazione in gcloud come amministratore dell'organizzazione o IAM dell'entità con il ruolo orgpolicy.policyAdmin. Sostituisci ORG_ADMIN con il nome di un amministratore dell'organizzazione:

    gcloud auth login ORG_ADMIN
    
  2. Per determinare il numero dell'ID organizzazione osserva l'output di questo .

    gcloud organizations list
    
  3. Applica il criterio compute.restrictXpnProjectLienRemoval per dell'organizzazione eseguendo questo comando. Sostituisci ORG_ID con il numero determinato nel passaggio precedente.

    gcloud resource-manager org-policies enable-enforce \
        --organization ORG_ID compute.restrictXpnProjectLienRemoval
    
  4. Esci da gcloud se hai completato le attività come organizzazione Amministratore per proteggere il tuo account.

    gcloud auth revoke ORG_ADMIN
    

Limita i collegamenti del progetto host

Per impostazione predefinita, un amministratore della rete VPC condivisa può collegare un utente non host a qualsiasi host progetto nella stessa organizzazione. L'amministratore dei criteri dell'organizzazione può limita l'insieme di progetti host a cui un progetto non host o uno non host puoi collegare i progetti in una cartella o un'organizzazione. Per ulteriori informazioni, vedi il Vincolo constraints/compute.restrictSharedVpcHostProjects.

Vincola le subnet nel progetto host utilizzabili da un progetto di servizio

Per impostazione predefinita, dopo aver configurato il VPC condiviso, IAM Le entità nei progetti di servizio possono utilizzare qualsiasi subnet nel progetto host se avere autorizzazioni IAM appropriate. Oltre a gestire le autorizzazioni dei singoli utenti, è disponibile un criterio dell'organizzazione un amministratore può impostare un criterio per definire l'insieme di subnet che possono essere a cui si accede da un particolare progetto o dai progetti in una cartella o un'organizzazione. Per ulteriori informazioni, consulta Vincolo constraints/compute.restrictSharedVpcSubnetworks.

Impedisci l'arresto accidentale dei progetti host

La disconnessione della fatturazione su una rete VPC condiviso può portare a un di tutte le risorse dipendenti, inclusi i progetti di servizio. Per evitare possibile arresto accidentale del VPC condiviso a causa di fatturazione inattiva o disabilitata, protegge il collegamento tra il progetto host e e il relativo account di fatturazione.

Nomina amministratori VPC condivisi

Un amministratore dell'organizzazione può concedere a una o più entità IAM Amministratore VPC condiviso e Ruoli di Amministratore IAM progetto.

Il ruolo Amministratore IAM progetto concede gli amministratori del VPC condiviso l'autorizzazione a condividere tutte le subnet esistenti e future, non solo singole subnet. Questa concessione crea un'associazione a livello di organizzazione o cartella, non a livello di progetto. Quindi le entità IAM devono essere definite organizzazione, non solo un progetto al suo interno.

Console

Per concedere il ruolo Amministratore VPC condiviso a livello di organizzazione

  1. Accedi alla console Google Cloud come amministratore dell'organizzazione, quindi vai a pagina IAM.

    Vai alla pagina IAM

  2. Dal menu del progetto, seleziona la tua organizzazione.

    Se selezioni un progetto, il menu Ruoli mostra le voci errate.

  3. Fai clic su Aggiungi.

  4. Inserisci gli indirizzi email delle Nuove entità.

  5. Nel menu Ruoli, seleziona Compute Engine > Amministratore VPC condiviso Compute.

  6. Fai clic su Aggiungi un altro ruolo.

  7. Nel menu a discesa Ruoli, seleziona Resource Manager > IAM del progetto Console di amministrazione.

  8. Fai clic su Salva.

Per concedere il ruolo Amministratore VPC condiviso a livello di cartella

  1. Accedi alla console Google Cloud come amministratore dell'organizzazione, quindi vai a pagina IAM.

    Vai alla pagina IAM

  2. Dal menu del progetto, seleziona la tua cartella.

    Se selezioni un progetto o un'organizzazione, le opzioni visualizzate sono risposta errata.

  3. Fai clic su Aggiungi.

  4. Inserisci gli indirizzi email delle Nuove entità.

  5. In Seleziona un ruolo, seleziona Compute Engine > Amministratore VPC condiviso Compute.

  6. Fai clic su Aggiungi un altro ruolo.

  7. Nel menu Ruoli, seleziona Resource Manager >. Amministratore IAM progetto.

  8. Fai clic su Aggiungi un altro ruolo.

  9. Nel menu Ruoli, seleziona Resource Manager >. Visualizzatore di rete Compute.

  10. Fai clic su Salva.

gcloud

  1. Esegui l'autenticazione in gcloud come amministratore dell'organizzazione. Sostituisci ORG_ADMIN con il nome di un amministratore dell'organizzazione:

    gcloud auth login ORG_ADMIN
    
  2. Per determinare il numero ID organizzazione osserva l'output questo comando.

    gcloud organizations list
    
  3. Per assegnare il ruolo Amministratore VPC condiviso a livello di organizzazione di questo livello, procedi nel seguente modo:

    1. Applica il ruolo Amministratore VPC condiviso a un progetto esistente Entità IAM. Sostituisci ORG_ID con l'ID organizzazione indicato nella passaggio precedente e EMAIL_ADDRESS con l'indirizzo email indirizzo dell'utente a cui viene concessa la VPC condiviso Ruolo Amministratore.

      gcloud organizations add-iam-policy-binding ORG_ID \
        --member='user:EMAIL_ADDRESS' \
        --role="roles/compute.xpnAdmin"
      
      gcloud organizations add-iam-policy-binding ORG_ID \
        --member='user:EMAIL_ADDRESS' \
        --role="roles/resourcemanager.projectIamAdmin"
      
  4. Per assegnare il ruolo Amministratore VPC condiviso cartella, procedi nel seguente modo:

    1. Per determinare l'ID cartella, osserva l'output di questo comando.

      gcloud resource-manager folders list --organization=ORG_ID
      
    2. Applica il ruolo Amministratore VPC condiviso a un progetto esistente Entità IAM. Sostituisci ORG_ID con l'ID organizzazione del passaggio precedente e EMAIL_ADDRESS con l'indirizzo email del utente a cui stai concedendo il ruolo Amministratore VPC condiviso.

      gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \
         --member='user:EMAIL_ADDRESS' \
         --role="roles/compute.xpnAdmin"
      
      gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \
         --member='user:EMAIL_ADDRESS' \
         --role="roles/resourcemanager.projectIamAdmin"
      
      gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \
         --member='user:EMAIL_ADDRESS' \
         --role="roles/compute.networkViewer"
      
  5. Revoca il token dell'account amministratore dell'organizzazione per in gcloud a strumento a riga di comando al termine delle attività per proteggere al tuo account.

    gcloud auth revoke ORG_ADMIN
    

API

  • Per assegnare il ruolo Amministratore VPC condiviso a livello di organizzazione utilizza la seguente procedura:

    1. Determina il numero dell'ID organizzazione.

      POST https://cloudresourcemanager.googleapis.com/v1/organizations
      
    2. Descrivi e poi registra i dettagli dell'organizzazione esistente .

      POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORG_ID:getIamPolicy
      

      Sostituisci ORG_ID con l'ID della tua organizzazione.

    3. Assegnare il ruolo Amministratore VPC condiviso.

      POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORG_ID:setIamPolicy
      {
        "bindings": [
          ...copy existing bindings
          {
            "members": [
              "user:EMAIL_ADDRESS"
            ],
            "role": "roles/compute.xpnAdmin"
          },
          {
            "members": [
              "user:EMAIL_ADDRESS"
            ],
            "role": "roles/resourcemanager.projectIamAdmin"
          }
        ],
        "etag": "ETAG",
        "version": 1,
        ...other existing policy details
      }
      

      Sostituisci quanto segue:

      • ORG_ID: l'ID dell'organizzazione che contiene l'utente a cui stai concedendo il VPC condiviso Ruolo Amministratore.
      • EMAIL_ADDRESS: l'indirizzo email dell'utente.
      • ETAG: un identificatore univoco ricevuto quando hai descritto la norma esistente. Evita le collisioni se vengono inviate contemporaneamente più richieste di aggiornamento.

      Per ulteriori informazioni, consulta Metodo organizations.setIamPolicy.

  • Per assegnare il ruolo Amministratore VPC condiviso a livello di cartella, utilizza la seguente richiesta:

    1. Determina il numero dell'ID organizzazione.

      POST https://cloudresourcemanager.googleapis.com/v1/organizations
      
    2. Individua l'ID cartella.

      GET https://cloudresourcemanager.googleapis.com/v2/folders?parent=organizations/ORG_ID
      

      Sostituisci ORG_ID con l'ID della tua organizzazione.

    3. Descrivi e poi registra i dettagli del criterio esistente per le cartelle.

      POST https://cloudresourcemanager.googleapis.com/v2/folders/FOLDER_ID:getIamPolicy
      

      Sostituisci FOLDER_ID con l'ID della cartella.

    4. Assegnare il ruolo Amministratore VPC condiviso.

      POST https://cloudresourcemanager.googleapis.com/v1/organizations/FOLDER_ID:setIamPolicy
      {
        "bindings": [
          ...copy existing bindings
          {
            "members": [
              "user:EMAIL_ADDRESS"
            ],
            "role": "roles/compute.xpnAdmin"
          },
          {
            "members": [
              "user:EMAIL_ADDRESS"
            ],
            "role": "roles/resourcemanager.projectIamAdmin"
          },
          {
            "members": [
              "user:EMAIL_ADDRESS"
            ],
            "role": "roles/compute.networkViewer"
          }
        ],
        "etag": "ETAG",
        "version": 1,
        ...other existing policy details
      }
      

      Sostituisci quanto segue:

      • FOLDER_ID: l'ID dell'organizzazione che contiene l'utente a cui viene concessa la rete VPC condiviso Ruolo Amministratore.
      • EMAIL_ADDRESS: l'indirizzo email dell'utente.
      • ETAG: un identificatore univoco ricevuto quando hai ha descritto il criterio esistente. Evita le collisioni se richieste di aggiornamento vengono inviate contemporaneamente.

      Per ulteriori informazioni, consulta Metodo folders.setIamPolicy.

Configura rete VPC condivisa

Tutte le attività in questa sezione devono essere eseguite da un amministratore del VPC condiviso.

Abilita un progetto host

All'interno di un'organizzazione, gli amministratori della rete VPC condivisa possono designare Progetti host VPC condiviso, soggetti a quote e limiti, seguendo questa procedura. Gli amministratori della rete VPC condivisa possono anche creare ed eliminare progetti se dispongono del Ruolo Autore progetto e ruolo Autore eliminazione progetto (roles/resourcemanager.projectCreator e roles/resourcemanager.projectDeleter) per la tua organizzazione.

Quando abiliti un progetto host, le risorse di rete del progetto non vengono condivisi automaticamente con i progetti di servizio. Devi allegare di servizio al progetto host per condividere i progetti di reti e subnet con i progetti di servizio.

Console

Se non hai ancora con il ruolo Amministratore VPC condiviso Compute (roles/compute.xpnAdmin), non può visualizzare questa pagina nella console Google Cloud.

  1. Nella console Google Cloud, vai alla pagina VPC condiviso.

    Vai al VPC condiviso

  2. Accedi come amministratore del VPC condiviso.

  3. Seleziona il progetto da abilitare come progetto host del VPC condiviso il selettore di progetti.

  4. Fai clic su Configura un VPC condiviso.

  5. Nella pagina successiva, fai clic su Salva & continua in Attiva progetto host.

  6. In Seleziona subnet, esegui una delle seguenti operazioni:

    1. Fai clic su Condividi tutte le subnet (autorizzazioni a livello di progetto) se hai bisogno di condividere tutte le subnet attuali e future nelle reti VPC il progetto host con i progetti di servizio e gli amministratori dei progetti di servizio specificato nei passaggi successivi.
    2. Fai clic su Singole subnet (autorizzazioni a livello di subnet) se devi per condividere selettivamente le subnet dalle reti VPC progetto host con progetti di servizio e amministratori progetti di servizio. Poi, Seleziona Subnet da condividere.
  7. Fai clic su Continua.
    Viene visualizzata la schermata successiva.

  8. In Nomi progetto, specifica i progetti di servizio da collegare al progetto host. Tieni presente che il collegamento dei progetti di servizio non definisce amministratori progetti di servizio; che verrà fatto nel passaggio successivo.

  9. Nella sezione Seleziona gli utenti in base al ruolo, aggiungi gli amministratori dei progetti di servizio. A questi utenti verrà concesso il ruolo IAM compute.networkUser per le subnet condivise. Solo progetto di servizio Gli amministratori possono creare risorse nelle subnet del VPC condiviso progetto host.

  10. Fai clic su Salva.

gcloud

  1. Esegui l'autenticazione in gcloud come amministratore del VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome del Amministratore VPC condiviso:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Abilita il VPC condiviso per il progetto che devi diventare un host progetto. Sostituisci HOST_PROJECT_ID con l'ID del progetto.

    gcloud compute shared-vpc enable HOST_PROJECT_ID
    
  3. Verifica che il progetto sia elencato come progetto host per il tuo dell'organizzazione. Sostituisci ORG_ID con l'ID della tua organizzazione (determinato da gcloud organizations list).

    gcloud compute shared-vpc organizations list-host-projects ORG_ID
    
  4. Se avevi solo bisogno di abilitare un progetto host, puoi uscire gcloud per proteggere le credenziali del tuo account amministratore del VPC condiviso. In caso contrario, salta questo passaggio e continua con i passaggi per collegare il servizio Google Cloud.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Abilita il VPC condiviso per il progetto utilizzando le credenziali con Autorizzazioni di amministratore della rete VPC condivisa.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/enableXpnHost
    

    Sostituisci HOST_PROJECT_ID con l'ID del progetto che sarà un progetto host del VPC condiviso.

    Per ulteriori informazioni, consulta Metodo projects.enableXpnHost.

  2. Verifica che il progetto sia elencato come progetto host.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/listXpnHosts
    

    Sostituisci HOST_PROJECT_ID con l'ID del Progetto host VPC condiviso.

    Per ulteriori informazioni, consulta Metodo projects.listXpnHosts.

Terraform

Puoi utilizzare uno dei seguenti Risorsa Terraform per abilitare un progetto host.

resource "google_compute_shared_vpc_host_project" "host" {
  project = var.project # Replace this with your host project ID in quotes
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Associa i progetti di servizio

Un progetto di servizio deve essere collegato a un progetto host prima del rispettivo progetto di servizio Gli amministratori possono utilizzare il VPC condiviso. Un amministratore del VPC condiviso deve eseguire i seguenti passaggi per completare l'allegato.

Un progetto di servizio può essere collegato a un solo progetto host, ma a un progetto host supporta più collegamenti a progetti di servizio. Consulta Limiti specifici del VPC condiviso nella pagina delle quote VPC per i dettagli.

Console

  1. Accedi alla console Google Cloud come amministratore del VPC condiviso.
  2. Nella console Google Cloud, vai alla pagina VPC condiviso.
    Vai alla pagina del VPC condiviso
  3. Fai clic sulla scheda Progetti collegati.
  4. Nella scheda Progetti collegati, fai clic su Collega progetti. .
  5. Seleziona le caselle corrispondenti ai progetti di servizio da collegare nella sezione dei nomi. Tieni presente che il collegamento dei progetti di servizio non definisce amministratori progetti di servizio; che verrà fatto nel passaggio successivo.
  6. Nella sezione Autorizzazioni di rete VPC, seleziona i ruoli le entità riceveranno il ruolo compute.networkUser. IAM alle entità viene concesso il ruolo Utente di rete per l'intero progetto host oppure a determinate subnet nel progetto host, in base alla condivisione della rete VPC . Queste entità sono note come amministratori progetti di servizio nei ai rispettivi progetti di servizio.
  7. Nella sezione Modalità di condivisione rete VPC, seleziona una delle seguenti opzioni:
      .
    1. Fai clic su Condividi tutte le subnet (autorizzazioni a livello di progetto) per condividere tutti alle subnet attuali e future nelle reti VPC dell'host con tutti i progetti di servizio e gli amministratori progetti di servizio.
    2. Fai clic su Singole subnet (autorizzazioni a livello di subnet) se devi per condividere selettivamente le subnet dalle reti VPC progetto host con progetti di servizio e amministratori progetti di servizio. Poi, Seleziona Subnet da condividere.
  8. Fai clic su Salva.

gcloud

  1. Se non l'hai già fatto, esegui l'autenticazione su gcloud come Amministratore VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome Amministratore del VPC condiviso:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Collega un progetto di servizio a un progetto host abilitato in precedenza. Sostituisci SERVICE_PROJECT_ID con l'ID progetto per il servizio project e HOST_PROJECT_ID con l'ID progetto del progetto host.

    gcloud compute shared-vpc associated-projects add SERVICE_PROJECT_ID \
        --host-project HOST_PROJECT_ID
    
  3. Verifica che il progetto di servizio sia stato collegato.

    gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
    
  4. Facoltativamente, puoi elencare i progetti di servizio collegati progetto host:

    gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
    
  5. Se hai bisogno solo di collegare un progetto di servizio, puoi uscire gcloud per proteggere le credenziali del tuo account amministratore del VPC condiviso. In caso contrario, salta questo passaggio e definisci gli amministratori dei progetti di servizio per tutti subnet oppure solo subnet.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Collega un progetto di servizio al progetto host del VPC condiviso.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/enableXpnResource
    {
      "xpnResource": {
        "id": "SERVICE_PROJECT"
      }
    }
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • SERVICE_PROJECT: l'ID del progetto di servizio da allegare.

    Per ulteriori informazioni, consulta Metodo projects.enableXpnResource.

  2. Verifica che i progetti di servizio siano collegati al progetto host.

    GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.

    Per ulteriori informazioni, consulta Metodo projects.getXpnResources.

Terraform

Puoi utilizzare un modello Terraform risorsa per collegare un progetto di servizio.

resource "google_compute_shared_vpc_service_project" "service1" {
  host_project    = google_compute_shared_vpc_host_project.host.project
  service_project = var.service_project # Replace this with your service project ID in quotes
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Amministratori progetti di servizio per tutte le subnet

Un amministratore della rete VPC condivisa può assegnare un'entità IAM da un in qualità di amministratore progetti di servizio con accesso a tutte le subnet in del progetto host. Agli amministratori dei progetti di servizio di questo tipo viene concesso il ruolo compute.networkUser per l'intero progetto host. Ciò significa che a tutte le subnet definite e future nel progetto host.

Un utente con il ruolo compute.networkUser nell'host può visualizzare tutte le subnet all'interno dei progetti di servizio collegati.

Console

definisci un'entità IAM da un progetto di servizio come servizio Amministratore progetto con accesso a tutte le subnet in un progetto host utilizzando Nella console Google Cloud, consulta la sezione Collegare progetti di servizio.

gcloud

Questi passaggi illustrano la definizione di un'entità IAM da un servizio progetto come amministratore progetti di servizio con accesso a tutte le subnet in un host progetto. Prima di poter eseguire questi passaggi, è necessario avere aver abilitato un progetto host e ha collegato il progetto di servizio al progetto host.

  1. Se non l'hai già fatto, esegui l'autenticazione su gcloud come Amministratore VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome Amministratore del VPC condiviso:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Crea un'associazione di criteri per creare un'entità IAM dal un amministratore progetto di servizio. Sostituisci HOST_PROJECT_ID con l'ID progetto per l'host progetto e SERVICE_PROJECT_ADMIN con l'email indirizzo IP dell'utente Amministratore progetti di servizio.

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
    --member "user:SERVICE_PROJECT_ADMIN" \
    --role "roles/compute.networkUser"
    

    Puoi specificare diversi tipi di entità: modificando il formato dell'argomento --member:

    • Utilizza group: per specificare un gruppo Google (tramite l'indirizzo email) come entità.
    • Utilizza domain: per specificare un dominio Google come entità.
    • Usa serviceAccount: per specificare un account di servizio. Consulta Account di servizio come amministratori progetti di servizio informazioni su questo caso d'uso.
  3. Ripeti il passaggio precedente per ogni amministratore aggiuntivo dei progetti di servizio che devono definire.

  4. Se hai finito di definire gli amministratori dei progetti di servizio, puoi uscire di gcloud per proteggere il tuo account amministratore del VPC condiviso e credenziali.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Descrivi e poi registra i dettagli del criterio di progetto esistente. Sono necessari il criterio esistente e il valore etag.

    POST https://cloudresourcemanager.googleapis.com/v2/projects/HOST_PROJECT_ID:getIamPolicy
    

    Sostituisci HOST_PROJECT_ID con l'ID dell'host che contiene la rete VPC condiviso.

  2. Crea un'associazione di criteri per designare le entità IAM in il progetto di servizio come amministratori progetti di servizio.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/HOST_PROJECT_ID:setIamPolicy
    {
      "bindings": [
        ...copy existing bindings
        {
          "members": [
            PRINCIPAL,
            ...additional principals
          ],
          "role": "roles/compute.networkUser"
        },
      ],
      "etag": "ETAG",
      "version": 1,
      ...other existing policy details
    }
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del progetto host che contiene la rete VPC condiviso.
    • PRINCIPAL: un'identità che a cui è associato il ruolo, ad esempio un utente, un gruppo, un dominio o l'account di servizio. Per ulteriori informazioni, consulta members nella documentazione di Resource Manager.
    • ETAG: un identificatore univoco ricevuto quando hai ha descritto il criterio esistente. Evita le collisioni se richieste di aggiornamento vengono inviate contemporaneamente.

    Per ulteriori informazioni, consulta Metodo projects.setIamPolicy.

Amministratori progetti di servizio per alcune subnet

Un amministratore della rete VPC condivisa può assegnare un'entità IAM da un in qualità di Amministratore progetto di servizio con accesso solo ad alcuni dei di subnet nel progetto host. Questa opzione fornisce uno strumento più granulare Definire gli amministratori dei progetti di servizio assegnando loro il ruolo compute.networkUser solo per alcune subnet nel progetto host.

Un utente con il ruolo compute.networkUser nell'host può visualizzare tutte le subnet all'interno dei progetti di servizio collegati.

Console

definisci un'entità IAM da un progetto di servizio come servizio Amministratore progetto con accesso solo ad alcune subnet in un progetto host utilizzando Nella console Google Cloud, consulta la pagina relativa ai progetti di servizio di collegamento .

gcloud

Questi passaggi illustrano la definizione delle entità IAM da un servizio come amministratori progetti di servizio con accesso solo ad alcune subnet in progetto host. Prima di poterle definire, devi avere aver abilitato un progetto host e ha collegato il progetto di servizio al progetto host.

  1. Se non l'hai già fatto, esegui l'autenticazione su gcloud come Amministratore VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome Amministratore del VPC condiviso:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Scegli la subnet nel progetto host a cui il progetto di servizio Gli amministratori devono disporre dell'accesso. Ottieni il criterio IAM attuale in JSON. Sostituisci SUBNET_NAME con il nome di alla subnet nel progetto host e a HOST_PROJECT_ID con l'ID del progetto host.

    gcloud compute networks subnets get-iam-policy SUBNET_NAME \
        --region SUBNET_REGION \
        --project HOST_PROJECT_ID \
        --format json
    
  3. Copia l'output JSON dal passaggio precedente e salvalo in un file. Per chiarezza e istruzioni, questi passaggi lo salvano in un file denominato subnet-policy.json.

  4. Modifica il file subnet-policy.json, aggiungendo il ruolo IAM che diventeranno amministratori dei progetti di servizio con accesso una subnet. Sostituisci ogni SERVICE_PROJECT_ADMIN con l'indirizzo email di un utente IAM dal progetto di servizio.

    {
      "bindings": [
      {
         "members": [
               "user:[SERVICE_PROJECT_ADMIN]",
               "user:[SERVICE_PROJECT_ADMIN]"
            ],
            "role": "roles/compute.networkUser"
      }
      ],
      "etag": "[ETAG_STRING]"
    }
    

    Tieni presente che puoi specificare diversi tipi di IAM (diverse dagli utenti) in le norme:

    • Cambia user: con group: per specificare un gruppo Google (via email di destinazione) come entità.
    • Cambia user: con domain: per specificare un dominio Google come principale.
    • Usa serviceAccount: per specificare un account di servizio. Fai riferimento ad Account di servizio come progetto di servizio Amministratori per ulteriori informazioni su questo caso d'uso.
  5. Aggiorna l'associazione dei criteri per la subnet utilizzando i contenuti dei subnet-policy.json.

    gcloud compute networks subnets set-iam-policy SUBNET_NAME subnet-policy.json \
        --region SUBNET_REGION \
        --project HOST_PROJECT_ID
    
  6. Se hai finito di definire gli amministratori dei progetti di servizio, puoi uscire di gcloud per proteggere il tuo account amministratore del VPC condiviso e credenziali.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Descrivi e registra i dettagli del criterio di subnet esistente. Sono necessari il criterio esistente e il valore etag.

    GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET_NAME/getIamPolicy
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del progetto host che contiene la rete VPC condiviso.
    • SUBNET_NAME: il nome della subnet da condividere.
    • SUBNET_REGION: la regione in cui si trova la subnet individuarlo.
  2. Concedi agli amministratori del progetto di servizio l'accesso alle subnet nel progetto host aggiornare il criterio della subnet.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET_NAME/setIamPolicy
    {
      "bindings": [
        ...copy existing bindings
        {
          "members": [
            PRINCIPAL,
            ...additional principals
          ],
          "role": "roles/compute.networkUser"
        },
      ],
      "etag": "ETAG",
      "version": 1,
      ...other existing policy details
    }
    

    Sostituisci quanto segue:

    • ETAG: un identificatore univoco ricevuto quando hai ha descritto il criterio esistente. Evita le collisioni se richieste di aggiornamento vengono inviate contemporaneamente.
    • HOST_PROJECT_ID: l'ID del progetto host che contiene la rete VPC condiviso.
    • PRINCIPAL: un'identità che a cui è associato il ruolo, ad esempio un utente, un gruppo, un dominio o l'account di servizio. Per ulteriori informazioni, consulta members nella documentazione di Resource Manager.
    • SUBNET_NAME: il nome della subnet da condividere.
    • SUBNET_REGION: la regione in cui si trova la subnet individuarlo.

    Per ulteriori informazioni, consulta Metodo subnetworks.setIamPolicy.

Account di servizio come amministratori progetti di servizio

Un amministratore della rete VPC condivisa può anche definire un servizio account da progetti di servizio come progetto di servizio Amministratori. Questa sezione illustra come definire due diversi tipi di servizi account come Amministratori progetti di servizio:

Ruolo Amministratore progetti di servizio (compute.networkUser) può essere concesso per tutte le subnet oppure solo alcune subnet del progetto host. Tuttavia, per semplicità educativa, questa sezione illustra solo come definire ciascuno i due tipi di account di servizio come Amministratori progetti di servizio tutte le subnet del progetto host.

Account di servizio gestiti dall'utente come amministratori progetti di servizio

Queste istruzioni descrivono come definire un account di servizio gestito dall'utente come Amministratore progetti di servizio per tutte le subnet del progetto host del VPC condiviso.

Console

  1. Accedi alla console Google Cloud come amministratore del VPC condiviso.
  2. Nella console Google Cloud, vai alla pagina Impostazioni.
    Vai alla pagina Impostazioni
  3. Passa al progetto di servizio che contiene l'account di servizio che deve essere definito come amministratore del progetto di servizio.
  4. Copia l'ID progetto del progetto di servizio. Per didattica e chiarezza, questa procedura fa riferimento all'ID progetto di servizio SERVICE_PROJECT_ID.
  5. Cambia il progetto nel progetto host del VPC condiviso.
  6. Vai alla pagina IAM nella console Google Cloud.
    Vai alla pagina IAM
  7. Fai clic su Aggiungi.
  8. Aggiungi SERVICE_ACCOUNT_NAME@SERVICE_PROJECT_ID.iam.gserviceaccount.com al campo Entità, sostituendo SERVICE_ACCOUNT_NAME con il nome del servizio .
  9. Seleziona Compute Engine > Utente di rete Compute dai ruoli o dal menu Fogli Google.
  10. Fai clic su Aggiungi.

gcloud

  1. Se non l'hai già fatto, esegui l'autenticazione su gcloud come Amministratore VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome Amministratore del VPC condiviso:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Se non conosci l'ID del progetto di servizio, puoi per elencare tutti i progetti nell'organizzazione. Questo elenco mostra il progetto ID per ogni elemento.

    gcloud projects list
    
  3. Crea un'associazione di criteri per trasformare l'account di servizio in un progetto di servizio Amministratore Sostituisci HOST_PROJECT_ID con l'ID progetto per il progetto host,SERVICE_ACCOUNT_NAME con nome dell'account di servizio e SERVICE_PROJECT_ID con l'ID progetto di servizio.

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member "serviceAccount:SERVICE_ACCOUNT_NAME@SERVICE_PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/compute.networkUser"
    

API

  1. Descrivi e poi registra i dettagli del criterio di progetto esistente. Sono necessari il criterio esistente e il valore etag.

    POST https://cloudresourcemanager.googleapis.com/v2/projects/HOST_PROJECT_ID:getIamPolicy
    

    Sostituisci HOST_PROJECT_ID con l'ID dell'host che contiene la rete VPC condiviso.

  2. Crea un'associazione di criteri per designare account di servizio come progetto di servizio Amministratori.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/HOST_PROJECT_ID:setIamPolicy
    {
      "bindings": [
        ...copy existing bindings
        {
          "members": [
            "serviceAccount:SERVICE_ACCOUNT_NAME@SERVICE_PROJECT_ID.iam.gserviceaccount.com",
            ...include additional service accounts
          ],
          "role": "roles/compute.networkUser"
        },
      ],
      "etag": "ETAG",
      "version": 1,
      ...other existing policy details
    }
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del progetto host che contiene la rete VPC condiviso.
    • SERVICE_ACCOUNT_NAME: il nome del servizio .
    • SERVICE_PROJECT_ID: l'ID del servizio contenente l'account di servizio.
    • ETAG: un identificatore univoco ricevuto quando hai ha descritto il criterio esistente. Evita le collisioni se richieste di aggiornamento vengono inviate contemporaneamente.

    Per ulteriori informazioni, consulta Metodo projects.setIamPolicy.

Account di servizio API di Google come amministratore progetti di servizio

Queste istruzioni descrivono come definire il servizio API di Google account come amministratore progetti di servizio per tutte le subnet del VPC condiviso progetto host. Trasformazione dell'account di servizio delle API di Google in un progetto di servizio L'amministrazione è un requisito per l'istanza gestita gruppi utilizzati con il VPC condiviso come la creazione di istanze, vengono eseguite da questo tipo di account di servizio. Per ulteriori informazioni su questa relazione, vedi gruppi di istanze gestite e IAM.

Console

  1. Accedi alla console Google Cloud come amministratore del VPC condiviso.
  2. Nella console Google Cloud, vai alla pagina Impostazioni.
    Vai alla pagina Impostazioni
  3. Passa al progetto di servizio che contiene l'account di servizio che deve essere definito come amministratore del progetto di servizio.
  4. Copia il numero di progetto del progetto di servizio. Per didattica e chiarezza, questa procedura si riferisce al numero del progetto di servizio come SERVICE_PROJECT_NUMBER.
  5. Cambia il progetto nel progetto host del VPC condiviso.
  6. Vai alla pagina IAM nella console Google Cloud.
    Vai alla pagina IAM
  7. Fai clic su Aggiungi.
  8. Aggiungi SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com al campo Membri.
  9. Seleziona Compute Engine > Utente di rete Compute dai ruoli o dal menu Fogli Google.
  10. Fai clic su Aggiungi.

gcloud

  1. Se non l'hai già fatto, esegui l'autenticazione su gcloud come Amministratore VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome Amministratore del VPC condiviso:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Determina il numero di progetto per il progetto di servizio. Per chiarezza didattica, questa procedura si riferisce al progetto di servizio numero come SERVICE_PROJECT_NUMBER. Sostituisci SERVICE_PROJECT_ID con l'ID progetto per progetto di servizio.

    gcloud projects describe SERVICE_PROJECT_ID --format='get(projectNumber)'
    
    • Se non conosci l'ID del progetto di servizio, puoi elencare per tutti i progetti nella tua organizzazione. Questo elenco mostra il numero del progetto per ciascuna.

      gcloud projects list
      
  3. Crea un'associazione di criteri per trasformare l'account di servizio in un progetto di servizio Amministratore Sostituisci HOST_PROJECT_ID con l'ID progetto per il progetto host e SERVICE_PROJECT_NUMBER con il numero del progetto di servizio.

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com" \
        --role "roles/compute.networkUser"
    

API

  1. Descrivi e poi registra i dettagli del criterio di progetto esistente. Sono necessari il criterio esistente e il valore etag.

    POST https://cloudresourcemanager.googleapis.com/v2/projects/HOST_PROJECT_ID:getIamPolicy
    

    Sostituisci HOST_PROJECT_ID con l'ID dell'host che contiene la rete VPC condiviso.

  2. Elenca il tuo progetto per trovarne il numero.

    GET https://cloudresourcemanager.googleapis.com/v1/projects?filter=projectId="SERVICE_PROJECT_ID"
    

    Sostituisci SERVICE_PROJECT_ID con l'ID del progetto di servizio in cui si trova l'account di servizio.

  3. Crea un'associazione di criteri per designare account di servizio come progetto di servizio Amministratori.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/HOST_PROJECT_ID:setIamPolicy
    {
      "bindings": [
        ...copy existing bindings
        {
          "members": [
            "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com"
          ],
          "role": "roles/compute.networkUser"
        },
      ],
      "etag": "ETAG",
      "version": 1,
      ...other existing policy details
    }
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del progetto host che contiene la rete VPC condiviso.
    • SERVICE_PROJECT_NUMBER: il numero di che contiene l'account di servizio.
    • ETAG: un identificatore univoco ricevuto quando hai ha descritto il criterio esistente. Evita le collisioni se richieste di aggiornamento vengono inviate contemporaneamente.

    Per ulteriori informazioni, consulta Metodo projects.setIamPolicy.

Usa VPC condiviso

Dopo che un amministratore della rete VPC condivisa completa le attività per abilitare un host progetto, allegando i progetti di servizio necessari it e la definizione degli amministratori dei progetti di servizio tutti o parte del progetto host di subnet, gli amministratori dei progetti di servizio possono creare istanze, modelli ai bilanciatori del carico interni nei progetti di servizio, utilizzando le subnet progetto.

Tutte le attività in questa sezione devono essere eseguite da un amministratore del progetto di servizio.

È importante notare che un amministratore del VPC condiviso concede solo il servizio Amministra il progetto del ruolo Utente di rete Compute (roles/compute.networkUser) all'intero progetto host o solo ad alcuni e le relative subnet. Gli amministratori dei progetti di servizio devono disporre anche degli altri ruoli necessari i rispettivi progetti di servizio. Ad esempio, un amministratore progetto di servizio potrebbe anche essere un proprietario del progetto o almeno hanno Ruolo Amministratore istanze Compute (roles/compute.instanceAdmin) per il progetto.

Elenco subnet disponibili

Gli amministratori dei progetti di servizio possono elencare le subnet a cui sono state assegnate seguendo questi passaggi.

Console

Nella console Google Cloud, vai alla pagina VPC condiviso.

Vai al VPC condiviso

gcloud

  1. Se non lo hai già fatto, esegui l'autenticazione a gcloud come progetto di servizio Amministratore Sostituisci SERVICE_PROJECT_ADMIN con il nome dell'amministratore del progetto di servizio:

    gcloud auth login SERVICE_PROJECT_ADMIN
    
  2. Esegui questo comando, sostituendo HOST_PROJECT_ID con l'ID del progetto host del VPC condiviso:

    gcloud compute networks subnets list-usable --project HOST_PROJECT_ID
    

    L'esempio seguente elenca le subnet disponibili nella classe project-1 progetto host:

    $ gcloud compute networks subnets list-usable --project project-1
    
    PROJECT    REGION       NETWORK  SUBNET    RANGE          SECONDARY_RANGES
    project-1  us-west1     net-1    subnet-1  10.138.0.0/20
    project-1  us-central1  net-1    subnet-2  10.128.0.0/20  r-1 192.168.2.0/24
                                                              r-2 192.168.3.0/24
    project-1  us-east1     net-1    subnet-3  10.142.0.0/20
    

Per ulteriori informazioni, consulta Comando list-usable nella documentazione dell'SDK.

API

Elenca le subnet disponibili nel progetto host. Presenta la richiesta come Amministratore progetto di servizio.

GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/aggregated/subnetworks/listUsable

Sostituisci HOST_PROJECT_ID con l'ID del progetto host che contiene la rete VPC condiviso.

Per ulteriori informazioni, consulta Metodo subnetworks.listUsable.

Prenota un indirizzo IPv4 o IPv6 interno statico

Gli amministratori dei progetti di servizio possono prenotare un indirizzo IPv4 o IPv6 interno in una subnet di un Rete VPC condiviso. L'oggetto di configurazione dell'indirizzo IP è creato nel progetto di servizio, mentre il suo valore proviene dall'intervallo gli indirizzi IPv4 disponibili nella subnet condivisa scelta.

Per prenotare un indirizzo IP interno autonomo nel progetto di servizio, completa i seguenti passaggi.

Console

  1. Configura un VPC condiviso.
  2. Nella console Google Cloud, vai alla pagina VPC condiviso.

    Vai al VPC condiviso

  3. Accedi come amministratore del VPC condiviso.

  4. Seleziona il progetto di servizio dal selettore di progetti.

  5. Vai alla pagina Indirizzi IP selezionando Rete VPC > indirizzi IP.

  6. Fai clic su Prenota indirizzo IP statico interno.

  7. Nel campo Nome, inserisci il nome di un indirizzo IP.

  8. Nell'elenco Versione IP, seleziona la versione IP richiesta:

    • Per prenotare un indirizzo IPv4 interno statico, seleziona IPv4.
    • Per prenotare un indirizzo IPv6 interno statico, seleziona IPv6.
  9. Fai clic sul pulsante Reti condivise con me.

  10. Negli elenchi Rete e Subnet, seleziona un VPC rispettivamente con una rete e una subnet.

  11. Specifica come vuoi prenotare l'indirizzo IP:

    • Per gli indirizzi IPv4, specificare un indirizzo IPv4 interno statico da prenotare, nel Indirizzo IP statico, seleziona Fammi scegliere e inserisci un valore un indirizzo IP personalizzato. In caso contrario, il sistema assegna automaticamente un a un indirizzo IPv4 nella subnet.
    • Per gli indirizzi IPv6, il sistema assegna automaticamente Indirizzo IPv6 dall'intervallo di indirizzi IPv6 interno della subnet.
  12. (Facoltativo) Se vuoi condividere l'indirizzo IPv4 interno statico in frontend diversi, per Scopo scegli Condivisi. Il valore predefinito è impostata su Non condivisa.

  13. Fai clic su Prenota.

gcloud

  1. Se non lo hai già fatto, esegui l'autenticazione a Google Cloud CLI come progetto di servizio Amministratore Sostituisci SERVICE_PROJECT_ADMIN con il nome dell'amministratore del progetto di servizio:

    gcloud auth login SERVICE_PROJECT_ADMIN
    
  2. Usa il comando compute addresses create.

    • Prenota indirizzi IPv4:

      gcloud compute addresses create IP_ADDR_NAME \
          --project SERVICE_PROJECT_ID \
          --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \
          --region=REGION
          --ip-version=IPV4
      
    • Prenota indirizzi IPv6:

      gcloud compute addresses create IP_ADDR_NAME \
          --project SERVICE_PROJECT_ID \
          --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \
          --region=REGION
          --ip-version=IPV6
      

    Sostituisci quanto segue:

    • IP_ADDR_NAME: un nome dell'oggetto indirizzo IPv4.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • REGION: la regione che contiene la subnet condivisa.
    • SUBNET: il nome della subnet condivisa.

Ulteriori dettagli per la creazione di indirizzi IP sono pubblicati nella Documentazione SDK.

API

Utilizza il metodo addresses.insert.

  • Prenota un indirizzo IPv4 interno statico come amministratore del progetto di servizio:

    POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/regions/REGION/addresses
    {
    "name": "ADDRESS_NAME",
    "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME",
    "addressType": "INTERNAL"
    }
    

Sostituisci quanto segue:

  • ADDRESS_NAME: un nome per l'IP interno riservato .
  • HOST_PROJECT_ID: l'ID del progetto che contiene sulla rete VPC condiviso.
  • REGION: la regione dove l'indirizzo IPv4 riservato verrà e la posizione della subnet condivisa.
  • SERVICE_PROJECT_ID: l'ID del progetto di servizio in cui prenota l'indirizzo IPv4.
  • SUBNET_NAME: il nome della subnet condivisa.

Per ulteriori informazioni, consulta Metodo addresses.insert.

Terraform

Puoi utilizzare un blocco dati Terraform per specificare la subnet host informazioni. Quindi utilizza una risorsa Terraform. per prenotare un indirizzo IPv4 interno statico. Se ometti il campo facoltativo address, è stato selezionato e prenotato un indirizzo IPv4 disponibile.

Specifica la subnet host:

data "google_compute_subnetwork" "subnet" {
  name    = "my-subnet-123"
  project = var.project
  region  = "us-central1"
}

Prenota un indirizzo IPv4 dalla subnet del progetto host da utilizzare nel servizio progetto:

resource "google_compute_address" "internal" {
  project      = var.service_project
  region       = "us-central1"
  name         = "int-ip"
  address_type = "INTERNAL"
  address      = "10.0.0.8"
  subnetwork   = data.google_compute_subnetwork.subnet.self_link
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Prenota un indirizzo IPv4 esterno statico

Una risorsa in un progetto di servizio può utilizzare un indirizzo IPv4 esterno statico a livello di regione definito nel progetto di servizio o nel progetto host. Pertanto, una risorsa nei progetti di servizio collegati può usare indirizzo IPv4 esterno riservato nel progetto host.

Prenota un indirizzo IPv6 esterno statico

Gli amministratori dei progetti di servizio possono prenotare un indirizzo IPv6 esterno statico in un servizio progetto. L'oggetto di configurazione dell'indirizzo IPv6 creato nel progetto di servizio, mentre il suo valore proviene dall'intervallo gli indirizzi IPv6 disponibili nella subnet condivisa scelta.

Console

Puoi prenotare un indirizzo IPv6 esterno autonomo nel progetto di servizio utilizzando Console Google Cloud:

  1. Configura un VPC condiviso.
  2. Nella console Google Cloud, vai alla pagina VPC condiviso.
    Vai alla pagina del VPC condiviso
  3. Accedi come amministratore del VPC condiviso.
  4. Seleziona il progetto di servizio dal selettore di progetti.
  5. Per andare alla pagina Indirizzi IP, seleziona Rete VPC > indirizzi IP.
  6. Fai clic su Prenota indirizzo IP statico esterno.
  7. Scegli un nome per il nuovo indirizzo.
  8. Specifica se il livello di servizio di rete è Premium o Standard. La prenotazione di indirizzi statici IPv6 è supportata solo nel livello Premium.
  9. In Versione IP, seleziona IPv6.
  10. Specifica se questo indirizzo IP è A livello di regione o Globale.
    • Se prenoti un indirizzo IP statico per un bilanciatore del carico globale, scegli Globale.
    • Se prenoti un indirizzo IP statico per un'istanza o per un regionale, scegli A livello di regione e poi seleziona la regione in cui creare l'indirizzo.
  11. Scegli quanto segue:
    • Reti in questo progetto: scegli questa opzione se vuoi prenotare. Un indirizzo IPv6 esterno in una subnet della stessa rete VPC (Virtual Private Cloud) sulla rete in cui stai prenotando l'indirizzo IPv6.
    • Reti condivise con me: scegli questa opzione se vuoi prenotare. su un indirizzo IPv6 esterno in una subnet di una rete VPC condiviso.
  12. In base alla tua scelta, scegli quanto segue:

    • Rete: la rete VPC
    • Subnet: la subnet da cui assegnare l'indirizzo IPv6 regionale statico
    • Tipo di endpoint: scegli Istanza VM o Bilanciatore del carico di rete
  13. (Facoltativo) Se hai scelto Istanza VM come tipo di endpoint, seleziona un'istanza VM a cui collegare l'indirizzo IPv6.

  14. Fai clic su Prenota.

gcloud

  1. Se non lo hai già fatto, esegui l'autenticazione a gcloud come progetto di servizio Amministratore Sostituisci SERVICE_PROJECT_ADMIN con il nome dell'amministratore del progetto di servizio:

    gcloud auth login SERVICE_PROJECT_ADMIN
    
  2. Usa il comando gcloud compute addresses create:

    gcloud compute addresses create IP_ADDR_NAME \
        --project SERVICE_PROJECT_ID \
        --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \
        --region=REGION \
        --ip-version=IPV6 \
        --endpoint-type=[VM | NETLB]
    

    Sostituisci quanto segue:

    • IP_ADDR_NAME: un nome dell'oggetto indirizzo IPv6.
    • SERVICE_PROJECT_ID: l'ID del progetto di servizio.
    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • SUBNET: il nome della subnet condivisa.
    • REGION: la regione che contiene la subnet condivisa.

API

Per prenotare un indirizzo IPv6 interno statico come amministratore del progetto di servizio, utilizza il metodo Metodo addresses.insert:

POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/regions/REGION/addresses
{
  "name": "ADDRESS_NAME",
  "ipVersion": "IPV6",
  "ipv6EndpointType": "VM|LB",
  "networkTier": "PREMIUM",
  "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME",
  "addressType": "EXTERNAL"
}

Sostituisci quanto segue:

  • SERVICE_PROJECT_ID: l'ID del progetto di servizio in cui prenota l'indirizzo IPv6.
  • REGION: la regione dove l'indirizzo IPv6 riservato e in cui si trovano le subnet condivise.
  • ADDRESS_NAME: un nome per l'IPv6 esterno statico riservato .
  • HOST_PROJECT_ID: l'ID del progetto che contiene sulla rete VPC condiviso.
  • SUBNET_NAME: il nome della subnet condivisa.

Crea un'istanza

Tieni presente quanto segue quando utilizzi il VPC condiviso per creare un'istanza:

  • La procedura standard per la creazione di un istanza comporta la selezione di una zona, una rete e una subnet. Sia la subnet selezionata che la zona selezionata deve trovarsi nella stessa regione. Quando un amministratore del progetto di servizio crea un'istanza utilizzando una subnet da una rete VPC condiviso, la zona selezionata l'istanza deve trovarsi nella stessa regione della subnet selezionata.

    Quando crei un'istanza con un indirizzo IPv4 interno statico riservato, la subnet e la regione sono già selezionate quando l'indirizzo IPv4 statico viene creato. Un esempio di gcloud per la creazione di un con un indirizzo IPv4 interno statico,

  • Gli amministratori dei progetti di servizio possono creare istanze solo utilizzando subnet in cui a cui è stata concessa l'autorizzazione. Per determinare quali subnet sono disponibili, consulta Elencare le subnet disponibili.

  • Quando Google Cloud riceve una richiesta per creare un'istanza in una subnet di una rete VPC condiviso, verifica se IAM l'entità che effettua la richiesta dispone dell'autorizzazione per utilizzare quella subnet condivisa. Se il controllo non va a buon fine, l'istanza non viene creata e Google Cloud restituisce un errore di autorizzazione. Per assistenza, contatta il VPC condiviso Amministratore

  • Puoi creare un'istanza a doppio stack se crei l'istanza in una subnet a doppio stack. Le subnet a doppio stack supportato solo sulle reti VPC in modalità personalizzata. Il tipo di accesso IPv6 della subnet determina se l'indirizzo IPv6 assegnato alla VM un indirizzo IPv6 interno o esterno.

Console

  1. Configura un VPC condiviso.
  2. Nella console Google Cloud, vai alla pagina VPC condiviso.

    Vai al VPC condiviso

  3. Accedi come amministratore del VPC condiviso.

  4. Seleziona il progetto di servizio dal selettore di progetti.

  5. Per andare alla pagina Crea un'istanza, seleziona Compute Engine > Istanze VM > Crea istanza.

  6. Specifica un Nome per l'istanza.

  7. Per Regione, seleziona una regione che contiene una subnet condivisa.

  8. Fai clic su Networking nella sezione Opzioni avanzate.

  9. In Interfacce di rete, fai clic sul pulsante di opzione Reti condivise con me.

  10. Nell'elenco Subnet condivisa, seleziona la subnet richiesta in cui vuoi creare l'istanza:

    • Per gli indirizzi IPv4, seleziona una qualsiasi subnet a stack singolo.
    • Per gli indirizzi IPv6, seleziona una subnet a doppio stack con gli indirizzi IPv6 richiesti tipo di accesso.
  11. Seleziona il tipo di stack IP:

    • Per gli indirizzi IPv4, seleziona IPv4 (stack singolo).
    • Per gli indirizzi IPv6, seleziona IPv4 e IPv6 (stack doppio).
  12. Specifica eventuali altri parametri necessari per l'istanza.

  13. Fai clic su Crea.

gcloud

  • Crea un'istanza con un indirizzo IPv4 interno temporaneo in un una subnet di una rete VPC condiviso:

    gcloud compute instances create INSTANCE_NAME \
        --project SERVICE_PROJECT_ID \
        --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \
        --zone ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • REGION: la regione che contiene la subnet condivisa.
    • SUBNET: il nome della subnet condivisa.
    • ZONE: una zona nella regione specificata. .
  • Crea un'istanza con un indirizzo IPv4 interno statico riservato in un Rete VPC condiviso:

    1. Prenota un indirizzo IPv4 interno statico nel progetto di servizio dall'intervallo di indirizzi disponibili del progetto host.
    2. Crea l'istanza:

      gcloud compute instances create INSTANCE_NAME \
          --project SERVICE_PROJECT_ID \
          --private-network-ip IP_ADDR_NAME \
          --zone ZONE \
          --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET
      

      Sostituisci quanto segue:

      • INSTANCE_NAME: il nome dell'istanza.
      • SERVICE_PROJECT_ID: l'ID del servizio progetto.
      • IP_ADDR_NAME: il nome dell'IP statico .
      • ZONE: una zona nella stessa regione di IP_ADDR_NAME.
      • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
      • REGION: la regione che contiene l'elemento condiviso una subnet.
      • SUBNET: il nome della subnet condivisa associato all'indirizzo IPv4 interno statico.
  • Crea un'istanza con un indirizzo IPv4 interno temporaneo e un indirizzo IPv6 temporaneo:

    gcloud compute instances create INSTANCE_NAME \
        --project SERVICE_PROJECT_ID \
        --stack-type IPV4_IPV6 \
        --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \
        --zone ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • REGION: la regione che contiene la subnet condivisa.
    • SUBNET: il nome della subnet condivisa.
    • ZONE: una zona nella regione specificata.
  • Crea un'istanza con un indirizzo IPv6 esterno statico riservato:

    gcloud compute instances create INSTANCE_NAME \
        --project SERVICE_PROJECT_ID \
        --stack-type IPV4_IPV6 \
        --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \
        --ipv6-address IPV6_ADDRESS \
        --ipv6-prefix-length=96 \
        --ipv6-network-tier PREMIUM \
        --zone ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • REGION: la regione che contiene la subnet condivisa.
    • SUBNET: il nome della subnet condivisa.
    • IPV6_ADDRESS: l'indirizzo IPv6 da assegnare alla VM.
    • ZONE: una zona nella regione specificata.

API

  • Per creare un'istanza con un indirizzo IPv4 interno temporaneo, specifica solo la subnet:

    POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/zones/ZONE/instances
    {
      "machineType": "MACHINE_TYPE",
      "name": "INSTANCE_NAME",
      "networkInterfaces": [
        {
          "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
        }
      ],
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "SOURCE_IMAGE"
          }
        }
      ]
    }
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: un nome per l'istanza.
    • HOST_PROJECT_ID: l'ID del progetto che contiene la rete VPC condiviso.
    • MACHINE_TYPE: un tipo di macchina per l'istanza.
    • REGION: la regione che contiene la subnet condivisa.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • SOURCE_IMAGE: un'immagine per l'istanza.
    • SUBNET: il nome della subnet condivisa.
    • ZONE: una zona nella regione specificata.

    Per ulteriori informazioni, consulta Metodo instances.insert.

  • Per creare un'istanza con un indirizzo IPv4 interno riservato, specifica subnet e il nome dell'indirizzo IPv4 riservato:

    POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/zones/ZONE/instances
    {
      "machineType": "MACHINE_TYPE",
      "name": "INSTANCE_NAME",
      "networkInterfaces": [
        {
          "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME",
          "networkIP": "projects/SERVICE_PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME"
        }
      ],
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "SOURCE_IMAGE"
          }
        }
      ]
    }
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: il nome dell'account interno prenotato Indirizzo IPv4.
    • INSTANCE_NAME: un nome per l'istanza.
    • HOST_PROJECT_ID: l'ID del progetto che contiene la rete VPC condiviso.
    • MACHINE_TYPE: un tipo di macchina per l'istanza.
    • REGION: la regione che contiene la subnet condivisa.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • SOURCE_IMAGE: un'immagine per l'istanza.
    • SUBNET: il nome della subnet condivisa.
    • ZONE: una zona nella regione specificata.

    Per ulteriori informazioni, consulta Metodo instances.insert.

  • crea un'istanza con un indirizzo IPv4 interno temporaneo e un server indirizzo IPv6 temporaneo, specifica la subnet e il tipo di stack:

    POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/zones/ZONE/instances
    {
      "machineType": "MACHINE_TYPE",
      "name": "INSTANCE_NAME",
      "networkInterfaces": [
        {
          "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME",
          "stackType": "IPv4_IPv6"
        }
      ],
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "SOURCE_IMAGE"
          }
        }
      ]
    }
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: un nome per l'istanza.
    • HOST_PROJECT_ID: l'ID del progetto che contiene la rete VPC condiviso.
    • MACHINE_TYPE: un tipo di macchina per l'istanza.
    • REGION: la regione che contiene la subnet condivisa.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • SOURCE_IMAGE: un'immagine per l'istanza.
    • SUBNET: il nome della subnet condivisa.
    • ZONE: una zona nella regione specificata.

    Per ulteriori informazioni, consulta Metodo instances.insert.

Terraform

Puoi utilizzare un blocco dati Terraform per specificare la subnet host informazioni. Quindi, utilizza una risorsa Terraform per creare un'istanza VM in un progetto di servizio.

Specifica la subnet host:

data "google_compute_subnetwork" "subnet" {
  name    = "my-subnet-123"
  project = var.project
  region  = "us-central1"
}

Crea un'istanza VM in un progetto di servizio con un indirizzo IPv4 temporaneo da alla subnet condivisa del progetto host:

resource "google_compute_instance" "ephemeral_ip" {
  project      = var.service_project
  zone         = "us-central1-a"
  name         = "my-vm"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    subnetwork = data.google_compute_subnetwork.subnet.self_link
  }
}

Crea un'istanza VM in un progetto di servizio con un indirizzo IPv4 statico prenotato dalla subnet condivisa del progetto host:

resource "google_compute_instance" "reserved_ip" {
  project      = var.service_project
  zone         = "us-central1-a"
  name         = "reserved-ip-instance"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    subnetwork = data.google_compute_subnetwork.subnet.self_link
    network_ip = google_compute_address.internal.address
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Crea un modello di istanza

Tieni presente quanto segue quando utilizzi un VPC condiviso per creare di un modello di istanza:

  • Il processo per la creazione di un'istanza modello comporta selezionando una rete e una subnet.

    • I modelli creati per essere utilizzati in una rete VPC condiviso in modalità personalizzata devono specificare sia la rete che una subnet.

    • Modelli creati per essere utilizzati in modalità automatica La rete VPC condiviso può facoltativamente rinviare la selezione di una subnet. Nel in questi casi, viene selezionata automaticamente una subnet nella stessa regione in qualsiasi gruppo di istanze gestite che utilizzi il modello. (Reti in modalità automatica avere una subnet in ogni regione per definizione.)

  • Quando un'entità IAM crea un modello di istanza, Google Cloud non esegue un controllo delle autorizzazioni per verificare se L'entità può usare la subnet specificata. Questo controllo delle autorizzazioni viene eseguito sempre differito quando viene richiesto un gruppo di istanze gestite che utilizza il modello.

  • Puoi creare un modello di istanza a doppio stack se lo crei in una subnet a doppio stack. Le subnet a doppio stack supportato solo sulle reti VPC in modalità personalizzata. Il tipo di accesso IPv6 della subnet determina se l'indirizzo IPv6 assegnato alla VM un indirizzo IPv6 interno o esterno.

Console

  1. Configura un VPC condiviso.
  2. Nella console Google Cloud, vai alla pagina VPC condiviso.
    Vai alla pagina del VPC condiviso
  3. Accedi come amministratore del VPC condiviso.
  4. Seleziona il progetto di servizio dal selettore di progetti.
  5. Per andare alla pagina Crea un modello di istanza, seleziona Compute Engine > Modelli di istanza > Creare modelli di istanza.
  6. Specifica un Nome per il modello di istanza.
  7. Nella sezione Opzioni avanzate, fai clic su Networking.
  8. Nella sezione Interfacce di rete, fai clic sul pulsante Pulsante di opzione Reti condivise con me.
  9. Nell'elenco Subnet condivisa, seleziona la subnet richiesta in cui vuoi creare il modello di istanza:
      .
    • Per gli indirizzi IPv4, seleziona una qualsiasi subnet a stack singolo.
    • Per gli indirizzi IPv6, seleziona una subnet a doppio stack con gli indirizzi IPv6 richiesti tipo di accesso.
  10. Seleziona il tipo di stack IP:
      .
    • Per gli indirizzi IPv4, seleziona IPv4 (stack singolo).
    • Per gli indirizzi IPv6, seleziona IPv4 e IPv6 (stack doppio).
  11. Specifica eventuali altri parametri necessari per il modello di istanza.
  12. Fai clic su Crea.

gcloud

  • Crea un modello di istanza solo IPv4 da utilizzare in qualsiasi subnet creata automaticamente di una rete VPC condiviso in modalità automatica:

    gcloud compute instance-templates create TEMPLATE_NAME \
        --project SERVICE_PROJECT_ID \
        --network projects/HOST_PROJECT_ID/global/networks/NETWORK
    

    Sostituisci quanto segue:

    • TEMPLATE_NAME: il nome del modello.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • NETWORK: il nome del VPC condiviso in ogni rete.
  • Per creare un modello di istanza solo IPv4 per una subnet creata manualmente in una rete VPC condiviso (modalità automatica o personalizzata):

    gcloud compute instance-templates create TEMPLATE_NAME \
        --project SERVICE_PROJECT_ID \
        --region REGION \
        --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET
    

    Sostituisci quanto segue:

    • TEMPLATE_NAME: il nome del modello.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • REGION: la regione che contiene la subnet condivisa.
    • SUBNET: il nome della subnet condivisa.
  • Creare un modello di istanza a doppio stack che utilizza una subnet in un rete VPC condiviso in modalità personalizzata:

    gcloud compute instance-templates create TEMPLATE_NAME \
        --project SERVICE_PROJECT_ID \
        --stack-type IPV4_IPV6 \
        --region REGION \
        --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET
    

    Sostituisci quanto segue:

    • TEMPLATE_NAME: il nome del modello.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
    • REGION: la regione che contiene la subnet condivisa.
    • SUBNET: il nome della subnet condivisa.

API

  • Per creare un modello di istanza solo IPv4 che utilizzi qualsiasi una subnet creata automaticamente di una rete VPC condiviso in modalità automatica specifica la rete VPC:

    POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates
    {
    "properties": {
      "networkInterfaces": [
        {
          "network": "projects/HOST_PROJECT_ID/global/networks/NETWORK"
        }
      ]
    ...
    }
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del progetto che contiene la rete VPC condiviso.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • NETWORK: il nome del VPC condiviso in ogni rete.

    Per ulteriori informazioni, consulta Metodo instanceTemplates.insert.

  • Per creare un modello di istanza solo IPv4 che utilizza un modello creato manualmente una subnet in una rete VPC condiviso (modalità automatica o personalizzata), specifica subnet:

    POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates
    {
    "properties": {
      "networkInterfaces": [
        {
          "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
        }
      ]
    ...
    }
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del progetto che contiene la rete VPC condiviso.
    • REGION: la regione che contiene la subnet condivisa.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • SUBNET_NAME: il nome della subnet condivisa.

    Per ulteriori informazioni, consulta Metodo instanceTemplates.insert.

  • Creare un modello di istanza a doppio stack che utilizza una subnet in un ambiente modalità rete VPC condiviso, specifica la subnet e il tipo di stack:

    POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates
    {
    "properties": {
      "networkInterfaces": [
        {
          "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME",
          "stackType": "IPV4_IPV6"
        }
      ]
    ...
    }
    

    Sostituisci quanto segue:

    • HOST_PROJECT_ID: l'ID del progetto che contiene la rete VPC condiviso.
    • REGION: la regione che contiene la subnet condivisa.
    • SERVICE_PROJECT_ID: l'ID del servizio progetto.
    • SUBNET_NAME: il nome della subnet condivisa.

    Per ulteriori informazioni, consulta Metodo instanceTemplates.insert.

Terraform

Puoi utilizzare un blocco dati Terraform per specificare la subnet host informazioni. Quindi utilizza una risorsa Terraform. per creare un modello di istanza VM. Gli indirizzi IPv4 delle VM provengono alla subnet condivisa del progetto host.

La subnet deve esistere nella stessa regione in cui si troveranno le istanze VM è stato creato.

Specifica la subnet host:

data "google_compute_subnetwork" "subnet" {
  name    = "my-subnet-123"
  project = var.project
  region  = "us-central1"
}

Crea un modello di istanza VM nel progetto di servizio:

resource "google_compute_instance_template" "default" {
  project      = var.service_project
  name         = "appserver-template"
  description  = "This template is used to create app server instances."
  machine_type = "n1-standard-1"
  disk {
    source_image = "debian-cloud/debian-9"
  }
  network_interface {
    subnetwork = data.google_compute_subnetwork.subnet.self_link
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Creare un gruppo di istanze gestite

Tieni presente quanto segue quando crei un gruppo di istanze gestite utilizzando VPC condiviso:

  • I gruppi di istanze gestite utilizzati con il VPC condiviso richiedono rendendo l'account di servizio delle API di Google un amministratore del progetto di servizio poiché attività come la creazione automatica di istanze tramite la scalabilità automatica vengono da quell'account di servizio.

  • Il processo standard per la creazione di un'istanza gestita prevede la selezione di una zona o regione, a seconda del tipo di gruppo, e modello di istanza. I dettagli della rete e della subnet sono legati all'istanza modello. Idoneo sono limitati a quelli che fanno riferimento a subnet nello stesso regione utilizzata dal gruppo di istanze gestite.

  • Gli amministratori dei progetti di servizio possono creare solo gruppi di istanze gestite il cui membro e utilizzano subnet per le quali hanno ottenuto l'autorizzazione. Poiché i dettagli della rete e della subnet sono legati al modello di istanza, al progetto di servizio Gli amministratori possono utilizzare solo modelli che fanno riferimento a subnet di cui sono autorizzati per l'utilizzo.

  • Quando Google Cloud riceve una richiesta per creare un'istanza gestita verifica se l'entità IAM che esegue le operazioni richiesta ha l'autorizzazione per utilizzare la subnet (nella stessa regione del gruppo) specificato nel modello di istanza. Se il controllo non va a buon fine, l'istanza gestita gruppo non viene creato e Google Cloud restituisce un errore: Required 'compute.subnetworks.use' permission for 'projects/SUBNET_NAME.

    Elenca le subnet disponibili per determinare quali possono essere utilizzate e contatta l'amministratore del VPC condiviso se l'account di servizio richiede un accesso aggiuntivo. Per ulteriori informazioni, consulta la sezione Servizio Account come amministratori dei progetti di servizio.

Per ulteriori informazioni, consulta la sezione Creazione di gruppi di modelli Istanze nella documentazione di Compute Engine.

Crea un bilanciatore del carico HTTP(S)

Esistono molti modi per configurare bilanciatori del carico delle applicazioni esterni all'interno di una Rete VPC condiviso. Indipendentemente dal tipo di deployment, del bilanciatore del carico devono trovarsi nella stessa organizzazione Rete VPC condiviso.

Per saperne di più sulle architetture delle reti VPC condivise supportate, consulta seguenti:

Crea un bilanciatore del carico di rete passthrough interno

L'esempio seguente spiega cosa devi prendere in considerazione quando crei un un bilanciatore del carico di rete passthrough interno in una rete VPC condiviso. Progetto di servizio Gli amministratori possono creare un bilanciatore del carico di rete passthrough interno che utilizza una subnet (nella progetto host) a cui hanno accesso. L'interfaccia del bilanciatore regola di forwarding interno è definite nel progetto di servizio, ma riferimento subnet punta a una subnet in una rete VPC condiviso del progetto host.

Prima di creare un bilanciatore del carico di rete passthrough interno in un ambiente VPC condiviso, consulta Architettura VPC condivisa.

Console

  1. Vai alla pagina Bilanciamento del carico nella console Google Cloud.
    Vai alla pagina Bilanciamento del carico

  2. Crea il bilanciatore del carico TCP/UDP interno, in modo da: aggiustamento: nella sezione Configura servizi frontend, seleziona La subnet VPC condiviso necessaria dalle reti condivise da altri progetti del menu Subnet.

  3. Completa la creazione del bilanciatore del carico.

gcloud

Quando crei la regola di forwarding interno, specifica una subnet nell'host progetto con il flag --subnet:

gcloud compute forwarding-rules create FR_NAME \
    --project SERVICE_PROJECT_ID \
    --load-balancing-scheme internal \
    --region REGION \
    --ip-protocol IP_PROTOCOL \
    --ports PORT,PORT,... \
    --backend-service BACKEND_SERVICE_NAME \
    --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \
    --address INTERNAL_IP

Sostituisci quanto segue:

  • FR_NAME: il nome della regola di forwarding.
  • SERVICE_PROJECT_ID: l'ID del servizio progetto.
  • REGION: la regione che contiene la subnet condivisa.
  • IP_PROTOCOL: TCP o UDP, corrispondente al del servizio di backend del bilanciatore del carico.
  • PORT: la porta numerica o l'elenco di porte per il con il bilanciatore del carico di rete passthrough esterno regionale.
  • BACKEND_SERVICE_NAME: il nome del backend creato già nell'ambito della procedura generale creando un bilanciatore del carico di rete passthrough interno).
  • HOST_PROJECT_ID: l'ID del Progetto host VPC condiviso.
  • SUBNET: il nome della subnet condivisa.
  • INTERNAL_IP: un indirizzo IP interno in una subnet condivisa (se non specificata, ne verrà selezionata una disponibile).

Per ulteriori opzioni, vedi Comando gcloud compute forwarding-rules create.

API

Crea la regola di forwarding interno e specifica una subnet nell'host progetto.

POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/regions/REGION/forwardingRules
{
  "name": "FR_NAME",
  "IPAddress": "IP_ADDRESS",
  "IPProtocol": "PROTOCOL",
  "ports": [ "PORT", ... ],
  "loadBalancingScheme": "INTERNAL",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET",
  "network": "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME",
  "backendService": "https://www.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/regions/us-west1/backendServices/BE_NAME",
  "networkTier": "PREMIUM"
}

Sostituisci quanto segue:

  • BE_NAME: il nome del servizio di backend (creato fa già parte della procedura generale creando un bilanciatore del carico di rete passthrough interno).
  • FR_NAME: un nome per la regola di forwarding.
  • HOST_PROJECT_ID: l'ID del VPC condiviso progetto host.
  • IP_ADDRESS: un indirizzo IP interno nella cartella una subnet.
  • IP_PROTOCOL: TCP o UDP, corrispondente al del servizio di backend del bilanciatore del carico.
  • PORT: la porta numerica o l'elenco di porte per il caricamento con il bilanciatore del carico di rete passthrough esterno regionale.
  • REGION: la regione che contiene la subnet condivisa.
  • SERVICE_PROJECT_ID: l'ID del progetto di servizio.
  • SUBNET: il nome della subnet condivisa.

Per ulteriori informazioni, consulta Metodo forwardingRules.insert.

Terraform

Puoi utilizzare un blocco dati Terraform per specificare la subnet host e la rete host. Quindi utilizza una risorsa Terraform per creare la regola di forwarding.

Specifica la rete host:

data "google_compute_network" "network" {
  name    = "my-network-123"
  project = var.project
}

Specifica la subnet host:

data "google_compute_subnetwork" "subnet" {
  name    = "my-subnet-123"
  project = var.project
  region  = "us-central1"
}

Nel progetto di servizio, crea una regola di forwarding nel progetto host di rete e della subnet:

resource "google_compute_forwarding_rule" "default" {
  project               = var.service_project
  name                  = "l4-ilb-forwarding-rule"
  backend_service       = google_compute_region_backend_service.default.id
  region                = "europe-west1"
  ip_protocol           = "TCP"
  load_balancing_scheme = "INTERNAL"
  all_ports             = true
  allow_global_access   = true
  network               = data.google_compute_network.network.self_link
  subnetwork            = data.google_compute_subnetwork.subnet.self_link
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Passaggi successivi