Inteligência artificial, sem ruído.
Tutoriais5 min

Como criar um portal customizado com Amazon SageMaker AI MLflow Apps integrado

Amazon SageMaker lança solução para portais customizados com MLflow Apps integrados A Amazon Web Services (AWS) apresentou uma solução que permite a…

Amazon SageMaker lança solução para portais customizados com MLflow Apps integrados

A Amazon Web Services (AWS) apresentou uma solução que permite a criação de portais customizados com a interface do Amazon SageMaker AI MLflow Apps embutida. Essa novidade é especialmente útil para equipes de machine learning (ML) que buscam um acesso escalável e seguro ao monitoramento de experimentos MLflow, sem a necessidade de distribuir URLs pré-assinadas ou conceder acesso direto ao console AWS.

Quem pode se beneficiar e como funciona a solução

Times de cientistas de dados e infraestrutura ML que utilizam o Amazon SageMaker para gerenciar experimentos podem integrar o MLflow Apps diretamente em seus portais internos, que já contam com autenticação via Single Sign-On (SSO). Isso oferece uma URL persistente e bookmarkable, além de uma experiência unificada para os usuários, que acessam os experimentos ao lado de outras ferramentas corporativas.

O portal customizado é construído com um front-end React que incorpora o MLflow UI via iframe, enquanto um serviço proxy reverso em Flask gerencia a autenticação AWS Signature Version 4 (SigV4) de forma transparente para o usuário. Essa arquitetura permite que pipelines CI/CD e scripts automatizados interajam com as APIs REST do MLflow através do mesmo endpoint proxy, simplificando a segurança e a operação.

Arquitetura técnica da solução

  • Application Load Balancer (ALB): Ponto único de entrada para usuários, gerenciando o tráfego HTTPS, integração com DNS e certificados, além de suportar domínios personalizados e autenticação SSO.
  • Front-end React: Portal customizado que carrega a interface MLflow dentro de um iframe e pode ser adaptado para branding e integração com outras ferramentas internas.
  • Flask reverse proxy: Serviço Python hospedado em uma instância Amazon EC2 que intercepta requisições, assina com SigV4 usando credenciais temporárias de um papel IAM, reescreve URLs e remove cabeçalhos que impediriam a renderização em iframe.
  • Amazon SageMaker AI MLflow Apps: Backend totalmente gerenciado que oferece rastreamento de experimentos, métricas, parâmetros, artefatos e registro de modelos, sem necessidade de manutenção de infraestrutura.

Disponibilidade e custos envolvidos

A solução pode ser implementada em qualquer conta AWS que possua permissões para criar recursos como VPCs, EC2, ALB, SageMaker AI e IAM roles. Os principais custos envolvem instâncias EC2, Application Load Balancer, recursos Amazon SageMaker AI e armazenamento em Amazon S3. Para orçar os custos, a AWS recomenda o uso do AWS Pricing Calculator.

Passo a passo para implantação da solução

Pré-requisitos

  • Conta AWS ativa e configurada.
  • AWS CLI v2.34.5 ou superior.
  • Python 3.13 ou superior instalado localmente.
  • AWS CDK v2 (aws-cdk-lib 2.243.0 ou superior) instalado e bootstrapped na conta e região alvo.
  • Node.js 18.x ou superior.
  • Permissões IAM suficientes para criar recursos citados.
  • AMI Ubuntu 24.04 LTS disponível na região (resolvido automaticamente via SSM Parameter Store).
  • Conhecimentos básicos em AWS, IAM, Python, Flask e MLflow.

Implantação

  1. Clone o repositório oficial da AWS com o código da solução:
    git clone https://github.com/aws-samples/sample-sagemaker-mlflow-embedded-ui.git
    cd sample-sagemaker-mlflow-embedded-ui
    npm install
  2. Configure as variáveis de ambiente com sua conta e região AWS:
    export CDK_DEFAULT_ACCOUNT=<seu-account-id>
    export CDK_DEFAULT_REGION=<sua-regiao>
    export AWS_DEFAULT_REGION=<sua-regiao>
    export AWS_REGION=<sua-regiao>
  3. Se necessário, faça o bootstrap do ambiente CDK:
    cdk bootstrap aws://<ACCOUNT_ID>/<REGION>
  4. Execute o script de implantação que cria a infraestrutura e a aplicação MLflow:
    bash deploy.sh
  5. Conecte-se à instância EC2 criada via AWS Systems Manager Session Manager e instale Python 3.13 e dependências:
    sudo su -
    cd /root
    chmod +x install_python13.sh
    ./install_python13.sh
    chmod +x setup_mlflow_proxy_app.sh
    ./setup_mlflow_proxy_app.sh
  6. Verifique se o serviço Flask proxy está ativo:
    systemctl status mlflowproxy

    Caso não esteja, cheque os logs:

    journalctl -u mlflowproxy

Validação da implantação

  • Acesse a URL do Application Load Balancer (ALB) fornecida na saída do deploy para abrir o portal React com o MLflow UI embutido.
  • Teste o endpoint de saúde:
    curl http://<ALB-URL>/health

    Deve retornar {"status": "healthy"}.

  • Utilize a API REST do MLflow para criar experimentos, runs, e registrar métricas e parâmetros, por exemplo:
    curl -X POST http://<ALB-URL>/api/2.0/mlflow/experiments/create -H "Content-Type: application/json" -d '{"name": "meu-primeiro-experimento"}'
  • Atualize o portal para conferir os dados registrados no UI.

Limpeza dos recursos

Para evitar cobranças, execute o script de limpeza que remove os recursos na ordem correta:

bash cleanup.sh

O bucket S3 usado para artefatos MLflow precisa ser deletado manualmente, conforme orientações da AWS.

Considerações e próximos passos para produção

  • Adicione autenticação SSO ao portal via integração com Amazon Cognito ou Okta no ALB.
  • Implemente conectividade privada usando AWS PrivateLink para evitar tráfego pela internet pública.
  • Configure monitoramento com Amazon CloudWatch para o serviço Flask proxy.
  • Utilize AWS WAF para limitar taxa de requisições e proteger contra ataques DoS.
  • Habilite HTTPS no ALB com certificados gerenciados pelo AWS Certificate Manager (ACM).

Links úteis para implementação


Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.