Configurer la mise en réseau et l'accès à votre Cloud TPU

Cette page explique comment définir des configurations personnalisées de réseau et d'accès pour votre Cloud TPU, y compris:

  • Spécifier un réseau et un sous-réseau personnalisés
  • 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 la Google Cloud CLI, créer un projet Google Cloud et activer l'API Cloud TPU. Pour obtenir des instructions, consultez la section 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 non spécifié, le TPU se trouve dans le réseau default. Le sous-réseau doit se trouver dans la même région que la zone d'exécution du TPU.

  1. 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 VPC réseaux VPC.

  2. Créez un sous-réseau qui correspond à 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 VPC réseaux VPC.

  3. 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 la commande 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 la méthode network et subnetwork 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.17.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
    
  4. Activez les méthodes SSH personnalisées pour votre réseau et sous-réseau.

Activer l'accès SSH aux TPU

Pour vous connecter à des TPU à l'aide de SSH, vous devez activer les adresses IP externes pour les TPU, ou activer Accès privé à Google pour auquel les VM TPU sont connectées.

Activer les adresses IP externes

Lorsque vous créez un TPU, des ressources externes Les adresses IP sont créées par défaut.

Si vous ne souhaitez pas créer d'adresses IP externes pour vos TPU, activez les adresses IP internes Adresses IP:

gcloud

Utilisez l'option --internal-ips lors de la création d'un TPU:

$ 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.17.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 l'accès privé à Google

Les TPU sans adresse IP externe peuvent utiliser l'accès privé à Google pour d'accéder aux API et services Google. Pour en savoir plus sur l'activation l'accès privé à Google, consultez la section Configurer Accès privé à Google

Après avoir 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 pour envoyer des requêtes API sur pour vous. Les VM TPU utilisent ce compte de service pour appeler Cloud TPU les API, et accédez à Cloud Storage et à d'autres services. Par défaut, votre VM TPU utilise le service Compute Engine par défaut compte.

Le compte de service doit être défini dans le projet Google Cloud dans lequel créer votre VM TPU. Les comptes de service personnalisés utilisés pour les VM TPU doivent disposer du TPU Lecteur pour appeler la ressource Cloud TPU API. Si le code exécuté dans votre VM TPU appelle d'autres services Google Cloud, il doit disposer des rôles nécessaires pour accéder à ces services.

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'option --service-account lors de la création d'un TPU:

$ gcloud compute tpus tpu-vm create TPU_NAME \
    --zone=us-central2-b \
    --accelerator-type=TPU_TYPE \
    --version=tpu-vm-tf-2.17.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.17.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 utiliser un réseau autre que celui 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