Skip to main content
NetApp artificial intelligence solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Parte 1 - Integrando o Amazon FSx for NetApp ONTAP (FSx ONTAP) como um bucket S3 privado no AWS SageMaker

Esta seção fornece um guia sobre como configurar o FSx ONTAP como um bucket S3 privado usando o AWS SageMaker.

Introdução

Usando o SageMaker como exemplo, esta página fornece orientação sobre como configurar o FSx ONTAP como um bucket S3 privado.

Para mais informações sobre o FSx ONTAP, consulte esta apresentação ("Link do vídeo" )

Guia do usuário

Criação de servidor

Criar uma instância do SageMaker Notebook

  1. Abra o console da AWS. No painel de pesquisa, pesquise SageMaker e clique no serviço Amazon SageMaker.

    Abra o console da AWS

  2. Abra as Instâncias do Notebook na aba Notebook, clique no botão laranja Criar instância do notebook.

    Console da instância do AWS SageMaker Notebook

  3. Na página de criação, insira o Nome da instância do Notebook. Expanda o painel Rede. Deixe as outras entradas padrão e selecione uma VPC, Sub-rede e Grupo(s) de segurança. (Esta VPC e Sub-rede serão usadas para criar o sistema de arquivos FSx ONTAP posteriormente) Clique no botão laranja Criar instância de notebook no canto inferior direito.

    Criar instância do notebook

Crie um sistema de arquivos FSx ONTAP

  1. Abra o console da AWS. No painel de pesquisa, pesquise Fsx e clique no serviço FSx.

    Painel FSx

  2. Clique em Criar sistema de arquivos.

    Criar sistema de arquivos

  3. Selecione o primeiro cartão FSx ONTAP e clique em Avançar.

    Selecione o tipo de sistema de arquivo

  4. Na página de configuração de detalhes.

    1. Selecione a opção Criação padrão.

      Criar painel do sistema de arquivos

    2. Digite o Nome do sistema de arquivos e a Capacidade de armazenamento do SSD.

      Especificar detalhes do sistema de arquivos

    3. Certifique-se de usar a VPC e a sub-rede da mesma forma que a instância do SageMaker Notebook.

      Configuração de rede e segurança

    4. Digite o nome da máquina virtual de armazenamento e especifique uma senha para sua SVM (máquina virtual de armazenamento).

      Configuração padrão da máquina virtual de armazenamento

    5. Deixe as outras entradas como padrão e clique no botão laranja Avançar no canto inferior direito.

      Confirmar configuração

    6. Clique no botão laranja Criar sistema de arquivos no canto inferior direito da página de revisão.

      Revise a configuração e confirme a criação

  5. Pode levar cerca de 20-40 minutos para iniciar o sistema de arquivos FSx.

    Inspecione o console FSx

Configuração do servidor

Configuração ONTAP

  1. Abra o sistema de arquivos FSx criado. Certifique-se de que o status é Disponível.

    Aguarde a criação do backend

  2. Selecione a aba Administração e mantenha o Ponto de extremidade de gerenciamento - Endereço IP e o *Nome de usuário do administrador do ONTAP *.

    Console de detalhes do sistema de arquivos

  3. Abra a instância do SageMaker Notebook criada e clique em Abrir JupyterLab.

    Console da instância do AWS SageMaker Notebook

  4. Na página do Jupyter Lab, abra um novo Terminal.

    Página inicial do Jupyter Lab

  5. Digite o comando ssh ssh <nome de usuário administrador>@< IP do servidor ONTAP > para efetuar login no sistema de arquivos FSx ONTAP . (O nome de usuário e o endereço IP são recuperados na etapa 2) Use a senha usada ao criar a Máquina virtual de armazenamento.

    Terminal do Jupyter Lab

  6. Execute os comandos na seguinte ordem. Usamos fsxn-ontap como nome para o nome do bucket S3 privado do FSx ONTAP *. Use o *nome da máquina virtual de armazenamento para o argumento -vserver.

    vserver object-store-server create -vserver fsxn-svm-demo -object-store-server fsx_s3 -is-http-enabled true -is-https-enabled false
    
    vserver object-store-server user create -vserver fsxn-svm-demo -user s3user
    
    vserver object-store-server group create -name s3group -users s3user -policies FullAccess
    
    vserver object-store-server bucket create fsxn-ontap -vserver fsxn-svm-demo -type nas -nas-path /vol1

    Saída do terminal do Jupyter Lab

  7. Execute os comandos abaixo para recuperar o IP do endpoint e as credenciais do FSx ONTAP private S3.

    network interface show -vserver fsxn-svm-demo -lif nfs_smb_management_1
    
    set adv
    
    vserver object-store-server user show
  8. Guarde o IP do endpoint e a credencial para uso futuro.

    Terminal do Jupyter Lab

Configuração do cliente

  1. Na instância do SageMaker Notebook, crie um novo notebook Jupyter.

    Abra um novo notebook Jupyter

  2. Use o código abaixo como uma solução alternativa para carregar arquivos no bucket S3 privado do FSx ONTAP . Para um exemplo de código abrangente, consulte este notebook."fsxn_demo.ipynb"

    # Setup configurations
    # -------- Manual configurations --------
    seed: int = 77                                              # Random seed
    bucket_name: str = 'fsxn-ontap'                             # The bucket name in ONTAP
    aws_access_key_id = '<Your ONTAP bucket key id>'            # Please get this credential from ONTAP
    aws_secret_access_key = '<Your ONTAP bucket access key>'    # Please get this credential from ONTAP
    fsx_endpoint_ip: str = '<Your FSx ONTAP IP address>'        # Please get this IP address from FSx ONTAP
    # -------- Manual configurations --------
    
    # Workaround
    ## Permission patch
    !mkdir -p vol1
    !sudo mount -t nfs $fsx_endpoint_ip:/vol1 /home/ec2-user/SageMaker/vol1
    !sudo chmod 777 /home/ec2-user/SageMaker/vol1
    
    ## Authentication for FSx ONTAP as a Private S3 Bucket
    !aws configure set aws_access_key_id $aws_access_key_id
    !aws configure set aws_secret_access_key $aws_secret_access_key
    
    ## Upload file to the FSx ONTAP Private S3 Bucket
    %%capture
    local_file_path: str = <Your local file path>
    
    !aws s3 cp --endpoint-url http://$fsx_endpoint_ip /home/ec2-user/SageMaker/$local_file_path  s3://$bucket_name/$local_file_path
    
    # Read data from FSx ONTAP Private S3 bucket
    ## Initialize a s3 resource client
    import boto3
    
    # Get session info
    region_name = boto3.session.Session().region_name
    
    # Initialize Fsxn S3 bucket object
    # --- Start integrating SageMaker with FSXN ---
    # This is the only code change we need to incorporate SageMaker with FSXN
    s3_client: boto3.client = boto3.resource(
        's3',
        region_name=region_name,
        aws_access_key_id=aws_access_key_id,
        aws_secret_access_key=aws_secret_access_key,
        use_ssl=False,
        endpoint_url=f'http://{fsx_endpoint_ip}',
        config=boto3.session.Config(
            signature_version='s3v4',
            s3={'addressing_style': 'path'}
        )
    )
    # --- End integrating SageMaker with FSXN ---
    
    ## Read file byte content
    bucket = s3_client.Bucket(bucket_name)
    
    binary_data = bucket.Object(data.filename).get()['Body']

Isso conclui a integração entre o FSx ONTAP e a instância do SageMaker.

Lista de verificação de depuração útil

  • Certifique-se de que a instância do SageMaker Notebook e o sistema de arquivos FSx ONTAP estejam na mesma VPC.

  • Lembre-se de executar o comando set dev no ONTAP para definir o nível de privilégio como dev.

Perguntas frequentes (em 27 de setembro de 2023)

P: Por que estou recebendo o erro "Ocorreu um erro (NotImplemented) ao chamar a operação CreateMultipartUpload: O comando s3 que você solicitou não foi implementado" ao carregar arquivos no FSx ONTAP?

R: Como um bucket S3 privado, o FSx ONTAP suporta o upload de arquivos de até 100 MB. Ao usar o protocolo S3, arquivos maiores que 100 MB são divididos em pedaços de 100 MB, e a função 'CreateMultipartUpload' é chamada. Entretanto, a implementação atual do FSx ONTAP private S3 não suporta esta função.

P: Por que estou recebendo o erro "Ocorreu um erro (AccessDenied) ao chamar as operações PutObject: Acesso negado" ao carregar arquivos no FSx ONTAP?

R: Para acessar o bucket S3 privado do FSx ONTAP a partir de uma instância do SageMaker Notebook, troque as credenciais da AWS para as credenciais do FSx ONTAP . No entanto, conceder permissão de gravação à instância requer uma solução alternativa que envolve montar o bucket e executar o comando shell 'chmod' para alterar as permissões.

P: Como posso integrar o bucket S3 privado do FSx ONTAP com outros serviços do SageMaker ML?

R: Infelizmente, o SDK de serviços do SageMaker não fornece uma maneira de especificar o ponto de extremidade para o bucket privado do S3. Como resultado, o FSx ONTAP S3 não é compatível com serviços do SageMaker, como Sagemaker Data Wrangler, Sagemaker Clarify, Sagemaker Glue, Sagemaker Athena, Sagemaker AutoML e outros.