Configurar rede e acesso ao Cloud TPU
Esta página descreve como definir configurações personalizadas de rede e acesso para o Cloud TPU, incluindo:
- Especificar uma rede e uma sub-rede personalizadas
- Como ativar o acesso SSH para TPUs
- Como anexar uma conta de serviço personalizada à TPU
- Como ativar métodos SSH personalizados
Pré-requisitos
Antes de executar os procedimentos, instale a Google Cloud CLI, crie um projeto do Google Cloud e ativar a API Cloud TPU. Para instruções, consulte Configurar o ambiente do Cloud TPU.
Especificar uma rede e uma sub-rede personalizadas
Também é possível especificar a rede e a sub-rede a serem usadas para a TPU. Se o
não especificada, a TPU estará na rede default
. A sub-rede
precisa estar na mesma região que a zona em que a TPU é executada.
Crie uma rede que corresponda a um dos seguintes formatos válidos:
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}
Para mais informações, consulte Criar e gerenciar VPCs redes VPC.
Crie uma sub-rede que corresponda a um dos seguintes formatos válidos:
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}
Para mais informações, consulte Criar e gerenciar VPCs redes VPC.
Crie a TPU especificando a rede personalizada e a sub-rede:
gcloud
Para especificar a rede e a sub-rede usando a CLI
gcloud
, adicione o Sinalizações--network
e--subnetwork
para a solicitação de criação:$ 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
Para especificar a rede e a sub-rede em uma chamada
curl
, adicione a Camposnetwork
esubnetwork
ao corpo da solicitação:$ 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
Ativar métodos de SSH personalizados para sua rede e sub-rede.
Ativar o acesso SSH para TPUs
Para se conectar a TPUs usando SSH, é necessário ativar endereços IP externo para as TPUs ou ativar Acesso privado do Google para os à qual as VMs da TPU estão conectadas.
Ativar endereços IP externo
Quando você cria uma TPU, os recursos Os endereços IP são criados por padrão.
Se você não quiser criar endereços IP externo para suas TPUs, ative o IPs:
gcloud
Use a sinalização --internal-ips
ao criar uma TPU:
$ gcloud compute tpus tpu-vm create TPU_NAME \
--zone=us-central2-b \
--accelerator-type=v4-8 \
--version=TPU_SOFTWARE_VERSION
--internal-ips
curl
Defina o campo enable_external_ips
como false
no corpo da solicitação:
$ 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
ativar o Acesso privado do Google
TPUs sem endereços IP externo podem usar o Acesso privado do Google para acessar as APIs e os serviços do Google. Para mais informações sobre como ativar Acesso privado do Google, consulte Configurar Acesso privado do Google.
Depois de configurar o Acesso privado do Google, conecte-se à VM usando SSH:
Anexar uma conta de serviço personalizada
Cada VM da TPU tem uma conta de serviço associada que é usada para fazer solicitações de API em seu nome. As VMs da TPU usam essa conta de serviço para chamar a Cloud TPU e acessar o Cloud Storage e outros serviços. Por padrão, sua VM de TPU usa o serviço padrão do Compute Engine padrão.
A conta de serviço precisa ser definida no mesmo projeto do Google Cloud em que você crie sua VM da TPU. As contas de serviço personalizadas usadas para VMs de TPU precisam ter a TPU Leitor para chamar a Cloud TPU API. Se o código em execução na VM da TPU chamar outros serviços do Google Cloud, precisam ter os papéis necessários para acessar esses serviços.
Para mais informações sobre contas de serviço, consulte Contas de serviço.
Use os comandos a seguir para especificar uma conta de serviço personalizada.
gcloud
Use a sinalização --service-account
ao criar uma 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
Defina o campo service_account
no corpo da solicitação:
$ 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
Ativar métodos SSH personalizados
A rede padrão permite acesso SSH a todas as VMs da TPU. Se você usar uma rede diferente da padrão ou alterar as configurações de rede padrão, você precisa ativar explicitamente o acesso SSH adicionando uma regra de firewall:
$ gcloud compute tpus tpu-vm compute firewall-rules create \
--network=NETWORK allow-ssh \
--allow=tcp:22