Provisioning della rete VPC condivisa
Il VPC condiviso consente di esportare le subnet da una rete Virtual Private Cloud (VPC) in un progetto host ad altri progetti di servizio nella stessa organizzazione. Le istanze nei progetti di servizio possono avere connessioni di rete nelle subnet condivise del progetto host. Questa pagina descrive come configurare e utilizzare VPC condiviso, inclusa la preparazione amministrativa necessaria per la tua organizzazione.
Il VPC condiviso supporta l'esportazione di subnet di qualsiasi tipo di stack.
Per informazioni sul distacco dei progetti di servizio o sulla rimozione completa della configurazione del VPC condiviso, consulta Decommissioning del VPC condiviso.
VPC condiviso è anche chiamata "XPN" nell'API e nell'interfaccia a riga di comando.
Quote, limiti e risorse idonee
Prima di iniziare, assicurati di avere familiarità con VPC condiviso e IAM, in particolare:
Prendi nota delle quote e dei limiti relativi al VPC condiviso.
Assicurati di sapere quali risorse possono partecipare.
Assicurati di aver abilitato l'API Compute Engine e la fatturazione per il tuo progetto host e tutti i progetti di servizio che prevedi di collegare al progetto host.
Prepara la tua organizzazione
Tieni presente le seguenti informazioni quando prepari la tua organizzazione.
Amministratori e IAM
La preparazione dell'organizzazione, la configurazione dei progetti host VPC condiviso e l'utilizzo delle reti VPC condivise richiedono almeno tre diversi ruoli amministrativi Identity and Access Management (IAM). Per maggiori dettagli su ciascun ruolo e informazioni su quelli facoltativi, consulta la sezione Amministratori e IAM della panoramica del VPC condiviso.
Vincoli dei criteri dell'organizzazione
I vincoli dei criteri dell'organizzazione possono proteggere le risorse VPC condiviso a livello di progetto, cartella o organizzazione. Le sezioni seguenti descrivono ogni norma.
Evitare l'eliminazione accidentale dei progetti host
L'eliminazione accidentale di un progetto host comporterebbe interruzioni in tutti i progetti di servizio collegati. Quando un progetto è configurato per essere un progetto host VPC condiviso, viene applicato un blocco speciale, chiamato vincolo. Finché il blocco è presente, impedisce l'eliminazione accidentale del progetto. 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 vincolo di policy a livello di organizzazione (constraints/compute.restrictXpnProjectLienRemoval) che limiti la rimozione dei privilegi ai seguenti ruoli:
- Utenti con
roles/owner
oroles/resourcemanager.lienModifier
a livello di organizzazione - Utente con ruoli personalizzati che includono le autorizzazioni
resourcemanager.projects.get
eresourcemanager.projects.updateLiens
a livello di organizzazione
In questo modo, il proprietario di un progetto che non dispone del ruolo roles/owner
a livello di organizzazione o del ruolo resourcemanager.lienModifier
a livello di organizzazione non può eliminare accidentalmente un progetto host del VPC condiviso. Per ulteriori informazioni sulle autorizzazioni
associate al ruolo resourcemanager.lienModifier
, consulta Imposizione di un
vincolo su un
progetto nella
documentazione di Resource Manager.
Poiché una policy dell'organizzazione si applica a tutti i progetti dell'organizzazione, devi seguire questi passaggi una sola volta per limitare la rimozione del vincolo.
Esegui l'autenticazione a
gcloud
come amministratore dell'organizzazione o principal IAM con il ruoloorgpolicy.policyAdmin
. SostituisciORG_ADMIN
con il nome di un amministratore dell'organizzazione:gcloud auth login ORG_ADMIN
Determina il numero ID organizzazione esaminando l'output di questo comando.
gcloud organizations list
Applica le norme
compute.restrictXpnProjectLienRemoval
per la tua organizzazione eseguendo questo comando. SostituisciORG_ID
con il numero che hai determinato nel passaggio precedente.gcloud resource-manager org-policies enable-enforce \ --organization ORG_ID compute.restrictXpnProjectLienRemoval
Esci da
gcloud
se hai terminato le attività come amministratore dell'organizzazione per proteggere il tuo account.gcloud auth revoke ORG_ADMIN
Limita gli allegati del progetto host
Per impostazione predefinita, un amministratore VPC condiviso può collegare un progetto non host a qualsiasi progetto host nella stessa organizzazione. Un amministratore dei criteri dell'organizzazione può
limitare l'insieme di progetti host a cui può essere collegato un progetto non host o progetti non host
in una cartella o un'organizzazione. Per ulteriori informazioni, consulta il vincolo constraints/compute.restrictSharedVpcHostProjects
.
Limita le subnet nel progetto host che un progetto di servizio può utilizzare
Per impostazione predefinita, dopo aver configurato il VPC condiviso, le entità IAM nei progetti di servizio possono utilizzare qualsiasi subnet nel progetto host se dispongono delle autorizzazioni IAM appropriate.
Oltre a gestire le autorizzazioni dei singoli utenti, un amministratore dei criteri dell'organizzazione può impostare un criterio per definire l'insieme di subnet a cui è possibile accedere da un determinato progetto o dai progetti di una cartella o di un'organizzazione.
Per ulteriori informazioni, consulta il
vincolo constraints/compute.restrictSharedVpcSubnetworks
.
Evitare l'arresto accidentale dei progetti host
La disconnessione della fatturazione su una rete VPC condiviso può comportare l'arresto completo di tutte le risorse dipendenti, inclusi i progetti di servizio. Per evitare che si verifichi un possibile arresto accidentale del VPC condiviso a causa della fatturazione inattiva o disabilitata, proteggi il collegamento tra il progetto host e il relativo account di fatturazione.
Nominare gli amministratori del VPC condiviso
Un amministratore dell'organizzazione può concedere a una o più entità IAM i ruoli Amministratore VPC condiviso e Amministratore IAM progetto.
Il ruolo Amministratore IAM progetto concede agli amministratori della rete VPC condivisa l'autorizzazione a condividere tutte le subnet esistenti e future, non solo le singole subnet. Questa concessione crea un binding a livello di organizzazione o cartella, non a livello di progetto. Pertanto, le entità IAM devono essere definite nell'organizzazione, non solo in un progetto al suo interno.
Console
Per concedere il ruolo di amministratore VPC condiviso a livello di organizzazione
Accedi alla console Trusted Cloud come amministratore dell'organizzazione, poi vai alla pagina IAM.
Dal menu del progetto, seleziona la tua organizzazione.
Se selezioni un progetto, il menu Ruoli mostra voci errate.
Fai clic su Aggiungi.
Inserisci gli indirizzi email delle Nuove entità.
Nel menu Ruoli, seleziona Compute Engine > Amministratore VPC condivisa Compute.
Fai clic su Aggiungi un altro ruolo.
Nel menu a discesa Ruoli, seleziona Resource Manager > Project IAM Admin.
Fai clic su Salva.
Per concedere il ruolo Amministratore del VPC condiviso a livello di cartella
Accedi alla console Trusted Cloud come amministratore dell'organizzazione, poi vai alla pagina IAM.
Dal menu del progetto, seleziona la cartella.
Se selezioni un progetto o un'organizzazione, le opzioni visualizzate non sono corrette.
Fai clic su Aggiungi.
Inserisci gli indirizzi email delle Nuove entità.
In Seleziona un ruolo, seleziona Compute Engine > Amministratore VPC condivisa Compute.
Fai clic su Aggiungi un altro ruolo.
Nel menu Ruoli, seleziona Resource Manager > Project IAM Admin.
Fai clic su Aggiungi un altro ruolo.
Nel menu Ruoli, seleziona Resource Manager > Visualizzatore rete Compute.
Fai clic su Salva.
gcloud
Esegui l'autenticazione su
gcloud
come amministratore dell'organizzazione. SostituisciORG_ADMIN
con il nome di un amministratore dell'organizzazione:gcloud auth login ORG_ADMIN
Determina il numero ID organizzazione esaminando l'output di questo comando.
gcloud organizations list
Per assegnare il ruolo Amministratore VPC condiviso a livello di organizzazione:
Applica il ruolo Amministratore del VPC condiviso a un'entità IAM esistente. Sostituisci
ORG_ID
con il numero ID organizzazione del passaggio precedente eEMAIL_ADDRESS
con l'indirizzo email dell'utente a cui stai concedendo il ruolo Amministratore VPC condiviso.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"
Per assegnare il ruolo Amministratore VPC condiviso a livello di cartella:
Determina l'ID cartella esaminando l'output di questo comando.
gcloud resource-manager folders list --organization=ORG_ID
Applica il ruolo Amministratore del VPC condiviso a un'entità IAM esistente. Sostituisci
ORG_ID
con il numero ID organizzazione del passaggio precedente eEMAIL_ADDRESS
con l'indirizzo email dell'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"
Revoca il token dell'account amministratore dell'organizzazione nello strumento a riga di comando
gcloud
al termine delle attività per proteggere il tuo account.gcloud auth revoke ORG_ADMIN
API
Per assegnare il ruolo Amministratore VPC condiviso a livello di organizzazione, utilizza la seguente procedura:
Determina il numero ID organizzazione.
POST https://cloudresourcemanager.s3nsapis.fr/v1/organizations
Descrivi e registra i dettagli delle norme esistenti della tua organizzazione.
POST https://cloudresourcemanager.s3nsapis.fr/v1/organizations/ORG_ID:getIamPolicy
Sostituisci
ORG_ID
con l'ID della tua organizzazione.Assegna il ruolo Amministratore del VPC condiviso.
POST https://cloudresourcemanager.s3nsapis.fr/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 ruolo di amministratore VPC condiviso.EMAIL_ADDRESS
: l'indirizzo email dell'utente.ETAG
: un identificatore univoco che hai ottenuto quando hai descritto la policy esistente. Evita le collisioni se vengono inviate più richieste di aggiornamento contemporaneamente.
Per saperne di più, consulta il metodo
organizations.setIamPolicy
.
Per assegnare il ruolo Amministratore VPC condiviso a livello di cartella, utilizza la seguente richiesta:
Determina il numero ID organizzazione.
POST https://cloudresourcemanager.s3nsapis.fr/v1/organizations
Trova l'ID cartella.
GET https://cloudresourcemanager.s3nsapis.fr/v2/folders?parent=organizations/ORG_ID
Sostituisci
ORG_ID
con l'ID della tua organizzazione.Descrivi e registra i dettagli della policy della cartella esistente.
POST https://cloudresourcemanager.s3nsapis.fr/v2/folders/FOLDER_ID:getIamPolicy
Sostituisci
FOLDER_ID
con l'ID della tua cartella.Assegna il ruolo Amministratore del VPC condiviso.
POST https://cloudresourcemanager.s3nsapis.fr/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 stai concedendo il ruolo di amministratore VPC condiviso.EMAIL_ADDRESS
: l'indirizzo email dell'utente.ETAG
: un identificatore univoco che hai ottenuto quando hai descritto la policy esistente. Evita le collisioni se vengono inviate più richieste di aggiornamento contemporaneamente.
Per saperne di più, consulta il metodo
folders.setIamPolicy
.
Configura rete VPC condivisa
Tutte le attività in questa sezione devono essere eseguite da un amministratore VPC condiviso.
Abilitare un progetto host
All'interno di un'organizzazione, gli amministratori VPC condiviso possono designare i progetti come
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 dei
ruoli Autore progetto e 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 condivise automaticamente con i progetti di servizio. Devi collegare i progetti di servizio al progetto host per condividere le reti e le subnet selezionate con i progetti di servizio.
Console
Se non hai ancora il ruolo
Amministratore VPC condivisa Compute (roles/compute.xpnAdmin
), non puoi visualizzare questa pagina nella console Trusted Cloud .
Nella console Trusted Cloud , vai alla pagina VPC condivisa.
Accedi come amministratore del VPC condiviso.
Seleziona il progetto che vuoi attivare come progetto host VPC condiviso dal selettore dei progetti.
Fai clic su Configura VPC condiviso.
Nella pagina successiva, fai clic su Salva e continua in Abilita progetto host.
In Seleziona subnet, esegui una delle seguenti operazioni:
- Fai clic su Condividi tutte le subnet (autorizzazioni a livello di progetto) se devi condividere tutte le subnet attuali e future nelle reti VPC del progetto host con i progetti di servizio e gli amministratori dei progetti di servizio specificati nei passaggi successivi.
- Fai clic su Singole subnet (autorizzazioni a livello di subnet) se devi condividere in modo selettivo le subnet delle reti VPC del progetto host con i progetti di servizio e gli amministratori dei progetti di servizio. Poi, seleziona Subnet da condividere.
Fai clic su Continua.
Viene visualizzata la schermata successiva.In Nomi dei progetti, specifica i progetti di servizio da collegare al progetto host. Tieni presente che il collegamento dei progetti di servizio non definisce alcun amministratore del progetto di servizio. Questa operazione viene eseguita nel passaggio successivo.
Nella sezione Seleziona utenti per ruolo, aggiungi gli amministratori del progetto di servizio. A questi utenti verrà concesso il ruolo IAM
compute.networkUser
per le subnet condivise. Solo gli amministratori dei progetti di servizio possono creare risorse nelle subnet del progetto host VPC condiviso.Fai clic su Salva.
gcloud
Esegui l'autenticazione in
gcloud
come amministratore del VPC condiviso. SostituisciSHARED_VPC_ADMIN
con il nome dell'amministratore VPC condivisa:gcloud auth login SHARED_VPC_ADMIN
Abilita il VPC condiviso per il progetto che deve diventare un progetto host. Sostituisci
HOST_PROJECT_ID
con l'ID del progetto.gcloud compute shared-vpc enable HOST_PROJECT_ID
Verifica che il progetto sia elencato come progetto host per la tua organizzazione. Sostituisci
ORG_ID
con l'ID organizzazione (determinato dagcloud organizations list
).gcloud compute shared-vpc organizations list-host-projects ORG_ID
Se dovevi solo attivare un progetto host, puoi disconnetterti da
gcloud
per proteggere le credenziali dell'account amministratore VPC condiviso. In caso contrario, salta questo passaggio e continua con i passaggi per allegare i progetti di servizio.gcloud auth revoke SHARED_VPC_ADMIN
API
Abilita il VPC condiviso per il progetto utilizzando le credenziali con autorizzazioni di amministratore del VPC condiviso.
POST https://compute.s3nsapis.fr/compute/v1/projects/HOST_PROJECT_ID/enableXpnHost
Sostituisci
HOST_PROJECT_ID
con l'ID del progetto che sarà un progetto host VPC condiviso.Per saperne di più, consulta il metodo
projects.enableXpnHost
.Verifica che il progetto sia elencato come progetto host.
POST https://compute.s3nsapis.fr/compute/v1/projects/HOST_PROJECT_ID/listXpnHosts
Sostituisci
HOST_PROJECT_ID
con l'ID del progetto host VPC condiviso.Per saperne di più, consulta il metodo
projects.listXpnHosts
.
Terraform
Puoi utilizzare una risorsa Terraform per abilitare un progetto host.
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 che gli amministratori del progetto di servizio possano utilizzare il VPC condiviso. Un amministratore VPC condiviso deve eseguire i seguenti passaggi per completare l'allegato.
Un progetto di servizio può essere collegato a un solo progetto host, ma un progetto host supporta più allegati di progetti di servizio. Per maggiori dettagli, consulta i limiti specifici per il VPC condiviso nella pagina delle quote VPC.
Console
- Accedi alla console Trusted Cloud come amministratore VPC condiviso.
- Nella console Trusted Cloud , vai alla pagina VPC condivisa.
Vai alla pagina VPC condiviso - Fai clic sulla scheda Progetti allegati.
- Nella scheda Progetti allegati, fai clic sul pulsante Allega progetti.
- Seleziona le caselle dei progetti di servizio da collegare nella sezione Nomi progetti. Tieni presente che il collegamento dei progetti di servizio non definisce alcun amministratore del progetto di servizio. Questa operazione viene eseguita nel passaggio successivo.
- Nella sezione Autorizzazioni di rete VPC, seleziona i ruoli i cui
principali riceveranno il ruolo
compute.networkUser
. Alle entità IAM viene concesso il ruolo Utente di rete per l'intero progetto host o per determinate subnet nel progetto host, in base alla modalità di condivisione della rete VPC. Queste entità sono note come amministratori dei progetti di servizio nei rispettivi progetti di servizio. - Nella sezione Modalità di condivisione della rete VPC, seleziona una delle seguenti opzioni:
- Fai clic su Condividi tutte le subnet (autorizzazioni a livello di progetto) per condividere tutte le subnet attuali e future nelle reti VPC del progetto host con tutti i progetti di servizio e gli amministratori dei progetti di servizio.
- Fai clic su Singole subnet (autorizzazioni a livello di subnet) se devi condividere in modo selettivo le subnet delle reti VPC del progetto host con i progetti di servizio e gli amministratori dei progetti di servizio. Poi, seleziona Subnet da condividere.
- Fai clic su Salva.
gcloud
Se non l'hai ancora fatto, esegui l'autenticazione su
gcloud
come amministratore VPC condiviso. SostituisciSHARED_VPC_ADMIN
con il nome dell'amministratore del VPC condiviso:gcloud auth login SHARED_VPC_ADMIN
Collega un progetto di servizio a un progetto host abilitato in precedenza. Sostituisci
SERVICE_PROJECT_ID
con l'ID progetto per il progetto di servizio eHOST_PROJECT_ID
con l'ID progetto per il progetto host.gcloud compute shared-vpc associated-projects add SERVICE_PROJECT_ID \ --host-project HOST_PROJECT_ID
Verifica che il progetto di servizio sia stato allegato.
gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
(Facoltativo) Puoi elencare i progetti di servizio collegati al progetto host:
gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
Se dovevi solo collegare un progetto di servizio, puoi disconnetterti da
gcloud
per proteggere le credenziali dell'account amministratore VPC condiviso. In caso contrario, salta questo passaggio e definisci gli amministratori del progetto di servizio per tutte le subnet o solo per alcune subnet.gcloud auth revoke SHARED_VPC_ADMIN
API
Collega un progetto di servizio al progetto host VPC condiviso.
POST https://compute.s3nsapis.fr/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 collegare.
Per saperne di più, consulta il metodo
projects.enableXpnResource
.Verifica che i progetti di servizio siano collegati al progetto host.
GET https://compute.s3nsapis.fr/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
Sostituisci quanto segue:
HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.
Per saperne di più, consulta il metodo
projects.getXpnResources
.
Terraform
Puoi utilizzare una risorsa Terraform per collegare un progetto di servizio.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Amministratori del progetto di servizio per tutte le subnet
Un amministratore del VPC condiviso può assegnare un'entità IAM da un progetto di servizio per renderla un amministratore del progetto di servizio con accesso a tutte le subnet nel progetto host. Agli amministratori del progetto di servizio di questo tipo viene concesso il ruolo di
compute.networkUser
per l'intero progetto host. Ciò significa che hanno accesso a tutte le subnet definite e future nel progetto host.
Un utente con il ruolo compute.networkUser
nel progetto host può visualizzare tutte le subnet all'interno dei progetti di servizio collegati.
Console
Per definire un'entità IAM da un progetto di servizio come amministratore del progetto di servizio con accesso a tutte le subnet di un progetto host utilizzando la consoleTrusted Cloud , consulta la sezione Collega progetti di servizio.
gcloud
Questi passaggi riguardano la definizione di un'entità IAM da un progetto di servizio come amministratore del progetto di servizio con accesso a tutte le subnet in un progetto host. Prima di poter eseguire questi passaggi, devi aver abilitato un progetto host e collegato il progetto di servizio al progetto host.
Se non l'hai ancora fatto, esegui l'autenticazione su
gcloud
come amministratore VPC condiviso. SostituisciSHARED_VPC_ADMIN
con il nome dell'amministratore del VPC condiviso:gcloud auth login SHARED_VPC_ADMIN
Crea un binding dei criteri per rendere un'entità IAM del progetto di servizio un amministratore del progetto di servizio. Sostituisci
HOST_PROJECT_ID
con l'ID progetto per il progetto host eSERVICE_PROJECT_ADMIN
con l'indirizzo email dell'utente Amministratore progetto 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 (per indirizzo email) come entità. - Utilizza
domain:
per specificare un dominio Google come principal. - Utilizza
serviceAccount:
per specificare un account di servizio. Per ulteriori informazioni su questo caso d'uso, consulta Service account come amministratori di progetti di servizio.
- Utilizza
Ripeti il passaggio precedente per ogni amministratore del progetto di servizio aggiuntivo che devi definire.
Se hai finito di definire gli amministratori dei progetti di servizio, puoi disconnetterti da
gcloud
per proteggere le credenziali del tuo account amministratore VPC condiviso.gcloud auth revoke SHARED_VPC_ADMIN
API
Descrivi e registra i dettagli della norma del progetto esistente. Avrai bisogno della norma esistente e del valore
etag
.POST https://cloudresourcemanager.s3nsapis.fr/v2/projects/HOST_PROJECT_ID:getIamPolicy
Sostituisci
HOST_PROJECT_ID
con l'ID del progetto host VPC condiviso.Crea un binding del criterio per designare le entità IAM nel progetto di servizio come amministratori del progetto di servizio.
POST https://cloudresourcemanager.s3nsapis.fr/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à a cui è associato il ruolo, ad esempio un utente, un gruppo, un dominio o un account di servizio. Per saperne di più, consulta il campomembers
nella documentazione di Resource Manager.ETAG
: un identificatore univoco che hai ottenuto quando hai descritto la policy esistente. Evita le collisioni se vengono inviate più richieste di aggiornamento contemporaneamente.
Per saperne di più, consulta il metodo
projects.setIamPolicy
.
Amministratori del progetto di servizio per alcune subnet
Un amministratore della VPC condivisa può assegnare un'entità IAM di un progetto di servizio per renderla un amministratore del progetto di servizio con accesso solo ad alcune delle subnet nel progetto host. Questa opzione offre un modo più granulare per definire gli amministratori dei progetti di servizio concedendo loro il ruolo compute.networkUser
solo per alcune subnet nel progetto host.
Un utente con il ruolo compute.networkUser
nel progetto host può visualizzare tutte le subnet all'interno dei progetti di servizio collegati.
Console
Per definire un'entità IAM da un progetto di servizio come amministratore del progetto di servizio con accesso solo ad alcune subnet in un progetto host utilizzando la consoleTrusted Cloud , consulta la sezione Collega progetti di servizio.
gcloud
Questi passaggi riguardano la definizione delle entità IAM di un progetto di servizio come amministratori del progetto di servizio con accesso solo ad alcune subnet di un progetto host. Prima di poterle definire, devi aver abilitato un progetto host e collegato il progetto di servizio al progetto host.
Se non l'hai ancora fatto, esegui l'autenticazione su
gcloud
come amministratore VPC condiviso. SostituisciSHARED_VPC_ADMIN
con il nome dell'amministratore del VPC condiviso:gcloud auth login SHARED_VPC_ADMIN
Scegli la subnet nel progetto host a cui devono avere accesso gli amministratori del progetto di servizio. Recupera il criterio IAM attuale in formato JSON. Sostituisci
SUBNET_NAME
con il nome della subnet nel progetto host eHOST_PROJECT_ID
con l'ID progetto del progetto host.gcloud compute networks subnets get-iam-policy SUBNET_NAME \ --region SUBNET_REGION \ --project HOST_PROJECT_ID \ --format json
Copia l'output JSON del passaggio precedente e salvalo in un file. Per chiarezza didattica, questi passaggi salvano il file con il nome
subnet-policy.json
.Modifica il file
subnet-policy.json
aggiungendo le entità IAM che diventeranno amministratori del progetto di servizio con accesso alla subnet. Sostituisci ogniSERVICE_PROJECT_ADMIN
con l'indirizzo email di un utente IAM del 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 entità IAM (diversi dagli utenti) nelle norme:
- Scambia
user:
congroup:
per specificare un gruppo Google (tramite indirizzo email) come principal. - Scambia
user:
condomain:
per specificare un dominio Google come entità. - Utilizza
serviceAccount:
per specificare un account di servizio. Per ulteriori informazioni su questo caso d'uso, consulta Service account come amministratori di progetti di servizio.
- Scambia
Aggiorna l'associazione del criterio per la subnet utilizzando i contenuti del file
subnet-policy.json
.gcloud compute networks subnets set-iam-policy SUBNET_NAME subnet-policy.json \ --region SUBNET_REGION \ --project HOST_PROJECT_ID
Se hai finito di definire gli amministratori dei progetti di servizio, puoi disconnetterti da
gcloud
per proteggere le credenziali del tuo account amministratore VPC condiviso.gcloud auth revoke SHARED_VPC_ADMIN
API
Descrivi e registra i dettagli della tua norma di subnet esistente. Avrai bisogno della norma esistente e del valore
etag
.GET https://compute.s3nsapis.fr/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.
Concedi agli amministratori del progetto di servizio l'accesso alle subnet nel progetto host aggiornando il criterio della subnet.
POST https://compute.s3nsapis.fr/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 che hai ottenuto quando hai descritto la policy esistente. Evita le collisioni se vengono inviate più richieste di aggiornamento contemporaneamente.HOST_PROJECT_ID
: l'ID del progetto host che contiene la rete VPC condiviso.PRINCIPAL
: un'identità a cui è associato il ruolo, ad esempio un utente, un gruppo, un dominio o un account di servizio. Per saperne di più, consulta il campomembers
nella documentazione di Resource Manager.SUBNET_NAME
: il nome della subnet da condividere.SUBNET_REGION
: la regione in cui si trova la subnet.
Per saperne di più, consulta il metodo
subnetworks.setIamPolicy
.
Service account come amministratori del progetto di servizio
Un amministratore VPC condiviso può anche definire service account dai progetti di servizio come amministratori dei progetti di servizio. Questa sezione illustra come definire due diversi tipi di service account come amministratori del progetto di servizio:
Service account gestiti dall'utente con questo formato:
USER_ID
@SERVICE_PROJECT_ID
.s3ns-system.iam.gserviceaccount.comIl service account API di Google con questo formato:
SERVICE_PROJECT_NUMBER
@cloudservices.s3ns-system.iam.gserviceaccount.com
Il ruolo Amministratore progetto di servizio (compute.networkUser
)
può essere concesso per
tutte le subnet o
solo alcune subnet del progetto host. Tuttavia, per
semplicità didattica, questa sezione illustra solo come definire ciascuno dei
due tipi di account di servizio come amministratori di progetti di servizio per
tutte le subnet del progetto host.
Service account gestiti dall'utente come amministratori di progetti di servizio
Queste istruzioni descrivono come definire un account di servizio gestito dall'utente come amministratore del progetto di servizio per tutte le subnet del progetto host del VPC condiviso.
Console
- Accedi alla console Trusted Cloud come amministratore VPC condiviso.
- Nella console Trusted Cloud , vai alla pagina Impostazioni.
Vai alla pagina Impostazioni - Modifica il progetto in modo che corrisponda al progetto di servizio che contiene il account di servizio che deve essere definito come amministratore del progetto di servizio.
- Copia l'ID progetto del progetto di servizio. Per chiarezza
delle istruzioni, questa procedura fa riferimento all'ID progetto di servizio come
SERVICE_PROJECT_ID
. - Modifica il progetto in modo che diventi il progetto host VPC condiviso.
- Vai alla pagina IAM nella console Trusted Cloud .
Vai alla pagina IAM - Fai clic su Aggiungi.
- Aggiungi
SERVICE_ACCOUNT_NAME
@SERVICE_PROJECT_ID
.s3ns-system.iam.gserviceaccount.com al campo Entità, sostituendoSERVICE_ACCOUNT_NAME
con il nome del servizio account. - Seleziona Compute Engine > Utente rete Compute dal menu Ruoli.
- Fai clic su Aggiungi.
gcloud
Se non l'hai ancora fatto, esegui l'autenticazione su
gcloud
come amministratore VPC condiviso. SostituisciSHARED_VPC_ADMIN
con il nome dell'amministratore del VPC condiviso:gcloud auth login SHARED_VPC_ADMIN
Se non conosci l'ID progetto per il progetto di servizio, puoi elencare tutti i progetti nella tua organizzazione. Questo elenco mostra l'ID progetto per ciascuno.
gcloud projects list
Crea un binding dei criteri per rendere il account di servizio un amministratore del progetto di servizio. Sostituisci
HOST_PROJECT_ID
con l'ID progetto del progetto host,SERVICE_ACCOUNT_NAME
con il nome deaccount di serviziont eSERVICE_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.s3ns-system.iam.gserviceaccount.com" \ --role "roles/compute.networkUser"
API
Descrivi e registra i dettagli della norma del progetto esistente. Avrai bisogno della norma esistente e del valore
etag
.POST https://cloudresourcemanager.s3nsapis.fr/v2/projects/HOST_PROJECT_ID:getIamPolicy
Sostituisci
HOST_PROJECT_ID
con l'ID del progetto host VPC condiviso.Crea un binding della policy per designare i service account come amministratori del progetto di servizio.
POST https://cloudresourcemanager.s3nsapis.fr/v1/projects/HOST_PROJECT_ID:setIamPolicy { "bindings": [ ...copy existing bindings { "members": [ "serviceAccount:SERVICE_ACCOUNT_NAME@SERVICE_PROJECT_ID.s3ns-system.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 service account.SERVICE_PROJECT_ID
: l'ID del progetto di servizio che contiene il account di servizio.ETAG
: un identificatore univoco che hai ottenuto quando hai descritto la policy esistente. Evita le collisioni se vengono inviate più richieste di aggiornamento contemporaneamente.
Per saperne di più, consulta il metodo
projects.setIamPolicy
.
Account di servizio API di Google come amministratore del progetto di servizio
Queste istruzioni descrivono come definire il service account delle API di Google come amministratore del progetto di servizio per tutte le subnet del progetto host VPC condiviso. La creazione dell'account di servizio API di Google come amministratore del progetto di servizio è un requisito per i gruppi di istanze gestite utilizzati con il VPC condiviso, perché attività come la creazione di istanze vengono eseguite da questo tipo di service account. Per saperne di più su questa relazione, consulta Gruppi di istanze gestite e IAM.
Console
- Accedi alla console Trusted Cloud come amministratore VPC condiviso.
- Nella console Trusted Cloud , vai alla pagina Impostazioni.
Vai alla pagina Impostazioni - Modifica il progetto in modo che corrisponda al progetto di servizio che contiene il account di servizio che deve essere definito come amministratore del progetto di servizio.
- Copia il Numero progetto del progetto di servizio. Per chiarezza
delle istruzioni, questa procedura fa riferimento al numero del progetto di servizio come
SERVICE_PROJECT_NUMBER
. - Modifica il progetto in modo che diventi il progetto host VPC condiviso.
- Vai alla pagina IAM nella console Trusted Cloud .
Vai alla pagina IAM - Fai clic su Aggiungi.
- Aggiungi
SERVICE_PROJECT_NUMBER
@cloudservices.s3ns-system.iam.gserviceaccount.com al campo Membri. - Seleziona Compute Engine > Utente rete Compute dal menu Ruoli.
- Fai clic su Aggiungi.
gcloud
Se non l'hai ancora fatto, esegui l'autenticazione su
gcloud
come amministratore VPC condiviso. SostituisciSHARED_VPC_ADMIN
con il nome dell'amministratore del VPC condiviso:gcloud auth login SHARED_VPC_ADMIN
Determina il numero di progetto per il progetto di servizio. Per chiarezza didattica, questa procedura fa riferimento al numero del progetto di servizio come
SERVICE_PROJECT_NUMBER
. SostituisciSERVICE_PROJECT_ID
con l'ID progetto del progetto di servizio.gcloud projects describe SERVICE_PROJECT_ID --format='get(projectNumber)'
Se non conosci l'ID progetto per il progetto di servizio, puoi elencare tutti i progetti della tua organizzazione. Questo elenco mostra il numero di progetto per ciascuno.
gcloud projects list
Crea un binding dei criteri per rendere il account di servizio un amministratore del progetto di servizio. Sostituisci
HOST_PROJECT_ID
con l'ID progetto per il progetto host eSERVICE_PROJECT_NUMBER
con il numero del progetto di servizio.gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.s3ns-system.iam.gserviceaccount.com" \ --role "roles/compute.networkUser"
API
Descrivi e registra i dettagli della norma del progetto esistente. Avrai bisogno della norma esistente e del valore
etag
.POST https://cloudresourcemanager.s3nsapis.fr/v2/projects/HOST_PROJECT_ID:getIamPolicy
Sostituisci
HOST_PROJECT_ID
con l'ID del progetto host VPC condiviso.Elenca il tuo progetto per trovare il relativo numero.
GET https://cloudresourcemanager.s3nsapis.fr/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.Crea un binding della policy per designare i service account come amministratori del progetto di servizio.
POST https://cloudresourcemanager.s3nsapis.fr/v1/projects/HOST_PROJECT_ID:setIamPolicy { "bindings": [ ...copy existing bindings { "members": [ "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.s3ns-system.iam.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 del progetto di servizio che contiene il account di servizio.ETAG
: un identificatore univoco che hai ottenuto quando hai descritto la policy esistente. Evita le collisioni se vengono inviate più richieste di aggiornamento contemporaneamente.
Per saperne di più, consulta il metodo
projects.setIamPolicy
.
Utilizzare il VPC condiviso
Dopo che un amministratore del VPC condiviso ha completato le attività di abilitazione di un progetto host, collegamento dei progetti di servizio necessari e definizione degli amministratori dei progetti di servizio per tutte o alcune delle subnet del progetto host, gli amministratori dei progetti di servizio possono creare istanze, modelli e bilanciatori del carico interni nei progetti di servizio utilizzando le subnet del progetto host.
Tutte le attività in questa sezione devono essere eseguite da un amministratore del progetto di servizio.
È importante notare che un amministratore VPC condiviso concede agli amministratori del progetto di servizio solo il ruolo Utente di rete Compute (roles/compute.networkUser
) all'intero progetto host o solo ad alcune delle sue subnet. Gli amministratori dei progetti di servizio devono disporre anche degli altri ruoli necessari per amministrare i rispettivi progetti di servizio. Ad esempio, un amministratore del progetto di servizio potrebbe anche essere un proprietario del progetto o dovrebbe almeno disporre del ruolo Amministratore istanze Compute (roles/compute.instanceAdmin
) per il progetto.
Elenca le subnet disponibili
Gli amministratori del progetto di servizio possono elencare le subnet a cui è stata concessa l'autorizzazione seguendo questi passaggi.
Console
Nella console Trusted Cloud , vai alla pagina VPC condivisa.
gcloud
Se non l'hai ancora fatto, esegui l'autenticazione a
gcloud
come amministratore del progetto di servizio. SostituisciSERVICE_PROJECT_ADMIN
con il nome dell'amministratore del progetto di servizio:gcloud auth login SERVICE_PROJECT_ADMIN
Esegui il comando seguente, sostituendo
HOST_PROJECT_ID
con l'ID progetto del progetto host VPC condiviso:gcloud compute networks subnets list-usable --project HOST_PROJECT_ID
L'esempio seguente elenca le subnet disponibili nel progetto host
project-1
:$ 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 saperne di più, consulta il
comando list-usable
nella documentazione dell'SDK.
API
Elenca le subnet disponibili nel progetto host. Fai la richiesta come amministratore del progetto di servizio.
GET https://compute.s3nsapis.fr/compute/v1/projects/HOST_PROJECT_ID/aggregated/subnetworks/listUsable
Sostituisci HOST_PROJECT_ID
con l'ID del progetto host VPC condiviso.
Per saperne di più, consulta il
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 una rete VPC condiviso. L'oggetto di configurazione dell'indirizzo IP viene creato nel progetto di servizio, mentre il suo valore proviene dall'intervallo di indirizzi IPv4 disponibili nella subnet condivisa scelta.
Per prenotare un indirizzo IP interno autonomo nel progetto di servizio, completa i seguenti passaggi.
Console
- Configura VPC condiviso.
Nella console Trusted Cloud , vai alla pagina VPC condivisa.
Accedi come amministratore del VPC condiviso.
Seleziona il progetto di servizio dal selettore di progetti.
Vai alla pagina Indirizzi IP selezionando Rete VPC > Indirizzi IP.
Fai clic su Prenota indirizzo IP statico interno.
Nel campo Nome, inserisci un nome per l'indirizzo IP.
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.
Fai clic sul pulsante Reti condivise con me.
Negli elenchi Rete e Subnet, seleziona una rete VPC e una subnet rispettivamente.
Specifica come vuoi prenotare l'indirizzo IP:
- Per gli indirizzi IPv4, per specificare un indirizzo IPv4 interno statico da prenotare, in Indirizzo IP statico, seleziona Fammi scegliere e poi inserisci un indirizzo IP personalizzato. In caso contrario, il sistema assegna automaticamente un indirizzo IPv4 interno statico nella subnet.
- Per gli indirizzi IPv6, il sistema assegna automaticamente un indirizzo IPv6 interno statico dall'intervallo di indirizzi IPv6 interno della subnet.
(Facoltativo) Se vuoi condividere l'indirizzo IPv4 interno statico in frontend diversi, scegli Condiviso per Scopo. La selezione predefinita è Non condiviso.
Fai clic su Prenota.
gcloud
Se non l'hai ancora fatto, esegui l'autenticazione in Google Cloud CLI come amministratore del progetto di servizio. Sostituisci
SERVICE_PROJECT_ADMIN
con il nome dell'amministratore del progetto di servizio:gcloud auth login SERVICE_PROJECT_ADMIN
Utilizza 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 gli 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 per l'oggetto indirizzo IPv4.SERVICE_PROJECT_ID
: l'ID del progetto di servizio.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 sulla creazione di indirizzi IP sono pubblicati nella documentazione dell'SDK.
API
Utilizza il metodo addresses.insert
.
Prenota un indirizzo IPv4 interno statico come amministratore del progetto di servizio:
POST https://compute.s3nsapis.fr/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'indirizzo IP interno riservato.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.REGION
: la regione in cui si troverà l'indirizzo IPv4 riservato e in cui si trova la subnet condivisa.SERVICE_PROJECT_ID
: l'ID del progetto di servizio in cui stai prenotando l'indirizzo IPv4.SUBNET_NAME
: il nome della subnet condivisa.
Per saperne di più, consulta il
metodo addresses.insert
.
Terraform
Puoi utilizzare un blocco di dati Terraform per specificare le informazioni sulla subnet host.
Poi utilizza una risorsa Terraform
per prenotare un indirizzo IPv4 interno statico. Se ometti l'argomento facoltativo
address
, viene selezionato e riservato un indirizzo IPv4 disponibile.
Specifica la subnet host:
Prenota un indirizzo IPv4 dalla subnet del progetto host da utilizzare nel progetto di servizio:
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 regionale definito nel progetto di servizio o nel progetto host. Pertanto, una risorsa nei progetti di servizio collegati può utilizzare un indirizzo IPv4 esterno statico a livello di regione 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 progetto di servizio. L'oggetto di configurazione dell'indirizzo IPv6 viene creato nel progetto di servizio, mentre il suo valore proviene dall'intervallo di indirizzi IPv6 disponibili nella subnet condivisa scelta.
Console
Puoi prenotare un indirizzo IPv6 esterno autonomo nel progetto di servizio utilizzando la consoleTrusted Cloud :
- Configura VPC condiviso.
- Nella console Trusted Cloud , vai alla pagina VPC condiviso.
Vai alla pagina VPC condiviso - Accedi come amministratore del VPC condiviso.
- Seleziona il progetto di servizio dal selettore di progetti.
- Per andare alla pagina Indirizzi IP, seleziona Rete VPC > Indirizzi IP.
- Fai clic su Prenota indirizzo IP statico esterno.
- Scegli un nome per il nuovo indirizzo.
- Specifica se il livello di servizio di rete è Premium o Standard. La prenotazione di indirizzi statici IPv6 è supportata solo nel livello Premium.
- Nella sezione Versione IP, seleziona IPv6.
- Specifica se questo indirizzo IP è regionale o globale.
- Se stai prenotando un indirizzo IP statico per un bilanciatore del carico globale, scegli Globale.
- Se stai prenotando un indirizzo IP statico per un'istanza o per un bilanciatore del carico regionale, scegli Regionale e poi seleziona la regione in cui creare l'indirizzo.
- Scegli quanto segue:
- Reti in questo progetto: scegli questa opzione se vuoi riservare un indirizzo IPv6 esterno in una subnet della stessa rete Virtual Private Cloud (VPC) in cui stai riservando l'indirizzo IPv6.
- Reti condivise con me: scegli questa opzione se vuoi riservare un indirizzo IPv6 esterno in una subnet di una rete VPC condiviso.
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.
(Facoltativo) Se hai scelto Istanza VM come tipo di endpoint, seleziona un'istanza VM a cui collegare l'indirizzo IPv6.
Fai clic su Prenota.
gcloud
Se non l'hai ancora fatto, esegui l'autenticazione a
gcloud
come amministratore del progetto di servizio. SostituisciSERVICE_PROJECT_ADMIN
con il nome dell'amministratore del progetto di servizio:gcloud auth login SERVICE_PROJECT_ADMIN
Utilizza 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 per l'oggetto indirizzo IPv6.SERVICE_PROJECT_ID
: l'ID del service project.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 addresses.insert
:
POST https://compute.s3nsapis.fr/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 stai prenotando l'indirizzo IPv6.REGION
: la regione in cui si trovano l'indirizzo IPv6 riservato e la subnet condivisa.ADDRESS_NAME
: un nome per l'indirizzo IPv6 esterno statico riservato.HOST_PROJECT_ID
: l'ID del progetto host 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 creare un'istanza prevede la selezione di una zona, una rete e una subnet. Sia la subnet selezionata sia la zona selezionata devono trovarsi nella stessa regione. Quando un amministratore del progetto di servizio crea un'istanza utilizzando una subnet di una rete VPC condiviso, la zona selezionata per l'istanza deve trovarsi nella stessa regione della subnet selezionata.
Quando crei un'istanza con un indirizzo IPv4 interno statico prenotato, la subnet e la regione vengono già selezionate quando viene creato l'indirizzo IPv4 statico. In questa sezione è riportato un esempio di
gcloud
per la creazione di un'istanza con un indirizzo IPv4 interno statico.Gli amministratori del progetto di servizio possono creare istanze solo utilizzando le subnet per le quali è stata concessa l'autorizzazione. Per determinare quali subnet sono disponibili, consulta Elenco delle subnet disponibili.
Quando Trusted Cloud riceve una richiesta di creazione di un'istanza in una subnet di una rete VPC condiviso, verifica se il principal IAM che effettua la richiesta dispone dell'autorizzazione per utilizzare quella subnet condivisa. Se il controllo non riesce, l'istanza non viene creata e Trusted Cloud viene restituito un errore di autorizzazione. Per assistenza, contatta l'amministratore VPC condivisoa.
Il tipo di stack dell'istanza che crei deve essere supportato dalla subnet condivisa in cui crei l'istanza. Per ulteriori informazioni, vedi Tipi di subnet. Per le istanze con indirizzi IPv6, il tipo di accesso IPv6 della subnet determina se l'indirizzo IPv6 assegnato all'istanza è un indirizzo IPv6 interno o esterno.
Console
- Configura VPC condiviso.
Nella console Trusted Cloud , vai alla pagina VPC condivisa.
Accedi come amministratore del VPC condiviso.
Seleziona il progetto di servizio dal selettore di progetti.
Per andare alla pagina Crea un'istanza, seleziona Compute Engine > Istanze VM > Crea istanza.
Specifica un Nome per l'istanza.
Per Regione, seleziona una regione che contenga una subnet condivisa.
Fai clic su Networking in Opzioni avanzate.
In Interfacce di rete, fai clic sul pulsante di opzione Reti condivise con me.
Nell'elenco Subnet condivisa, seleziona la subnet richiesta in cui vuoi creare l'istanza:
- Per un'istanza solo IPv4, seleziona una subnet solo IPv4 o a doppio stack (IPv4 e IPv6).
- Per un'istanza a doppio stack, seleziona una subnet a doppio stack con il tipo di accesso IPv6 richiesto.
- Per un'istanza solo IPv6 (anteprima), seleziona una subnet a doppio stack o una subnet solo IPv6 (anteprima) con il tipo di accesso IPv6 richiesto.
Seleziona il Tipo di stack IP:
- IPv4 (stack singolo)
- IPv4 e IPv6 (stack doppio)
- IPv6 (stack singolo) (anteprima)
Specifica eventuali altri parametri necessari per l'istanza.
Fai clic su Crea.
gcloud
Vedi i seguenti esempi:
Crea un'istanza con un indirizzo IPv4 interno effimero in una subnet condivisa 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'istanzaSERVICE_PROJECT_ID
: l'ID del progetto di servizio.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 prenotato in una rete VPC condiviso:
- Prenota un indirizzo IPv4 interno statico nel progetto di servizio dall'intervallo di indirizzi disponibili del progetto host.
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'istanzaSERVICE_PROJECT_ID
: l'ID del progetto di servizio.IP_ADDR_NAME
: il nome dell'indirizzo IP statico.ZONE
: una zona nella stessa regione diIP_ADDR_NAME
.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.REGION
: la regione che contiene la subnet condivisa.SUBNET
: il nome della subnet condivisa associata 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'istanzaSERVICE_PROJECT_ID
: l'ID del progetto di servizio.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 prenotato:
gcloud compute instances create INSTANCE_NAME \ --project SERVICE_PROJECT_ID \ --stack-type STACK_TYPE \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET \ --ipv6-address IPV6_ADDRESS \ --external-ipv6-prefix-length=96 \ --ipv6-network-tier PREMIUM \ --zone ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanzaSERVICE_PROJECT_ID
: l'ID del progetto di servizio.STACK_TYPE
:IPV4_IPV6
oIPV6_ONLY
(anteprima), a seconda che tu voglia che l'istanza abbia anche un indirizzo IPv4.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
Vedi i seguenti esempi:
Per creare un'istanza con un indirizzo IPv4 interno temporaneo, specifica solo la subnet:
POST https://compute.s3nsapis.fr/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:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio.ZONE
: una zona nella regione specificata.MACHINE_TYPE
: un tipo di macchina per l'istanza.INSTANCE_NAME
: un nome per l'istanza.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.REGION
: la regione che contiene la subnet condivisa.SUBNET
: il nome della subnet condivisa.SOURCE_IMAGE
: un'immagine per l'istanza.
Per saperne di più, consulta il metodo
instances.insert
.Per creare un'istanza con un indirizzo IPv4 interno prenotato, specifica la subnet e il nome dell'indirizzo IPv4 prenotato:
POST https://compute.s3nsapis.fr/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:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio.ZONE
: una zona nella regione specificata.MACHINE_TYPE
: un tipo di macchina per l'istanza.INSTANCE_NAME
: un nome per l'istanza.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.REGION
: la regione che contiene la subnet condivisa.SUBNET_NAME
: il nome della subnet condivisa.ADDRESS_NAME
: il nome dell'indirizzo IPv4 interno riservato.SOURCE_IMAGE
: un'immagine per l'istanza.
Per saperne di più, consulta il metodo
instances.insert
.Per creare un'istanza con un indirizzo IPv4 interno temporaneo e un indirizzo IPv6 temporaneo, specifica la subnet e il tipo di stack:
POST https://compute.s3nsapis.fr/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:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio.ZONE
: una zona nella regione specificata.MACHINE_TYPE
: un tipo di macchina per l'istanza.INSTANCE_NAME
: un nome per l'istanza.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.REGION
: la regione che contiene la subnet condivisa.SUBNET
: il nome della subnet condivisa.SOURCE_IMAGE
: un'immagine per l'istanza.
Per saperne di più, consulta il metodo
instances.insert
.Per creare un'istanza con un indirizzo IPv6 temporaneo, specifica la subnet e il tipo di stack:
POST https://compute.s3nsapis.fr/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": "IPV6_ONLY" } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "SOURCE_IMAGE" } } ] }
Sostituisci quanto segue:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio.ZONE
: una zona nella regione specificata.MACHINE_TYPE
: un tipo di macchina per l'istanza.INSTANCE_NAME
: un nome per l'istanza.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.REGION
: la regione che contiene la subnet condivisa.SUBNET
: il nome della subnet condivisa.SOURCE_IMAGE
: un'immagine per l'istanza.
Per saperne di più, consulta il metodo
instances.insert
.
Terraform
Puoi utilizzare un blocco di dati Terraform per specificare le informazioni sulla subnet host. Quindi, utilizza una risorsa Terraform per creare un'istanza VM in un progetto di servizio.
Specifica la subnet host:
Crea un'istanza VM in un progetto di servizio con un indirizzo IPv4 effimero dalla subnet condivisa del progetto host:
Crea un'istanza VM in un progetto di servizio con un indirizzo IPv4 statico riservato dalla subnet condivisa del progetto host:
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 il VPC condiviso per creare un modello di istanza:
La procedura per creare un modello di istanza prevede la selezione di una rete e di una subnet.
I modelli creati per l'utilizzo in una rete VPC condiviso in modalità personalizzata devono specificare sia la rete che una subnet.
I modelli creati per l'utilizzo in una rete VPC condiviso in modalità automatica possono posticipare facoltativamente la selezione di una subnet. In questi casi, viene selezionata automaticamente una subnet nella stessa regione di qualsiasi gruppo di istanze gestite che utilizza il modello. (Le reti in modalità automatica hanno una subnet in ogni regione per definizione.)
Quando un'entità IAM crea un modello di istanza, Trusted Cloud non esegue un controllo delle autorizzazioni per verificare se l'entità può utilizzare la subnet specificata. Il controllo delle autorizzazioni viene sempre rinviato al momento della richiesta di un gruppo di istanze gestite che utilizza il modello.
Il tipo di stack del modello di istanza che crei deve essere supportato dalla subnet condivisa in cui crei il modello di istanza. Per ulteriori informazioni, vedi Tipi di subnet. Per le istanze con indirizzi IPv6, il tipo di accesso IPv6 della subnet determina se l'indirizzo IPv6 assegnato all'istanza è un indirizzo IPv6 interno o esterno.
Console
- Configura VPC condiviso.
- Nella console Trusted Cloud , vai alla pagina VPC condiviso.
Vai alla pagina VPC condiviso - Accedi come amministratore del VPC condiviso.
- Seleziona il progetto di servizio dal selettore di progetti.
- Per andare alla pagina Crea un modello di istanza, seleziona Compute Engine > Modelli di istanza > Crea modelli di istanza.
- Specifica un nome per il modello di istanza.
- Nella sezione Opzioni avanzate, fai clic su Networking.
- Nella sezione Interfacce di rete, fai clic sul pulsante di opzione Reti condivise con me.
- Nell'elenco Subnet condivisa, seleziona la subnet richiesta in cui vuoi creare il modello di istanza:
- Per un modello di istanza solo IPv4, seleziona una subnet solo IPv4 o a doppio stack (IPv4 e IPv6).
- Per un modello di istanza a doppio stack, seleziona una subnet a doppio stack con il tipo di accesso IPv6 richiesto.
- Per un modello di istanza solo IPv6 (anteprima), seleziona una subnet a doppio stack o una subnet solo IPv6 (anteprima) con il tipo di accesso IPv6 richiesto.
- Seleziona il Tipo di stack IP del modello di istanza:
- IPv4 (stack singolo)
- IPv4 e IPv6 (stack doppio)
- IPv6 (stack singolo) (anteprima)
- Specifica eventuali altri parametri necessari per il modello di istanza.
- 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 progetto di servizio.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.NETWORK
: il nome della rete VPC condiviso.
Per creare un modello di istanza solo IPv4 per una subnet creata manualmente in una rete VPC condiviso (in 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 progetto di servizio.REGION
: la regione che contiene la subnet condivisa.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.SUBNET
: il nome della subnet condivisa.
Crea un modello di istanza a doppio stack che utilizza una subnet in una 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 progetto di servizio.REGION
: la regione che contiene la subnet condivisa.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.SUBNET
: il nome della subnet condivisa.
Crea un modello di istanza solo IPv6 (anteprima) che utilizza una subnet in una rete VPC condiviso in modalità personalizzata:
gcloud compute instance-templates create TEMPLATE_NAME \ --project SERVICE_PROJECT_ID \ --stack-type IPV6_ONLY \ --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 progetto di servizio.REGION
: la regione che contiene la subnet condivisa.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.SUBNET
: il nome della subnet condivisa.
API
Per creare un modello di istanza solo IPv4 che utilizzi una subnet creata automaticamente di una rete VPC condiviso in modalità automatica, specifica la rete VPC:
POST https://compute.s3nsapis.fr/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates { "properties": { "networkInterfaces": [ { "network": "projects/HOST_PROJECT_ID/global/networks/NETWORK" } ] ... }
Sostituisci quanto segue:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio.HOST_PROJECT_ID
: l'ID del progetto che contiene la rete VPC condiviso.NETWORK
: il nome della rete VPC condiviso.
Per saperne di più, consulta il metodo
instanceTemplates.insert
.Per creare un modello di istanza solo IPv4 che utilizza una subnet creata manualmente in una rete VPC condiviso (modalità automatica o personalizzata), specifica la subnet:
POST https://compute.s3nsapis.fr/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates { "properties": { "networkInterfaces": [ { "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME" } ] ... }
Sostituisci quanto segue:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio.HOST_PROJECT_ID
: l'ID del progetto che contiene la rete VPC condiviso.REGION
: la regione che contiene la subnet condivisa.SUBNET_NAME
: il nome della subnet condivisa.
Per saperne di più, consulta il metodo
instanceTemplates.insert
.Per creare un modello di istanza a doppio stack che utilizza una subnet in una rete VPC condiviso in modalità personalizzata, specifica la subnet e il tipo di stack:
POST https://compute.s3nsapis.fr/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:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio.HOST_PROJECT_ID
: l'ID del progetto che contiene la rete VPC condiviso.REGION
: la regione che contiene la subnet condivisa.SUBNET_NAME
: il nome della subnet condivisa.
Per saperne di più, consulta il metodo
instanceTemplates.insert
.Per creare un modello di istanza solo IPv6 (anteprima) che utilizza una subnet in una rete VPC condiviso in modalità personalizzata, specifica la subnet e il tipo di stack:
POST https://compute.s3nsapis.fr/compute/v1/projects/SERVICE_PROJECT_ID/global/instanceTemplates { "properties": { "networkInterfaces": [ { "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME", "stackType": "IPV6_ONLY" } ] ... }
Sostituisci quanto segue:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio.HOST_PROJECT_ID
: l'ID del progetto che contiene la rete VPC condiviso.REGION
: la regione che contiene la subnet condivisa.SUBNET_NAME
: il nome della subnet condivisa.
Per saperne di più, consulta il metodo
instanceTemplates.insert
.
Terraform
Puoi utilizzare un blocco di dati Terraform per specificare le informazioni sulla subnet host. Quindi, utilizza una risorsa Terraform per creare un modello di istanza VM. Gli indirizzi IPv4 per le VM provengono dalla subnet condivisa del progetto host.
La subnet deve esistere nella stessa regione in cui verranno create le istanze VM.
Specifica la subnet host:
Crea un modello di istanza VM nel progetto di servizio:
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 il VPC condiviso:
I gruppi di istanze gestite utilizzati con VPC condiviso richiedono di rendere l'account di servizio delle API di Google un amministratore del progetto di servizio perché attività come la creazione automatica di istanze utilizzando la scalabilità automatica vengono eseguite da questo service account.
La procedura standard per creare un gruppo di istanze gestite prevede la selezione di una zona o una regione, a seconda del tipo di gruppo, e di un modello di istanza. (I dettagli di rete e subnet sono associati al modello di istanza.) I modelli di istanza idonei sono limitati a quelli che fanno riferimento a subnet nella stessa regione utilizzata dal gruppo di istanze gestite.
Gli amministratori del progetto di servizio possono creare solo gruppi di istanze gestite le cui istanze membro utilizzano subnet a cui è stata concessa l'autorizzazione. Poiché i dettagli della rete e della subnet sono associati al modello di istanza, gli amministratori del progetto di servizio possono utilizzare solo i modelli che fanno riferimento alle subnet che sono autorizzati a utilizzare.
Quando Trusted Cloud riceve una richiesta di creazione di un gruppo di istanze gestite, verifica se l'entità IAM che effettua la richiesta ha l'autorizzazione per utilizzare la subnet (nella stessa regione del gruppo) specificata nel modello di istanza. Se il controllo non riesce, il gruppo di istanze gestite non viene creato e Trusted 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 VPC condiviso se il account di servizio necessita di un accesso aggiuntivo. Per saperne di più, consulta la sezione Service account come amministratori di progetti di servizio.
Per ulteriori informazioni, consulta Creazione di gruppi di istanze gestite nella documentazione di Compute Engine.
Crea un bilanciatore del carico HTTP(S)
Esistono molti modi per configurare i bilanciatori del carico delle applicazioni esterni all'interno di una reteVPC condivisoa. Indipendentemente dal tipo di deployment, tutti i componenti del bilanciatore del carico devono trovarsi nella stessa organizzazione e nella stessa rete VPC condiviso.
Per scoprire di più sulle architetture VPC condiviso supportate, consulta quanto segue:
- Architettura VPC condiviso per bilanciatori del carico delle applicazioni esterni.
- Architettura VPC condiviso per i bilanciatori del carico delle applicazioni interni.
Crea un bilanciatore del carico di rete passthrough interno
L'esempio seguente illustra cosa devi considerare quando crei un bilanciatore del carico di rete passthrough interno in una rete VPC condiviso. Gli amministratori del progetto di servizio possono creare un bilanciatore del carico di rete passthrough interno che utilizza una subnet (nel progetto host) a cui hanno accesso. La regola di forwarding interno del bilanciatore del carico è definita nel progetto di servizio, ma il relativo riferimento alla 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 l'architettura VPC condiviso.
Console
Vai alla pagina Bilanciamento del carico nella console Trusted Cloud .
Vai alla pagina Bilanciamento del caricoCrea il bilanciatore del carico TCP/UDP interno apportando la seguente modifica: nella sezione Configura servizi frontend, seleziona la subnet VPC condiviso che ti serve dalla sezione Reti condivise da altri progetti del menu Subnet.
Termina la creazione del bilanciatore del carico.
gcloud
Quando crei la regola di forwarding interno, specifica una subnet nel progetto host 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 progetto di servizio.REGION
: la regione che contiene la subnet condivisa.IP_PROTOCOL
:TCP
oUDP
, corrispondente al protocollo del servizio di backend del bilanciatore del carico.PORT
: la porta numerica o l'elenco di porte per il bilanciatore del carico.BACKEND_SERVICE_NAME
: il nome del servizio di backend (già creato nell'ambito della procedura generale per la creazione di 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 nella subnet condivisa (se non specificato, ne verrà selezionato uno disponibile).
Per ulteriori opzioni, consulta il
comando gcloud compute forwarding-rules create
.
API
Crea la regola di forwarding interno e specifica una subnet nel progetto host.
POST https://compute.s3nsapis.fr/compute/v1/projects/SERVICE_PROJECT_ID/regions/REGION/forwardingRules { "name": "FR_NAME", "IPAddress": "IP_ADDRESS", "IPProtocol": "IP_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:
SERVICE_PROJECT_ID
: l'ID del service project.REGION
: la regione che contiene la subnet condivisa.FR_NAME
: un nome per la regola di forwarding.IP_ADDRESS
: un indirizzo IP interno nella subnet condivisa.IP_PROTOCOL
:TCP
oUDP
, corrispondente al protocollo del servizio di backend del bilanciatore del carico.PORT
: la porta numerica o l'elenco di porte per il bilanciatore del carico.HOST_PROJECT_ID
: l'ID del progetto host VPC condiviso.SUBNET
: il nome della subnet condivisa.NETWORK_NAME
: il nome della rete.BE_NAME
: il nome del servizio di backend (già creato nell'ambito della procedura generale per creare un bilanciatore del carico di rete passthrough interno).
Per saperne di più, consulta il
metodo forwardingRules.insert
.
Terraform
Puoi utilizzare un blocco di dati Terraform per specificare la subnet host e la rete host. Poi utilizza una risorsa Terraform per creare la regola di forwarding.
Specifica la rete host:
Specifica la subnet host:
Nel progetto di servizio, crea una regola di forwarding nella rete e nella subnet del progetto host:
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Passaggi successivi
- Per maggiori informazioni sul VPC condiviso, consulta VPC condiviso.
- Per istruzioni sulla configurazione dei cluster Google Kubernetes Engine con VPC condiviso, consulta Configurare i cluster con VPC condiviso.
- Scopri come configurare l'accesso a una rete VPC condiviso da Cloud Run, Cloud Run Functions o dall'ambiente standard App Engine.
- Per istruzioni sull'eliminazione di una configurazione del VPC condiviso, consulta la sezione Deprovisioning del VPC condiviso.