Passer au contenu

Comment ajouter des référentiels de code à mon instance de notebook SageMaker AI ?

Lecture de 2 minute(s)
0

Je souhaite ajouter des référentiels de code à mon instance Amazon SageMaker AI.

Résolution

SageMaker AI prend en charge l'intégration aux référentiels de code GitHub. Pour HTTPS, utilisez l'intégration de Git intégrée de SageMaker AI. Pour les référentiels SSH ou les serveurs Git internes auxquels vous accédez via un cloud privé virtuel (VPC), utilisez des configurations de cycle de vie.

Utiliser l'intégration de Git de SageMaker AI pour HTTPS

Ajoutez un référentiel Git à votre compte SageMaker AI.

Lorsque vous accédez à votre référentiel, utilisez le format suivant :

  • 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 clone les référentiels vers /home/ec2-user/SageMaker/.

Utiliser des configurations de cycle de vie pour l'intégration de Git basée sur SSH

Procédez comme suit :

  1. Stockez votre clé privée SSH dans AWS Secrets Manager.

  2. Créez une configuration de cycle de vie.

  3. Dans l'éditeur de notebook Start, saisissez le script suivant et personnalisez-le en fonction de votre serveur Git et de vos stratégies de sécurité :

    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. Vérifiez que le rôle AWS Identity and Access Management (IAM) de l'instance de notebook dispose de la stratégie d'autorisations suivante pour accéder à Secrets Manager :

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

Informations connexes

Créer une instance de notebook Amazon SageMaker AI

Stratégies basées sur l'identité

Comment résoudre les problèmes liés à la connexion des référentiels Git aux instances de notebook SageMaker AI ?

AWS OFFICIELA mis à jour il y a 8 mois