Configurer la mise en réseau et l'accès à votre Cloud TPU
Cette page explique comment configurer des configurations réseau et d'accès personnalisées pour votre Cloud TPU, y compris:
- Spécifier un réseau et un sous-réseau personnalisés
- Spécifier des adresses IP internes
- Activer l'accès SSH aux TPU
- Associer un compte de service personnalisé à votre TPU
- Activer des méthodes SSH personnalisées
Prérequis
Avant d'exécuter ces procédures, vous devez installer Google Cloud CLI, créer un projet Google Cloud et activer l'API Cloud TPU. Pour obtenir des instructions, consultez la page Configurer l'environnement Cloud TPU.
Spécifier un réseau et un sous-réseau personnalisés
Vous pouvez éventuellement spécifier le réseau et le sous-réseau à utiliser pour le TPU. Si le réseau n'est pas spécifié, le TPU se trouve sur le réseau default
. Le sous-réseau doit se trouver dans la même région que la zone dans laquelle le TPU s'exécute.
Créez un réseau qui correspond à l'un des formats valides suivants:
https://www.googleapis.com/compute/{version}/projects/{proj-id}/global/networks/{network}
compute/{version}/projects/{proj-id}/global/networks/{network}
compute/{version}/projects/{proj-##}/global/networks/{network}
projects/{proj-id}/global/networks/{network}
projects/{proj-##}/global/networks/{network}
global/networks/{network}
{network}
Pour en savoir plus, consultez la page Créer et gérer des réseaux VPC.
Créez un sous-réseau correspondant à l'un des formats valides suivants:
https://www.googleapis.com/compute/{version}/projects/{proj-id}/regions/{region}/subnetworks/{subnetwork}
compute/{version}/projects/{proj-id}/regions/{region}/subnetworks/{subnetwork}
compute/{version}/projects/{proj-##}/regions/{region}/subnetworks/{subnetwork}
projects/{proj-id}/regions/{region}/subnetworks/{subnetwork}
projects/{proj-##}/regions/{region}/subnetworks/{subnetwork}
regions/{region}/subnetworks/{subnetwork}
{subnetwork}
Pour en savoir plus, consultez la page Créer et gérer des réseaux VPC.
Créez le TPU en spécifiant le réseau et le sous-réseau personnalisés:
gcloud
Pour spécifier le réseau et le sous-réseau à l'aide de la CLI
gcloud
, ajoutez les options--network
et--subnetwork
à votre requête de création:$ gcloud compute tpus tpu-vm create TPU_NAME \ --zone=us-central2-b \ --accelerator-type=v4-8 \ --version=TPU_SOFTWARE_VERSION --network=NETWORK --subnetwork=SUBNETWORK
curl
Pour spécifier le réseau et le sous-réseau dans un appel
curl
, ajoutez les champsnetwork
etsubnetwork
au corps de la requête:$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \ runtime_version:'tpu-vm-tf-2.18.0-pjrt', \ network_config: {network: 'NETWORK', subnetwork: 'SUBNETWORK', enable_external_ips: true}, \ shielded_instance_config: { enable_secure_boot: true }}" \ https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME
Activer les adresses IP internes
Lorsque vous créez un TPU, des adresses IP externes sont créées par défaut pour chaque VM TPU.
Si vous souhaitez plutôt créer des adresses IP internes pour vos VM TPU, utilisez l'option --internal-ips
lorsque vous créez le TPU.
gcloud
Si vous utilisez des ressources en file d'attente:
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project \ --zone us-central2-b \ --accelerator-type v4-8 \ --runtime-version tpu_software_version \ --internal-ips
Si vous utilisez l'API Create Node:
$ gcloud compute tpus tpu-vm create TPU_NAME \ --zone=us-central2-b \ --accelerator-type=v4-8 \ --version=tpu_software_version \ --internal-ips
curl
Définissez le champ enable_external_ips
sur false
dans le corps de la requête:
$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \ runtime_version:'tpu-vm-tf-2.18.0-pjrt', \ network_config: {enable_external_ips: false}, \ shielded_instance_config: { enable_secure_boot: true }}" \ https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME
Activer les méthodes SSH personnalisées
Pour vous connecter aux TPU à l'aide de SSH, vous devez activer les adresses IP externes pour les TPU ou l'accès privé à Google pour le sous-réseau auquel les VM TPU sont connectées.
Activer l'accès privé à Google
Les TPU sans adresses IP externes peuvent utiliser l'accès privé à Google pour accéder aux API et services Google. Pour en savoir plus sur l'activation de l'accès privé à Google, consultez la page Configurer l'accès privé à Google.
Une fois que vous avez configuré l'accès privé à Google, connectez-vous à la VM à l'aide de SSH.
Associer un compte de service personnalisé
Chaque VM TPU est associée à un compte de service qu'elle utilise pour envoyer des requêtes API en votre nom. Les VM TPU utilisent ce compte de service pour appeler les API Cloud TPU et accéder à Cloud Storage et à d'autres services. Par défaut, votre VM TPU utilise le compte de service Compute Engine par défaut.
Le compte de service doit être défini dans le même projet Google Cloud que celui dans lequel vous créez votre VM TPU. Les comptes de service personnalisés utilisés pour les VM TPU doivent disposer du rôle Visionneuse TPU pour appeler l'API Cloud TPU. Si le code exécuté dans votre VM TPU appelle d'autres services Google Cloud, il doit disposer des rôles nécessaires pour y accéder.
Pour plus d'informations sur les comptes de service, consultez la page Comptes de service.
Utilisez les commandes suivantes pour spécifier un compte de service personnalisé.
gcloud
Utilisez l'indicateur --service-account
lorsque vous créez un TPU:
$ gcloud compute tpus tpu-vm create TPU_NAME \ --zone=us-central2-b \ --accelerator-type=TPU_TYPE \ --version=tpu-vm-tf-2.18.0-pjrt \ --service-account=SERVICE_ACCOUNT
curl
Définissez le champ service_account
dans le corps de la requête:
$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \ runtime_version:'tpu-vm-tf-2.18.0-pjrt', \ network_config: {enable_external_ips: true}, \ shielded_instance_config: { enable_secure_boot: true }}" \ service_account: {email: 'SERVICE_ACCOUNT'} \ https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME
Activer les méthodes SSH personnalisées
Le réseau par défaut autorise l'accès SSH à toutes les VM TPU. Si vous utilisez un réseau autre que le réseau par défaut ou si vous modifiez les paramètres réseau par défaut, vous devez activer explicitement l'accès SSH en ajoutant une règle de pare-feu:
$ gcloud compute tpus tpu-vm compute firewall-rules create \ --network=NETWORK allow-ssh \ --allow=tcp:22