Uma instância é um ambiente de execução isolado criado a partir de um modelo. Você pode criar instâncias pelo console ou SDK e executar operações como acesso ao terminal, área de trabalho VNC, gerenciamento de arquivos, invocação de service, pausa e retomada, salvamento como modelo e recuperação por expiração na página de detalhes da instância.
Visão geral
A instância representa a camada mais baixa na hierarquia de recursos de três níveis do PAI-Instant Service (espaço > modelo > instância). Cada instância:
Executa em isolamento: possui kernel de sistema operacional convidado, sistema de arquivos e credenciais de acesso próprios.
Tem ciclo de vida independente: pode ser criada, pausada, retomada e excluída autonomamente.
Possui propriedades exclusivas: inclui ID da instância, Access Token, sistema de arquivos, URL de acesso e portas de service.
Para obter o modelo completo de recursos de três níveis, consulte Instant Service overview — Resource hierarchy.
Observações de uso
Conexões persistentes com duração superior a 24 horas não têm garantia de estabilidade.
Criar uma instância
Criação pelo console
O PAI-Instant Service oferece três pontos de entrada no console para criar instâncias:
Ponto de entrada 1: Na bancada do Instant Service, clique em Create Instance.
Ponto de entrada 2: Na lista Private Templates/Public Templates, selecione a ação Create Instance do modelo desejado.
Ponto de entrada 3: Na página de detalhes do modelo, clique em Create Instance na lista de instâncias.
Na caixa de diálogo Create Instance, configure os seguintes parâmetros:
|
Parâmetro |
Obrigatório |
Descrição |
|
Template |
Sim |
Modelo que servirá de base para a instância. |
|
Expiration time |
Sim |
Tempo máximo de vida da instância, como 1 hora. Ative a opção Never Expires para desativar a expiração (não recomendado para produção). |
|
Environment variables |
Não |
Variáveis de ambiente visíveis dentro da instância, no formato chave-valor. |
|
Custom tags |
Não |
Tags de chave-valor para a instância, úteis para pesquisa e categorização. |
Clique em Create Instance para criar a instância.
Criação com o SDK
O PAI-Instant Service é nativamente compatível com o E2B SDK. O uso é idêntico ao do E2B:
import os
from e2b import Sandbox
# Set authentication credentials
os.environ["E2B_API_KEY"] = "<YOUR-TOKEN>"
os.environ["E2B_DOMAIN"] = "sandbox01.cn-shanghai.pai-eas.aliyuncs.com"
# Create an instance
sandbox = Sandbox.create(
template="<YOUR-TEMPLATE-ID>",
timeout=300000,
)
print(f"Sandbox ID: {sandbox.sandbox_id}")
Na página Template Details, clique em SDK Access no canto superior direito para visualizar a configuração de conexão do SDK e o código de exemplo em Python. Para mais detalhes sobre a API, consulte E2B SDK integration.
Usar uma instância
Visualizar detalhes da instância
Acesse a bancada do Instant Service, localize a instância desejada na lista de instâncias e clique em Details na coluna Actions para abrir a página de detalhes da instância.
A página de detalhes da instância exibe:
Especificações de recursos: CPU, memória e disco.
Informações de status: status (Running/Paused) e tempo de atividade.
Informações básicas: ID da instância, modelo, horário de criação, horário de expiração, ID do usuário RAM, ID da conta Alibaba Cloud e Access Token.
Metadados: pares chave-valor como
sandbox.alicloud.com/service-nameeuserId.
Abrir um terminal
Clique em Open Terminal para abrir uma janela do Web Terminal. O terminal exibe o ID da instância, o ID do modelo e o tempo limite da sessão (tempo limite de ociosidade de 10 minutos e máximo de 30 minutos por padrão).
Execute qualquer comando de shell diretamente no terminal. Isso equivale a chamar sandbox.commands.run() via SDK e é útil para depurar e verificar seu ambiente.
Abrir o VNC
Para modelos do tipo Desktop, clique em Open VNC para iniciar uma sessão de área de trabalho remota.
O service noVNC deve escutar na porta 6080. O frontend redireciona para essa porta para permitir o acesso à área de trabalho remota.
O VNC é útil para:
Depurar aplicações que exigem interface gráfica.
Verificar visualmente a automação de navegadores (como Playwright e Selenium).
Realizar testes de GUI e capturar screenshots.
Gerenciar arquivos
A página de detalhes da instância oferece um painel File Management com visualização em árvore de diretórios:
Navegue pela estrutura de diretórios dentro da instância, como
bin,boot,code,dev,etcehome.Crie pastas, faça upload de arquivos, atualize a visualização, navegue um nível acima e retorne ao diretório raiz.
Visualize tamanhos de arquivos e horários de modificação.
O gerenciamento de arquivos equivale a chamar sandbox.files.read() / sandbox.files.write() via SDK, permitindo acessar rapidamente os resultados da execução sem sair do console.
Invocar services
O painel Service Invocation fornece uma interface de interação HTTP para chamar services em execução dentro da instância.
Opções de configuração:
Método de requisição: GET, POST, PUT, DELETE, entre outros.
Porta: porta de escuta do service dentro da instância.
Caminho: caminho da URL para a requisição, como
/health.Cabeçalhos da requisição: cabeçalhos HTTP personalizados, como
Content-Type: application/json.URL de pré-visualização: URL completa da requisição montada pelo sistema, que pode ser copiada e usada diretamente.
Clique em Send Request. O painel HTTP Interaction History à direita exibe o conteúdo da requisição e da resposta para depuração em tempo real.
Acesso externo aos services da instância: Services em execução dentro da instância recebem automaticamente uma URL acessível publicamente no formato https://<port>-<sandbox-id>.<domain>/<path>. Chame essa URL diretamente de qualquer cliente HTTP sem necessidade de mapeamento adicional de portas.
Visualizar logs de requisição
Mude para a aba Request Logs para visualizar todas as requisições HTTP encaminhadas à instância pelo plano de dados. Utilize esses logs para auditoria e solução de problemas.
Pausar e retomar
Pause e retome instâncias para preservar seu estado visando recuperação posterior ou para salvá-las como modelos.
Pausar: Clique em Pause na lista de instâncias ou chame
sandbox.pause(). O estado da instância é persistido no armazenamento da instância.Retomar: Clique em Resume na lista de instâncias ou chame
Sandbox.connect("<sandbox-id>"). A instância recupera rapidamente o estado de execução.
Uma instância pausada continua sendo faturada à mesma taxa de uma instância em execução (incluindo CPU, memória e disco do sistema). Para reduzir custos, exclua instâncias que não estejam mais em uso. Para detalhes, consulte Billing.
Salvar como modelo
Salve o estado atual de uma instância, incluindo arquivos, dependências instaladas e processos em execução, como um novo modelo para reutilização do ambiente.
Cenários típicos:
Após concluir alterações de código e configurações de ambiente durante o desenvolvimento, salve a instância como modelo para evitar a reconstrução da imagem a cada mudança.
Capture um ambiente de execução de agente totalmente configurado como um modelo padrão para reutilização pela equipe.
Pré-requisitos: O Instant Service deve ter uma Enterprise Edition Image Instance configurada (Standard ou Enterprise Edition).
Procedimento:
Pause a instância que deseja salvar como modelo.
Clique em Save as Template.
Insira um nome e uma descrição para o novo modelo.
Clique em OK. O sistema cria um novo modelo com base no estado atual da instância.
O novo modelo aparece na lista Private Templates da bancada do Instant Service.
Expiração e recuperação de instâncias
As instâncias são recuperadas pelos seguintes mecanismos:
Destruição automática ao atingir o tempo de expiração especificado na criação.
Exclusão manual pelo console ou SDK.
Estender o tempo limite da instância
É possível estender o tempo limite de duas maneiras:
|
Método |
Comportamento |
|
|
Estende o tempo limite ao reconectar. Se a instância estiver pausada, ela será retomada automaticamente com o novo tempo limite. Se estiver em execução, o tempo limite só será estendido quando o |
|
|
Define explicitamente um novo tempo limite. Redefine a expiração para o horário atual mais o valor de tempo limite especificado. |
Próximos passos
Gerencie instâncias pelo SDK: E2B SDK integration
Visualize métricas de monitoramento e dados de desempenho da instância: Monitoring and performance metrics