Ir para o conteúdo

Como adiciono repositórios de código à minha instância de caderno do SageMaker IA?

2 minuto de leitura
0

Quero adicionar repositórios de código à minha instância do Amazon SageMaker IA.

Resolução

O SageMaker IA oferece suporte à integração com repositórios de código do GitHub. Para HTTPS, use a integração Git integrada do SageMaker IA. Para repositórios SSH ou servidores Git internos que você acessa por meio de uma nuvem privada virtual (VPC), use configurações de ciclo de vida.

Usar a integração do SageMaker IA Git para HTTPS

Adicione um repositório Git à sua conta do SageMaker IA.

Ao inserir seu repositório, use o seguinte formato:

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

O SageMaker IA clona os repositórios em /home/ec2-user/SageMaker/.

Usar configurações de ciclo de vida para integração com Git baseada em SSH

Conclua as etapas a seguir:

  1. Armazene sua chave privada SSH no AWS Secrets Manager.

  2. Crie uma configuração de ciclo de vida.

  3. No editor Iniciar caderno, insira o script a seguir e personalize-o com seu servidor Git e suas políticas de segurança:

    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. Verifique se o perfil do AWS Identity and Access Management (AWS IAM) da instância de caderno tem a seguinte política de permissões para acessar o Secrets Manager:

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

Informações relacionadas

Criar uma instância de caderno do Amazon SageMaker IA

Políticas baseadas em identidade

Como solucionar problemas relacionados à conexão de repositórios Git a instâncias de caderno do SageMaker IA?

AWS OFICIALAtualizada há 8 meses