Conteinerização de caderno - AWS IoT Analytics

Para recursos semelhantes AWS IoT Analytics, explore o Amazon Kinesis, o Amazon S3 e o Amazon Athena. Esses serviços fornecem escalabilidade e flexibilidade adicionais para atender aos seus requisitos de análise em evolução. Saiba como fazer isso aqui.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conteinerização de caderno

Esta seção inclui informações sobre como criar um contêiner do Docker usando um caderno Jupyter. Há um risco de segurança se você usar blocos de anotações criados por terceiros: os contêineres incluídos poderão executar código arbitrário com as permissões de usuário. Além disso, o HTML gerado pelo bloco de anotações pode ser exibido em um console do AWS IoT Analytics, fornecendo um possível vetor de ataque no computador que está exibindo o HTML. Certifique-se de confiar no autor de qualquer bloco de anotações de terceiros antes de usá-lo.

Uma opção para executar funções analíticas avançadas é usar um Notebook Jupyter. O caderno Jupyter fornece poderosas ferramentas de ciência de dados que podem realizar machine learning e uma ampla variedade de análises estatísticas. Para obter mais informações, consulte Modelos de caderno. (Observe que, no momento, não oferecemos suporte à conteinerização dentro do JupyterLab.) Você pode empacotar seus cadernos Jupyter e bibliotecas em um contêiner que executa periodicamente em um novo lote de dados à medida que são recebidos pelo AWS IoT Analytics durante um período delta definido por você. Você pode programar um trabalho de análise que usa o contêiner e os novos dados segmentados capturados na janela de tempo especificada e armazenar a saída do trabalho para futuras análises programadas.

Se você tiver criado uma instância do SageMaker usando o console AWS IoT Analytics depois de 23 de agosto de 2018, a instalação da extensão da conteinerização terá sido feita para você automaticamente e é possível começar a criar uma imagem em contêineres. Caso contrário, siga as etapas listadas nesta seção para habilitar a conteinerização do notebook em sua instância do SageMaker. Na sequência, modifique a função de execução do SageMaker, para permitir que você faça upload da imagem do contêiner no Amazon EC2 e instale extensão da conteinerização.

Habilitar a conteinerização de instâncias de cadernos não criadas pelo console AWS IoT Analytics

Recomendamos criar uma nova instância do SageMaker por meio do console AWS IoT Analytics em vez de seguir estas etapas. As novas instâncias oferecem suporte à conteinerização automaticamente.

Se você reiniciar a instância do SageMaker após habilitar a conteinerização conforme mostrado aqui, não será necessário adicionar novamente as políticas e funções do IAM, mas você deverá reinstalar a extensão, conforme mostrado na etapa final.

  1. Para conceder acesso a sua instância de caderno ao Amazon ECS, selecione a instância do SageMaker na página do SageMaker:

    Coloque um caderno em um contêiner em AWS IoT Analytics.
  2. Em ARN do perfil do IAM escolha a Função de execução do SageMaker.

    Coloque um caderno em um contêiner em AWS IoT Analytics.
  3. Escolha Attach Policy (Anexar política) e, em seguida, defina e anexe a política mostrada em Permissões. Se a política AmazonSageMakerFullAccess ainda não foi anexada, anexe-a.

    Coloque um caderno em um contêiner em AWS IoT Analytics.

Você também deve baixar o código de conteinerização do Amazon S3 e instalá-lo na instância do seu caderno. A primeira etapa é acessar o terminal da instância do SageMaker.

  1. Dentro do Jupyter, escolha Novo:

    Coloque um caderno em um contêiner em AWS IoT Analytics.
  2. No menu exibido, escolha Terminal.

    Coloque um caderno em um contêiner em AWS IoT Analytics.
  3. No terminal, digite os seguintes comandos para fazer download do código, descompactá-lo e instalá-lo. Observe que esses comandos eliminam todos os processos que estão sendo executados pelos blocos de anotações nessa instância do SageMaker.

    Coloque um caderno em um contêiner em AWS IoT Analytics.
    cd /tmp aws s3 cp s3://iotanalytics-notebook-containers/iota_notebook_containers.zip /tmp unzip iota_notebook_containers.zip cd iota_notebook_containers chmod u+x install.sh ./install.sh

    Aguarde um ou dois minutos para que a extensão seja validada e instalada.

Atualizar a extensão de conteinerização do notebook

Se você tiver criado uma instância do SageMaker por meio do console do AWS IoT Analytics depois de 23 de agosto de 2018, a extensão da conteinerização terá sido instalada automaticamente. Você pode atualizar a extensão reiniciando a instância no console do SageMaker. Se instalou a extensão manualmente, será possível atualizá-la, executando novamente os comandos do terminal listados em Habilitar a conteinerização de instâncias de bloco de anotações não criadas pelo console do AWS IoT Analytics.

Criar uma imagem conteinerizada

Nesta seção, mostramos as etapas necessárias para conteinerizar um notebook. Para começar, acesse o notebook Jupyter para criar um notebook com um kernel conteinerizado.

  1. No notebook Jupyter, escolha New (Novo) e, em seguida, escolha o tipo de kernel desejado na lista suspensa. (O tipo de kernel deve começar com “Containerized” e terminar com qualquer kernel que você teria selecionado de outra forma. Por exemplo, se você quiser apenas um ambiente Python 3.0 simples, como “conda_python3", escolha “Containerized conda_python3”).

    Atualizar a extensão de conteinerização do caderno em AWS IoT Analytics.
  2. Depois de concluir o trabalho no caderno e desejar conteinerizá-lo, escolha o botão Conteinerizar.

    Atualizar a extensão de conteinerização do caderno em AWS IoT Analytics.
  3. Digite um nome para o notebook conteinerizado. Você também pode inserir uma descrição opcional.

    Atualizar a extensão de conteinerização do caderno em AWS IoT Analytics.
  4. Especifique as Input Variables (Variáveis de entrada) (parâmetros) com as quais o notebook deve ser invocado. Você pode selecionar as variáveis de entrada que são automaticamente detectadas pelo notebook ou definir variáveis personalizadas. (Observe que as variáveis de entrada só serão detectadas se você já tiver executado o notebook anteriormente.) Para cada variável de entrada, escolha um tipo. Você também pode inserir uma descrição opcional da variável de entrada:

    Atualizar a extensão de conteinerização do caderno em AWS IoT Analytics.
  5. Escolha o repositório do Amazon ECR onde a imagem criada do caderno deve ser carregada.

    Atualizar a extensão de conteinerização do caderno em AWS IoT Analytics.
  6. Escolha Conteinerizar para começar o processo.

    Será apresentada uma visão geral resumindo sua entrada. Observe que, depois de iniciar o processo, não é possível cancelá-lo. O processo pode durar até uma hora.

    Atualizar a extensão de conteinerização do caderno em AWS IoT Analytics.
  7. A próxima página mostra o progresso.

    Atualizar a extensão de conteinerização do caderno em AWS IoT Analytics.
  8. Se você fechar o navegador acidentalmente, poderá monitorar o status do processo de conteinerização na seção Cadernos do console do AWS IoT Analytics.

  9. Depois que o processo for concluído, a imagem conteinerizada é armazenada no Amazon ECR pronta para uso.

    Atualizar a extensão de conteinerização do caderno em AWS IoT Analytics.