En esta guía, se explica cómo probar que un trabajo de entrenamiento pueda acceder a las IP privadas en tu red. Primero, debes crear una conexión privada entre la red de VPC y AI Platform Training.
Descripción general
La configuración de esta prueba tiene dos partes:
- Configura un extremo en tu red.
- Envía un trabajo de entrenamiento de prueba para acceder a ese extremo.
Configura un extremo
Para configurar un extremo, configura un servidor local en una instancia de VM de la red.
- Crea una instancia de Compute Engine en tu red de VPC.
- Verifica las reglas de firewall para asegurarte de que no restrinjan el ingreso desde la red de AI Platform Training. Si es así, agrega una regla para asegurarte de que la red de AI Platform Training pueda acceder al rango de IP que reservaste para AI Platform Training (y otros productores de servicios).
Busca la dirección IP privada de tu VM:
- Ir a la página Instancias de VM
- Ve a la página Detalles de instancia de VM de tu instancia y busca la IP interna que se enumera en la página.
Configura el nombre de tu instancia y ejecuta el siguiente comando de
gcloud
:INSTANCE_NAME="your-instance-name" gcloud compute instances describe $INSTANCE_NAME \ --format="value(networkInterfaces.networkIP)"
Establece una conexión SSH con tu VM e instala Node.js.
Copia el código de Node.JS de muestra y completa tu dirección IP privada:
const http = require('http'); // Fill in the value of your vm's private IP const hostname = 'your_private_ip'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World ' + req.url + '\n'); }); server.listen(port, hostname, () => { console.log('Server running at http://${hostname}:${port}/'); }); ```
Ejecuta el servidor:
nodejs hw.js
Sal de SSH de la VM para enviar tu trabajo de entrenamiento.
Envía un trabajo de entrenamiento de prueba
En lugar de entrenar un modelo, este trabajo de entrenamiento accede a tu extremo para verificar que AI Platform Training pueda acceder a una IP privada en tu red.
- Copia la aplicación de entrenamiento de Python de muestra para enviarla a AI Platform Training.
Actualiza el código para incluir la dirección IP privada:
import logging import os import sys def main(): # Fill in the value of your vm's private IP hostname = "your_private_ip" response = os.system("curl http://" + hostname + ":3000/you_can_write_your_name_here") if response == 0: print(hostname, "is up!") logging.info("%s is up; Peering successful!", hostname) sys.exit(0) else: logging.error("%s is down; Peering failed!", hostname) sys.exit(1) if __name__ == "__main__": logging.getLogger().setLevel(logging.INFO) main()
Crea un archivo config.yaml para especificar la red. Si usas una VPC compartida, usa el número del proyecto host de VPC.
Asegúrate de que el nombre de la red tenga el formato correcto:
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") NETWORK=your-network-name cat << EOF > config.yaml trainingInput: scaleTier: BASIC network: projects/$PROJECT_NUMBER/global/networks/$NETWORK EOF
Envía el trabajo a AI Platform Training:
BUCKET_NAME=your_bucket_name JOB_ID='test_vpc_peering_job' gcloud ai-platform jobs submit training $JOB_ID \ --module-name trainingcode.test_peering \ --stream-logs \ --runtime-version 1.15 \ --job-dir gs://$BUCKET_NAME/$JOB_ID \ --region us-central1 \ --package-path trainingcode/ \ --config config.yaml
Tu trabajo debería tener éxito y, luego, mostrar “Intercambio de tráfico correcto”. Esto valida tu conexión de intercambio de tráfico con AI Platform Training.