Salta al contenuto

Come posso aggiungere repository di codice alla mia istanza del notebook SageMaker AI?

2 minuti di lettura
0

Desidero aggiungere repository di codice alla mia istanza Amazon SageMaker AI.

Risoluzione

SageMaker AI supporta l'integrazione con repository di codice GitHub. Per HTTPS, utilizza l'integrazione Git incorporata in SageMaker AI. Per repository SSH o server Git interni a cui accedi tramite un cloud privato virtuale (VPC), utilizza le configurazioni del ciclo di vita.

Utilizza l'integrazione Git di SageMaker AI per HTTPS

Aggiungi un repository Git all'account SageMaker AI.

Quando inserisci il repository, utilizza il seguente formato:

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

SageMaker AI clona i repository in /home/ec2-user/SageMaker/.

Utilizza le configurazioni del ciclo di vita per un'integrazione Git basata su SSH

Completa i seguenti passaggi:

  1. Archivia la tua chiave privata SSH in AWS Secrets Manager.

  2. Crea una configurazione del ciclo di vita.

  3. Nell'editor Avvia notebook, inserisci il seguente script e personalizzalo con il server Git e le policy di sicurezza:

    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. Verifica che il ruolo AWS Identity and Access Management (AWS IAM) dell'istanza del notebook abbia la seguente policy di autorizzazione per accedere a Secrets Manager:

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

Informazioni correlate

Crea un'istanza del notebook Amazon SageMaker AI

Policy basate sull'identità

Come posso risolvere i problemi associati alla connessione dei repository Git alle istanze del notebook Amazon SageMaker?

AWS UFFICIALEAggiornata un anno fa