¿Cómo agrego repositorios de código a mi instancia de cuaderno de SageMaker AI?

2 minutos de lectura
0

Quiero agregar repositorios de código a mi instancia de Amazon SageMaker AI.

Resolución

SageMaker AI admite la integración con los repositorios de código de GitHub. Para HTTPS, utiliza la integración de Git integrada en SageMaker AI. Para los repositorios SSH o los servidores de Git internos a los que accedes a través de una nube virtual privada (VPC), usa configuraciones de ciclo de vida.

Uso de la integración de Git de SageMaker AI para HTTPS

Agrega un repositorio de Git a tu cuenta de SageMaker AI.

Cuando ingreses a tu repositorio, usa el siguiente formato:

  • URL de GitHub: https://github.com/workspace/repository.git
  • URL de Bitbucket: https://bitbucket.org/workspace/repository.git
  • URL de GitLab: https://gitlab.com/workspace/repository.git

SageMaker AI clona los repositorios en /home/ec2-user/SageMaker/.

Uso de configuraciones de ciclo de vida para la integración de Git basada en SSH

Sigue estos pasos:

  1. Almacena tu clave privada de SSH en AWS Secrets Manager.

  2. Crea una configuración de ciclo de vida.

  3. En el editor Iniciar cuaderno, introduce el siguiente script y personalízalo con tu servidor de Git y tus políticas de seguridad:

    bash
    #!/bin/bash
    python << EOF
    import boto3
    import base64
    
    
    secret_name = "your_secret_name"
    region_name = "your_region"
    
    
    session = boto3.session.Session()
    client = session.client(service_name='secretsmanager', region_name=region_name)
    get_secret_value_response = client.get_secret_value(SecretId=secret_name)
    
    
    if 'SecretString' in get_secret_value_response:
     secret = get_secret_value_response['SecretString']
     with open('/home/ec2-user/.ssh/id_rsa', 'wt') as tmp:
     tmp.write(secret)
    else:
     decoded_binary_secret = base64.b64decode(get_secret_value_response['SecretBinary'])
     with open('/home/ec2-user/.ssh/id_rsa', 'wt') as tmp:
     tmp.write(decoded_binary_secret)
    EOF
    
    
    echo "Host github.com " >> /home/ec2-user/.ssh/config
    echo " StrictHostKeyChecking no" >> /home/ec2-user/.ssh/config
    echo " IdentityFile /home/ec2-user/.ssh/id_rsa" >> /home/ec2-user/.ssh/config
    
    
    chmod 600 /home/ec2-user/.ssh/config
    chmod 600 /home/ec2-user/.ssh/id_rsa
    chown ec2-user:ec2-user /home/ec2-user/.ssh/config
    chown ec2-user:ec2-user /home/ec2-user/.ssh/id_rsa
    
    
    cd /home/ec2-user/SageMaker
    sudo su ec2-user -c "git clone git@github.com:myAccount/SageMakerNotebook.git"
    
    
    rm /home/ec2-user/.ssh/config
  4. Comprueba que el rol de AWS Identity and Access Management (IAM) de la instancia del cuaderno tenga la siguiente política de permisos para acceder a Secrets Manager:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "secretsmanager:GetSecretValue",
          "Resource": "arn:aws:secretsmanager:region:account-id:secret:secret-name"
        }
      ]
    }

Información relacionada

Creación de una instancia de cuaderno de Amazon SageMaker AI

Políticas basadas en identidad

¿Cómo puedo solucionar los problemas relacionados con los repositorios de Git a las instancias del cuaderno de SageMaker AI?

OFICIAL DE AWSActualizada hace 2 meses