

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á.

# O que é o agente de solução de problemas do Apache Spark para o Amazon EMR
<a name="spark-troubleshoot"></a>

## Introdução
<a name="spark-troubleshooting-agent-intro"></a>

O agente de solução de problemas do Apache Spark para Amazon EMR é um recurso de IA conversacional que simplifica a solução de problemas de aplicativos Apache Spark no Amazon EMR, Glue e Amazon Notebooks. AWS SageMaker A solução de problemas tradicional do Spark exige uma ampla análise manual de registros, métricas de desempenho e padrões de erro para identificar as causas principais e as correções de código. O agente simplifica esse processo por meio de solicitações em linguagem natural, análise automatizada da carga de trabalho e recomendações inteligentes de código.

Você pode usar o agente para solucionar problemas PySpark e falhas nos aplicativos Scala. O agente analisa seus trabalhos fracassados, identifica gargalos de desempenho e fornece recomendações práticas e correções de código, ao mesmo tempo em que oferece controle total sobre as decisões de implementação.

**nota**  
O agente de solução de problemas do Apache Spark está disponível sem custo adicional como parte do Amazon EMR. O agente fornece somente análises e recomendações. Você paga somente pelos recursos do Amazon EMR que usa ao executar seus aplicativos para validar as correções recomendadas.

## Visão geral da arquitetura
<a name="spark-troubleshooting-agent-architecture"></a>

O agente de solução de problemas tem três componentes principais: um assistente de IA compatível com MCP em seu ambiente de desenvolvimento para interação, o [MCP Proxy](https://github.com/aws/mcp-proxy-for-aws), AWS que gerencia a comunicação e a autenticação seguras entre seu cliente e os AWS serviços, e o servidor MCP remoto do Amazon SageMaker Unified Studio, `(preview)` que fornece ferramentas especializadas de solução de problemas do Spark para Amazon EMR, Glue e Amazon Notebooks. AWS SageMaker Este diagrama ilustra como você interage com o servidor MCP remoto do Amazon SageMaker Unified Studio por meio do seu assistente de IA.

![\[Arquitetura do agente de solução de problemas do Spark.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ReleaseGuide/images/spark-troubleshooting-agent-architecture.png)


O assistente de IA orquestrará a solução de problemas usando ferramentas especializadas fornecidas pelo servidor MCP seguindo estas etapas:
+ **Extração de recursos e criação de contexto:** o agente coleta e analisa automaticamente os dados de telemetria do seu aplicativo Spark, incluindo registros do Spark History Server, configurações e rastreamentos de erros. Ele extrai as principais métricas de desempenho, padrões de utilização de recursos e assinaturas de falhas para criar um perfil de contexto abrangente para solução de problemas inteligente.
+ **Analisador de causas raiz e mecanismo de recomendação GenAI:** o agente aproveita os modelos de IA e a base de conhecimento do Spark para correlacionar os recursos extraídos e identificar as causas-raiz de problemas ou falhas de desempenho. Ele fornece informações de diagnóstico e análise do que deu errado na execução do aplicativo Spark.
+ **Recomendação de código GenAI Spark:** Com base na análise da causa raiz da etapa anterior, o agente analisa seus padrões de código existentes e identifica operações ineficientes que precisam de correções de código para falhas de aplicativos. Ele fornece recomendações práticas, incluindo modificações de código específicas, ajustes de configuração e melhorias arquitetônicas com exemplos concretos.

**Topics**
+ [Introdução](#spark-troubleshooting-agent-intro)
+ [Visão geral da arquitetura](#spark-troubleshooting-agent-architecture)
+ [Configuração do agente de solução de problemas](spark-troubleshooting-agent-setup.md)
+ [Usando o agente de solução de problemas](spark-troubleshooting-using-troubleshooting-agent.md)
+ [Características e capacidades](spark-troubleshooting-features.md)
+ [Solução de problemas e perguntas e respostas](spark-troubleshooting-agent-troubleshooting.md)
+ [Detalhes do fluxo de trabalho do agente de solução de problemas do Spark](spark-troubleshooting-agent-workflow.md)
+ [Exemplos imediatos](spark-troubleshooting-agent-prompt-examples.md)
+ [Configuração da função do IAM](spark-troubleshooting-agent-iam-setup.md)
+ [Usando as ferramentas de solução de problemas do Spark](spark-troubleshooting-agent-using-tools.md)
+ [Configurando endpoints VPC de interface para SageMaker Amazon Unified Studio MCP](spark-troubleshooting-agent-vpc-endpoints.md)
+ [Processamento entre regiões para o agente de solução de problemas do Apache Spark](spark-troubleshooting-cross-region-processing.md)
+ [Registro de chamadas MCP do Amazon SageMaker Unified Studio usando AWS CloudTrail](spark-troubleshooting-cloudtrail-integration.md)
+ [Melhorias de serviço para agentes Apache Spark](spark-agents-service-improvements.md)

# Configuração do agente de solução de problemas
<a name="spark-troubleshooting-agent-setup"></a>

**nota**  
O agente de solução de problemas do Apache Spark usa inferência entre regiões para processar solicitações de linguagem natural e gerar respostas. Para obter mais detalhes, consulte[Processamento entre regiões para o agente de solução de problemas do Apache Spark](spark-troubleshooting-cross-region-processing.md). O servidor MCP do Amazon SageMaker Unified Studio está em versão prévia e está sujeito a alterações.

## Pré-requisitos
<a name="spark-troubleshooting-agent-prerequisites"></a>

Antes de iniciarmos nosso processo de configuração para integração com o Kiro CLI, verifique se você tem o seguinte instalado em sua estação de trabalho:
+  [Instale a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 
+  [Instale o Python 3.10\$1](https://www.python.org/downloads/release/python-3100/) 
+  [Instale o gerenciador de `uv` pacotes do](https://docs.astral.sh/uv/getting-started/installation/) [MCP Proxy](https://github.com/aws/mcp-proxy-for-aws?tab=readme-ov-file) para AWS
+  [Instale o Kiro CLI](https://kiro.dev/docs/cli/) 
+ AWS credenciais locais configuradas (via [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html), variáveis de ambiente ou funções do IAM) - para operações locais, como upload de artefatos de trabalho atualizados para execução de trabalhos de validação do EMR.

## Recursos de configuração
<a name="spark-troubleshooting-agent-setup-resources"></a>

Você pode usar um AWS CloudFormation modelo para configurar o recurso para o servidor MCP. Esses modelos são exemplos que você deve modificar para atender aos seus requisitos. O modelo cria os seguintes recursos para o processo de solução de problemas:

1. Função do IAM que tem permissões para chamar o MCP Server e permissões necessárias para o processo de solução de problemas da plataforma selecionada.

Escolha um dos botões **Launch Stack (Iniciar pilha)** na tabela a seguir. Isso inicia a pilha no AWS CloudFormation console na respectiva região.


| Região | início | 
| --- | --- | 
| Leste dos EUA (Ohio) |  [https://console.aws.amazon.com/cloudformation/home?region=us-east-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-east-2.s3.us-east-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=us-east-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-east-2.s3.us-east-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Leste dos EUA (N. da Virgínia) |  [https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-east-1.s3.us-east-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-east-1.s3.us-east-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Oeste dos EUA (Oregon) |  [https://console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-west-2.s3.us-west-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-west-2.s3.us-west-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Ásia-Pacífico (Tóquio) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-northeast-1.s3.ap-northeast-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-northeast-1.s3.ap-northeast-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Europa (Irlanda) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-west-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-1.s3.eu-west-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-west-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-1.s3.eu-west-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Ásia-Pacífico (Singapura) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-southeast-1.s3.ap-southeast-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-southeast-1.s3.ap-southeast-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Ásia-Pacífico (Sydney) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-southeast-2.s3.ap-southeast-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-southeast-2.s3.ap-southeast-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Canadá (Central) |  [https://console.aws.amazon.com/cloudformation/home?region=ca-central-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ca-central-1.s3.ca-central-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ca-central-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ca-central-1.s3.ca-central-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| América do Sul (São Paulo) |  [https://console.aws.amazon.com/cloudformation/home?region=sa-east-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-sa-east-1.s3.sa-east-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=sa-east-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-sa-east-1.s3.sa-east-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Europa (Frankfurt) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-central-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-central-1.s3.eu-central-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-central-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-central-1.s3.eu-central-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Europa (Estocolmo) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-north-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-north-1.s3.eu-north-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-north-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-north-1.s3.eu-north-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Europa (Londres) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-west-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-2.s3.eu-west-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-west-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-2.s3.eu-west-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Europa (Paris) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-west-3#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-3.s3.eu-west-3.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-west-3#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-3.s3.eu-west-3.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Ásia-Pacífico (Seul) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-northeast-2.s3.ap-northeast-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-northeast-2.s3.ap-northeast-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Ásia-Pacífico (Mumbai) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-south-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-south-1.s3.ap-south-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-south-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-south-1.s3.ap-south-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 

Vá até a página **Especificar detalhes da pilha** e insira o nome da **pilha**. Insira informações adicionais em **Parameters** (Parâmetros). Forneça as informações a seguir e continue criando a pilha.
+ **TroubleshootingRoleName**- Nome da função do IAM a ser criada para operações de solução de problemas
+ **Habilitar EMREC2** - Ative as permissões de solução de problemas do EMR-EC2 (padrão: true)
+ **Ativar EMRServerless** - Ative as permissões de solução de problemas sem servidor do EMR (padrão: true)
+ **EnableGlue**- Ative as permissões de solução de problemas do Glue (padrão: true)
+ **CloudWatchKmsKeyArn**- (Opcional) ARN da chave KMS existente para criptografia de CloudWatch registros (somente EMR Serverless, deixe em branco para criptografia padrão)

Você também pode baixar e revisar [o CloudFormation modelo](https://github.com/aws-samples/aws-emr-utilities/blob/03c20fece616de23ec0ea5389f0113a5bc65fc3a/utilities/apache-spark-agents/spark-troubleshooting-agent-cloudformation/spark-troubleshooting-mcp-setup.yaml), especificar as opções acima e iniciar o modelo sozinho com os comandos da CloudFormation CLI. Veja abaixo um exemplo:

```
# deploy the stack with CloudFormation CLI commands
aws cloudformation deploy \
  --template-file spark-troubleshooting-mcp-setup.yaml \
  --stack-name spark-troubleshooting-mcp-setup \
  --region <your Spark MCP server launch region> \
  --capabilities CAPABILITY_NAMED_IAM \
  --parameter-overrides \
    TroubleshootingRoleName=spark-troubleshooting-role


# retrieve the 1-line instruction to set the local environment variables, which will be used for the following MCP server configuration
aws cloudformation describe-stacks \
  --stack-name spark-troubleshooting-mcp-setup \
  --region <your Spark MCP server launch region> \
  --query "Stacks[0].Outputs[?OutputKey=='ExportCommand'].OutputValue" \
  --output text
```

Abra a guia Saídas (ou recupere do comando da CLI CloudFormation describe-stacks acima) e copie a instrução de 1 linha da saída para definir suas variáveis de ambiente e, em CloudFormation seguida, execute-a em seu ambiente local. Exemplo de instrução de 1 linha:

```
export SMUS_MCP_REGION=<your mcp server launch region> && export IAM_ROLE=arn:aws:iam::111122223333:role/spark-troubleshooting-role-xxxxxx
```

Em seguida, execute o seguinte comando localmente para definir o perfil do IAM e a configuração do servidor MCP:

```
# Step 1: Configure AWS CLI Profile
aws configure set profile.smus-mcp-profile.role_arn ${IAM_ROLE}
aws configure set profile.smus-mcp-profile.source_profile <AWS CLI Profile to assume the IAM role - ex: default>
aws configure set profile.smus-mcp-profile.region ${SMUS_MCP_REGION}

# Step 2: if you are using kiro CLI, use the following command to add the MCP configuration
# Add Spark Troubleshooting MCP Server
kiro-cli-chat mcp add \
    --name "sagemaker-unified-studio-mcp-troubleshooting" \
    --command "uvx" \
    --args "[\"mcp-proxy-for-aws@latest\",\"https://sagemaker-unified-studio-mcp.${SMUS_MCP_REGION}.api.aws/spark-troubleshooting/mcp\", \"--service\", \"sagemaker-unified-studio-mcp\", \"--profile\", \"smus-mcp-profile\", \"--region\", \"${SMUS_MCP_REGION}\", \"--read-timeout\", \"180\"]" \
    --timeout 180000 \
    --scope global
    
# Add Spark Code Recommendation MCP Server
kiro-cli-chat mcp add \
    --name "sagemaker-unified-studio-mcp-code-rec" \
    --command "uvx" \
    --args "[\"mcp-proxy-for-aws@latest\",\"https://sagemaker-unified-studio-mcp.${SMUS_MCP_REGION}.api.aws/spark-code-recommendation/mcp\", \"--service\", \"sagemaker-unified-studio-mcp\", \"--profile\", \"smus-mcp-profile\", \"--region\", \"${SMUS_MCP_REGION}\", \"--read-timeout\", \"180\"]" \
    --timeout 180000 \
    --scope global
```

Isso deve ser atualizado `~/.kiro/settings/mcp.json` para incluir a configuração do servidor MCP conforme abaixo.

```
{
  "mcpServers": {
    "sagemaker-unified-studio-mcp-troubleshooting": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://sagemaker-unified-studio-mcp.us-east-1.api.aws/spark-troubleshooting/mcp",
        "--service",
        "sagemaker-unified-studio-mcp",
        "--profile",
        "smus-mcp-profile",
        "--region",
        "us-east-1",
        "--read-timeout",
        "180"
      ],
      "timeout": 180000,
      "disabled": false
    },
    "sagemaker-unified-studio-mcp-code-rec": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://sagemaker-unified-studio-mcp.us-east-1.api.aws/spark-code-recommendation/mcp",
        "--service",
        "sagemaker-unified-studio-mcp",
        "--profile",
        "smus-mcp-profile",
        "--region",
        "us-east-1",
        "--read-timeout",
        "180"
      ],
      "timeout": 180000,
      "disabled": false
    }
  }
}
```

Consulte [Interfaces suportadas](spark-troubleshooting-using-troubleshooting-agent.md#supported-interfaces) a orientação de configuração para diferentes clientes MCP, como Kiro, Cline e. GitHub CoPilot

# Usando o agente de solução de problemas
<a name="spark-troubleshooting-using-troubleshooting-agent"></a>

## Modos de implantação suportados
<a name="supported-deployment-modes"></a>

O agente de solução de problemas do Apache Spark para Amazon EMR oferece suporte a recursos abrangentes de análise para cargas de trabalho do Spark com falha, incluindo diagnóstico automatizado de erros, identificação de gargalos de desempenho, recomendações de código e sugestões práticas para melhorar o desempenho do aplicativo no seguinte modo de implantação do Spark:
+ EMR no EC2
+ Tecnologia sem servidor do EMR
+ AWS Glue

Consulte [Características e capacidades](spark-troubleshooting-features.md) para entender os recursos, capacidades e limitações detalhados.

## Interfaces suportadas
<a name="supported-interfaces"></a>

### Solução de problemas de células nos Amazon SageMaker Notebooks
<a name="troubleshooting-sagemaker-notebooks"></a>

Uma demonstração da experiência de solução de problemas com Amazon SageMaker Notebooks. Para qualquer falha na célula do Notebook, você pode solicitar ao Amazon SageMaker Notebook Agent que solucione a falha para solicitar a análise, seguida pela possível correção do código, se o erro resultar do código, clicando no `Fix with AI` botão.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/btW8hwio0tE/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/btW8hwio0tE)


### Solução de problemas de aplicativos Glue e EMR Spark com o Kiro CLI
<a name="troubleshooting-glue-emr-applications"></a>

Inicie o Kiro CLI ou seu assistente de IA e verifique as ferramentas carregadas para o processo de solução de problemas.

```
...
 sagemaker-unified-studio-mcp-code-rec (MCP)
 - spark_code_recommendation    not trusted
 
 sagemaker-unified-studio-mcp-troubleshooting (MCP)
 - analyze_spark_workload       not trusted
...
```

Agora você está pronto para iniciar o fluxo de trabalho do agente de solução de problemas do Spark.

Uma demonstração da experiência de solução de problemas com o Kiro CLI. Você pode simplesmente iniciar o processo de solução de problemas com o seguinte prompt:

```
Analyze my Glue job. The job name is "xxx" and the job run id is "xxx"
```

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/YLwV_EenJXY/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/YLwV_EenJXY)


### Integração com outros clientes MCP
<a name="integration-other-mcp-clients"></a>

A configuração descrita em também [Configuração do agente de solução de problemas](spark-troubleshooting-agent-setup.md) pode ser usada em outros clientes MCP e IDEs para se conectar ao servidor MCP gerenciado:
+ **Integração com o Cline** - Para usar o MCP Server com o Cline, modifique `cline_mcp_settings.json` e adicione a configuração acima. Consulte a [documentação da Cline](https://docs.cline.bot/mcp/configuring-mcp-servers) para obter mais informações sobre como gerenciar a configuração do MCP.
+ **Integração com o Claude Code** Para usar o MCP Server com o Claude Code, modifique o arquivo de configuração para incluir a configuração MCP. O caminho do arquivo varia de acordo com o sistema operacional. Consulte [ https://code.claude.com/docs/en/mcp](https://code.claude.com/docs/en/mcp) para obter uma configuração detalhada.
+ **Integração com o GitHub Copilot** - Para usar o servidor MCP com o GitHub Copilot, siga as instruções em [ https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp/extend- copilot-chat-with-mcp](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp) para modificar o arquivo de configuração correspondente e siga as instruções de cada IDE para ativar a configuração.

# Características e capacidades
<a name="spark-troubleshooting-features"></a>

## Plataformas com suporte
<a name="supported-platforms"></a>
+ **Linguagens**: aplicativos Python e Scala Spark
+ **Plataformas de destino**: Amazon EMR, EMR Serverless e Glue AWS 

## Como funciona
<a name="how-it-works"></a>

Quando seu aplicativo Spark falhar, você pode usar o agente de solução de problemas para investigar automaticamente o que deu errado. Ele analisa seus registros de eventos, mensagens de erro e uso de recursos do Spark para identificar o problema exato, seja um executor do Spark com falta de memória, um erro de configuração ou um bug de código.

Quando você solicita que um prompt em linguagem natural analise sua carga de trabalho do Spark, o agente se conecta aos recursos da sua plataforma e extrai recursos (que incluem registros de eventos do Spark, planos de consulta, cronogramas do executor, rastreamentos de registros, configurações e métricas):
+ No EMR-EC2: ele se conecta à interface persistente do [EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/app-history-spark-UI.html) para o cluster
+ No Glue: ele cria o contexto da [interface do usuário do Spark](https://docs.aws.amazon.com/glue/latest/dg/monitor-spark-ui-jobs.html) do Glue Studio para o trabalho
+ [No EMR-Serverless: ele se conecta ao EMR-Serverless Spark History Server para o trabalho](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetDashboardForJobRun.html)
+ O agente também analisa os rastreamentos da pilha de erros e os detalhes da configuração para fornecer informações práticas.

Para cargas de trabalho com falha, você obtém uma explicação clara da causa raiz e etapas específicas para corrigi-la. Se o agente detectar um problema relacionado ao código, ele fornecerá automaticamente recomendações de código para mostrar exatamente o que alterar em seu código. Você também pode solicitar sugestões em nível de código diretamente sempre que quiser, sem a análise completa.

## Regiões disponíveis
<a name="available-regions"></a>

O agente de solução de problemas do Spark está disponível nas seguintes regiões:
+ **Ásia-Pacífico**: Tóquio (ap-northeast-1), Seul (ap-northeast-2), Cingapura (ap-southeast-1), Sydney (ap-southeast-2) e Mumbai (ap-southeast-1)
+ **América do** Norte: Canadá (ca-central-1)
+ **Europa**: Estocolmo (eu-north-1), Irlanda (eu-west-1), Londres (eu-west-2), Paris (eu-west-3) e Frankfurt (eu-central-1)
+ **América do Sul**: São Paulo (sa-east-1)
+ **Estados Unidos**: Virgínia do Norte (us-east-1), Ohio (us-east-2) e Oregon (us-east-2)

## Escopo da solução de problemas do Spark e dos requisitos do usuário
<a name="scope-requirements"></a>
+ **Estados de carga de trabalho do Spark compatíveis**: as ferramentas só suportarão respostas para cargas de trabalho do Spark com falha.
+ **UI persistente do EMR:** ao analisar as cargas de trabalho do Amazon EMR-EC2, a ferramenta de análise tentará se conectar à interface persistente do EMR para recuperar as principais informações do Spark. [As considerações sobre a interface de usuário persistente do EMR estão documentadas aqui.](https://docs.aws.amazon.com/emr/latest/ManagementGuide/app-history-spark-UI.html#app-history-spark-UI-limitations)
+ **UI do Glue Studio Spark**: ao analisar as cargas de trabalho do AWS Glue, a ferramenta de análise tentará recuperar as principais informações do Spark analisando os registros de eventos do Spark do usuário no Amazon S3. O tamanho máximo permitido do registro de eventos do Spark está documentado [aqui](https://docs.aws.amazon.com/glue/latest/dg/monitor-spark-ui-jobs.html): 512 MB e 2 GB para registros contínuos.
+ **Recomendações de código:** Compatível somente com cargas de trabalho Amazon EMR-EC2 e AWS Glue para cargas de trabalho PySpark 
+ **Recursos regionais:** o agente de solução de problemas do Spark é regional e usa os recursos subjacentes do EMR nessa região para o processo de solução de problemas. A solução de problemas entre regiões não é suportada.

# Solução de problemas e perguntas e respostas
<a name="spark-troubleshooting-agent-troubleshooting"></a>

## Solução de problemas
<a name="spark-troubleshooting-common-issues"></a>

A mensagem de erro do Spark Troubleshooting Agent está disponível de maneiras diferentes para diferentes clientes MCP. Nesta página, listamos algumas orientações gerais para problemas comuns que você pode ver usando o agente de solução de problemas do Apache Spark para Amazon EMR.

Tópicos
+ [Erro: Falha ao carregar o servidor MCP](#mcp-server-failed-to-load)
+ [Observação: carregamento lento da ferramenta](#slow-tool-loading)
+ [Erro: falha na invocação da ferramenta com erro de limitação](#throttling-error)
+ [Erro: a ferramenta responde com erro do usuário](#user-error)
+ [Erro: a ferramenta responde com erro interno](#internal-error)

### Erro: Falha ao carregar o servidor MCP
<a name="mcp-server-failed-to-load"></a>
+ Verifique se suas configurações de MCP estão configuradas corretamente.
+ **Valide a sintaxe JSON:**
  + Certifique-se de que seu JSON seja válido sem erros de sintaxe
  + Verifique se há vírgulas, aspas ou colchetes ausentes
+ Verifique suas AWS credenciais locais e verifique se a política da função MCP IAM está configurada corretamente.
+ Execute /mcp para verificar a disponibilidade do servidor MCP para o caso `Kiro-CLI`

### Observação: carregamento lento da ferramenta
<a name="slow-tool-loading"></a>
+ As ferramentas podem levar alguns segundos para serem carregadas na primeira tentativa de iniciar o servidor.
+ Se as ferramentas não aparecerem, tente reiniciar o bate-papo.
+ Execute `/tools` o comando para verificar a disponibilidade da ferramenta.
+ Execute `/mcp` se o servidor for iniciado sem erros.

### Erro: falha na invocação da ferramenta com erro de limitação
<a name="throttling-error"></a>
+ Se você atingir seu limite de serviço, aguarde alguns segundos para emitir uma invocação de ferramenta caso veja a exceção de limitação.

### Erro: a ferramenta responde com erro do usuário
<a name="user-error"></a>
+ AccessDeniedException - verifique a mensagem de erro e corrija o problema de permissão.
+ InvalidInputException - verifique a mensagem de erro e corrija os parâmetros de entrada da ferramenta.
+ ResourceNotFoundException - verifique a mensagem de erro e corrija o parâmetro de entrada para referência do recurso.

### Erro: a ferramenta responde com erro interno
<a name="internal-error"></a>
+ Se você ver`The service is handling high-volume requests`, tente novamente invocar a ferramenta em alguns segundos.
+ Se você ver`INTERNAL SERVICE EXCEPTION`, documente o ID da análise, o nome da ferramenta, qualquer mensagem de erro disponível no registro do mcp ou na resposta da ferramenta e o histórico de conversas higienizado opcional e entre em contato com o suporte. AWS 

## Perguntas e respostas
<a name="spark-troubleshooting-qa"></a>

### 1. Devo habilitar a configuração de “confiança” para as ferramentas por padrão?
<a name="qa-trust-setting"></a>

Não ative a configuração “confiança” por padrão para todas as chamadas de ferramentas inicialmente e opere em um ambiente de compilação com versão git ao aceitar recomendações de código. Analise a execução de cada ferramenta para entender quais mudanças estão sendo feitas.

### 2. Quais são os exemplos comuns de instruções para aproveitar as ferramentas de solução de problemas?
<a name="qa-example-prompts"></a>

Consulte [Exemplos imediatos](spark-troubleshooting-agent-prompt-examples.md) para obter exemplos imediatos sobre como aproveitar as ferramentas de solução de problemas.

### 3. Quais dados são transmitidos ao LLM e como são tratados?
<a name="qa-data-transmitted-to-llm"></a>

Os dados e arquivos do cliente permanecem na AWS região escolhida e não são transmitidos entre regiões. Quando o agente opera em uma região que usa inferência global entre regiões do Amazon Bedrock, o serviço pode encaminhar solicitações para a região mais próxima com capacidade disponível, dependendo da demanda. Nesses casos, somente os metadados extraídos dos registros do cliente e os resultados de inferência processados são transmitidos, não os dados ou arquivos subjacentes do cliente. Todos os dados são mascarados com PII antes de serem enviados ao LLM para processamento, independentemente de a inferência ocorrer na mesma região ou ser roteada para outra região. Para obter mais detalhes sobre como a inferência entre regiões funciona e quais regiões são afetadas, consulte. [Processamento entre regiões para o agente de solução de problemas do Apache Spark](spark-troubleshooting-cross-region-processing.md)

# Detalhes do fluxo de trabalho do agente de solução de problemas do Spark
<a name="spark-troubleshooting-agent-workflow"></a>

Para iniciar o processo de solução de problemas, você precisará acessar seus identificadores de aplicativos Spark com falha em execução em plataformas compatíveis (EMR-EC2, EMR Serverless, Glue ou Amazon Data Notebooks). AWS SageMaker O aplicativo deve ter registros acessíveis, Spark History Server e detalhes de configuração. Certifique-se de ter as permissões necessárias para acessar os recursos da plataforma e os metadados do aplicativo. Depois que esses requisitos forem estabelecidos, você poderá enviar uma solicitação como a seguinte para iniciar o fluxo de trabalho de solução de problemas:

```
Analyze my EMR step execution failure, EMR id <step-id> with cluster id <cluster-id>
```

Nesse momento, o agente orquestrará a solução de problemas usando ferramentas especializadas. O fluxo de trabalho segue estas etapas:

1. **Extração de recursos e criação de contexto**: o agente coleta e analisa automaticamente os dados de telemetria do seu aplicativo Spark, incluindo registros do History Server, configurações e rastreamentos de erros. Você verá a ferramenta reunindo informações sobre métricas de desempenho, padrões de utilização de recursos e assinaturas de falhas.

1. **Análise e identificação da causa raiz**: o agente aproveita os modelos de IA e a base de conhecimento do Spark para correlacionar os recursos extraídos e identificar as causas-raiz de problemas ou falhas de desempenho. Você receberá:
   + **Analysis Insights**: detalhes técnicos sobre o que o agente descobriu e analisou.
   + **Causa raiz**: explicação clara do que deu errado e por quê.
   + **Avaliação inicial**: se o problema estiver relacionado ao código, à configuração ou aos recursos, algumas orientações e análises gerais serão fornecidas para mitigação.

1. **Recomendações de código** (se aplicável): se a análise identificar problemas relacionados ao código com base na classificação do erro, o agente pode sugerir o uso da ferramenta de recomendação de código para fornecer recomendações específicas para implementar a correção de código recomendada com o before/after código exato junto com as substituições sugeridas.

O processo de solução de problemas é iterativo: você pode continuar a conversa para se aprofundar em problemas específicos; você também pode usar as ferramentas de forma interativa em nosso desenvolvimento de código Spark local para resolver bugs de código ou melhorar seu código continuamente.

# Exemplos imediatos
<a name="spark-troubleshooting-agent-prompt-examples"></a>

Aqui está uma lista de exemplos imediatos que podem ser usados na experiência de solução de problemas.

## 1. Solucionar problemas de falha na execução do trabalho do Spark
<a name="troubleshoot-job-failure"></a>

Solução de problemas do EMR no EC2:

```
Troubleshoot my EMR-EC2 step with id s-xxxxxxxxxxxx on cluster j-xxxxxxxxxxxxx
```

Solução de problemas do Glue Job:

```
Troubleshoot my Glue job with job run id jr_xxxxxxxxxxxxxxxxxxxxxxxxxxxx and job name test_job
```

Solução de problemas do EMR Serverless:

```
Troubleshoot my EMR-Serverless job run with application id 00xxxxxxxx and job run id 00xxxxxxxx
```

## 2. Solicitação de recomendação de correção de código
<a name="request-code-fix"></a>

Solicite a recomendação de correção de código para o EMR no trabalho do EC2:

```
Recommend code fix for my EMR-EC2 step with id s-STEP_ID on cluster j-CLUSTER_ID
```

Solicite a recomendação de correção do código para o Glue job:

```
Recommend code fix for my Glue job with job run id jr_JOB_RUN_ID and job name test_job
```

# Configuração da função do IAM
<a name="spark-troubleshooting-agent-iam-setup"></a>

A CloudFormation pilha nas Instruções de configuração automatiza a configuração da função do IAM para você. Se você quiser executá-lo manualmente, siga as instruções abaixo:

## Configuração da função do IAM para o servidor MCP
<a name="iam-role-mcp-server"></a>

Para acessar o servidor MCP gerenciado do SMUS, é necessária uma função do IAM com a seguinte política em linha:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUseSagemakerUnifiedStudioMcpServer",
            "Effect": "Allow",
            "Action": [
                "sagemaker-unified-studio-mcp:InvokeMcp",
                "sagemaker-unified-studio-mcp:CallReadOnlyTool",
                "sagemaker-unified-studio-mcp:CallPrivilegedTool"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

Nas próximas etapas, criaremos um perfil para essa função. Qualquer conta que assuma essa função para obter as credenciais deve ser adicionada à política de assumir função.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccountToAssumeRole",
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::<accountId>:root" },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

## Permissões adicionais por modo de implantação (EMR-EC2/EMR-S/Glue)
<a name="additional-permissions"></a>

### Aplicativos do EMR-EC2
<a name="emr-ec2-permissions"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EMREC2ReadAccess",
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:DescribeCluster",
                "elasticmapreduce:DescribeStep",
                "elasticmapreduce:ListSteps",
                "elasticmapreduce:ListClusters",
                "elasticmapreduce:DescribeJobFlows"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "EMRS3LogAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": "*"
        },
        {
            "Sid": "EMRPersistentApp",
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:CreatePersistentAppUI",
                "elasticmapreduce:DescribePersistentAppUI",
                "elasticmapreduce:GetPersistentAppUIPresignedURL"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

### Glue Jobs
<a name="glue-permissions"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GlueReadAccess",
            "Effect": "Allow",
            "Action": [
                "glue:GetJob",
                "glue:GetJobRun",
                "glue:GetJobRuns",
                "glue:GetJobs",
                "glue:BatchGetJobs"
            ],
            "Resource": [
                "arn:aws:glue:*:<account id>:job/*"
            ]
        },
        {
            "Sid": "GlueCloudWatchLogsAccess",
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:FilterLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:<account id>:log-group:/aws/glue/*"
            ]
        },
        {
            "Sid": "GlueSparkWebUI",
            "Effect": "Allow",
            "Action": [
                "glue:RequestLogParsing",
                "glue:GetLogParsingStatus",
                "glue:GetEnvironment",
                "glue:GetStage",
                "glue:GetStages",
                "glue:GetStageFiles",
                "glue:BatchGetStageFiles",
                "glue:GetStageAttempt",
                "glue:GetStageAttemptTaskList",
                "glue:GetStageAttemptTaskSummary",
                "glue:GetExecutors",
                "glue:GetExecutorsThreads",
                "glue:GetStorage",
                "glue:GetStorageUnit",
                "glue:GetQueries",
                "glue:GetQuery",
                "glue:GetDashboardUrl"
            ],
            "Resource": [
                "arn:aws:glue:*:<account id>:job/*"
            ]
        },
        {
            "Sid": "GluePassRoleAccess",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "glue.amazonaws.com"
                }
            }
        }
    ]
}
```

### Aplicativos EMR sem servidor
<a name="emr-serverless-permissions"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EMRServerlessReadAccess",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:GetApplication",
                "emr-serverless:ListApplications",
                "emr-serverless:ListJobRuns",
                "emr-serverless:ListJobRunAttempts",
                "emr-serverless:GetDashboardForJobRun",
                "emr-serverless:ListTagsForResource"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "EMRServerlessCloudWatchLogsAccess",
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:FilterLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:<account id>:log-group:/aws/emr-serverless/*"
            ]
        },
        {
            "Sid": "EMRServerlessS3LogsAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": "*"
        }
    ]
}
```

### Permissões do KMS - Registros CloudWatch
<a name="kms-permissions"></a>

Se os CloudWatch registros forem criptografados com uma CMK, adicione a política a seguir para que o serviço possa ler os registros do aplicativo EMR-Serverless.

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt",
        "kms:DescribeKey"
    ],
    "Resource": "arn:aws:kms:<region>:<account-id>:key/<cw-logs-cmk-id>"
}
```

# Usando as ferramentas de solução de problemas do Spark
<a name="spark-troubleshooting-agent-using-tools"></a>

## Ferramentas de solução de problemas disponíveis
<a name="available-tools"></a>

O serviço MCP fornece ferramentas diferentes para o agente de solução de problemas do Spark. As principais ferramentas são as seguintes:


| Nome da ferramenta | Categoria da ferramenta | Description | 
| --- | --- | --- | 
| carga de trabalho analyze\$1spark\$1 | Análise da causa raiz | Fornece solução de problemas detalhada para cargas de trabalho do Apache Spark com falha | 
| spark\$1code\$1recommendation | Recomendação de correção de código | Fornece recomendações de código do Apache Spark para trabalhos com falha | 

# Configurando endpoints VPC de interface para SageMaker Amazon Unified Studio MCP
<a name="spark-troubleshooting-agent-vpc-endpoints"></a>

Você pode estabelecer uma conexão privada entre sua VPC e o serviço MCP do Amazon SageMaker Unified Studio criando uma interface *VPC* endpoint. Os endpoints de interface são alimentados pela [Amazon VPC](https://aws.amazon.com/vpc/), que permite que você acesse de forma privada o servidor MCP em sua VPC sem um gateway de internet, dispositivo NAT, conexão VPN ou conexão. As instâncias em sua VPC não precisam de endereços IP públicos para se comunicar com o serviço MCP, e o tráfego entre sua VPC e o serviço MCP não sai da rede Amazon.

Cada endpoint de interface é representado por uma ou mais [interfaces de rede elástica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) em suas sub-redes VPC. Para obter mais informações, consulte [Interface VPC endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) no Guia do usuário da Amazon *VPC*.

## Etapa 1: Criar uma interface VPC endpoint para o Amazon SageMaker Unified Studio MCP
<a name="create-vpc-endpoint"></a>

Você pode criar um VPC endpoint para o serviço MCP do Amazon SageMaker Unified Studio usando o console Amazon VPC ou o. AWS CLI Para obter mais informações, consulte [Criar um endpoint de interface](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) no *Guia do usuário da Amazon VPC*.

Crie um VPC endpoint para o Amazon SageMaker Unified Studio MCP usando o seguinte nome de serviço:
+ com.amazonaws. *<aws-region>*. sagemaker-unified-studio-mcp

Se você habilitar o DNS privado para o endpoint, poderá fazer solicitações de API para o Amazon SageMaker Unified Studio MCP usando seu nome DNS padrão para a região, por exemplo, `sagemaker-unified-studio-mcp.us-east-1.api.aws`

Para mais informações, consulte [Acessar um serviço por um endpoint de interface](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint) no *Guia do usuário da Amazon VPC*.

## Etapa 2: Criar uma política de VPC endpoint para o Amazon SageMaker Unified Studio MCP
<a name="create-vpc-endpoint-policy"></a>

Você pode anexar uma política de endpoint ao seu VPC endpoint que controla o acesso ao SageMaker Amazon Unified Studio MCP. Essa política especifica as seguintes informações:
+ A entidade principal que pode realizar ações.
+ As ações que podem ser realizadas.
+ Os recursos aos quais as ações podem ser aplicadas.

Para mais informações, consulte [Controlar o acesso a serviços com VPC endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) no *Guia do usuário da Amazon VPC*.

### Exemplo: política de VPC endpoint para permitir que MCP acesse uma função específica do IAM
<a name="vpc-endpoint-policy-example"></a>

Veja a seguir um exemplo de uma política de endpoint para acesso MCP do Amazon SageMaker Unified Studio. Quando anexada a um endpoint, essa política concede acesso às ações MCP listadas do Amazon SageMaker Unified Studio para uma função específica do IAM principal em todos os recursos.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::ACCOUNT-ID:role/YourRoleName"
      },
      "Action": [
        "sagemaker-unified-studio-mcp:InvokeMcp",
        "sagemaker-unified-studio-mcp:CallReadOnlyTool",
        "sagemaker-unified-studio-mcp:CallPrivilegedTool"
      ],
      "Resource": "*"
    }
  ]
}
```

## Etapa 3: testar sua VPC
<a name="test-vpc-endpoint"></a>

O `curl` comando valida a conectividade de end-to-end rede da sua rede VPC (EC2) com o VPC endpoint fazendo uma solicitação. HTTP/HTTPS Uma resposta curl recebendo uma mensagem de volta do servidor MCP confirma que o caminho completo da rede está funcionando.

### Método 1: com o DNS privado ativado (recomendado)
<a name="test-private-dns-enabled"></a>

```
curl https://sagemaker-unified-studio-mcp.us-east-1.api.aws/spark-troubleshooting/mcp
```

### Método 2: Sem o DNS privado ativado
<a name="test-private-dns-disabled"></a>

```
curl -k https://vpce-0069xxxx-ejwhxxx.sagemaker-unified-studio-mcp.us-east-1.vpce.amazonaws.com/spark-troubleshooting/mcp
```

**nota**  
O `-k` sinalizador ignora a verificação do certificado SSL devido à incompatibilidade do nome do host entre o nome DNS do VPC endpoint e o nome comum (CN) do certificado.

Em ambos os casos, o comando curl retorna uma resposta:`{"Message":"...."}`. Retornar com uma mensagem verifica a conectividade bem-sucedida do caminho de rede com o VPC endpoint do serviço MCP.

## Etapa 4: começar a usar o endpoint MCP VPC
<a name="use-vpc-endpoint"></a>

Depois de verificar a conexão, você pode seguir as etapas para configurar o MCP em[Configuração do agente de solução de problemas](spark-troubleshooting-agent-setup.md). Basta usar o endpoint VPC privado em sua configuração de MCP.

# Processamento entre regiões para o agente de solução de problemas do Apache Spark
<a name="spark-troubleshooting-cross-region-processing"></a>

O agente de solução de problemas do Apache Spark usa inferência entre regiões para processar solicitações de linguagem natural e gerar respostas. Com a inferência entre regiões, o agente encaminha automaticamente sua solicitação de inferência para otimizar o desempenho, maximizando os recursos computacionais disponíveis e a disponibilidade do modelo, além de fornecer a melhor experiência ao cliente. O tipo de inferência entre regiões usada depende da região em que você executa o Apache Spark Troubleshooting Agent. Na maioria das regiões, o agente seleciona a região ideal em sua geografia para processar suas solicitações de inferência. No entanto, em algumas regiões, uma solicitação de inferência feita pelo agente é roteada com segurança para todos os recursos computacionais disponíveis em todas as regiões comerciais globais. AWS 

## Inferência entre regiões
<a name="cross-region-inference-overview"></a>

O agente de solução de problemas do Apache Spark é desenvolvido pelo Amazon Bedrock e usa inferência entre regiões para distribuir o tráfego em diferentes AWS regiões para aprimorar o desempenho e a confiabilidade da inferência do modelo de linguagem grande (LLM).

Embora a inferência entre regiões não mude onde seu aplicativo Spark ou sua experiência de solução de problemas estão hospedados ou seus dados são armazenados, seus prompts de entrada e resultados de saída podem ser transmitidos para regiões diferentes para processamento de inferência. Todos os dados são transmitidos criptografados pela rede segura da Amazon.

Não há custo adicional para usar a inferência entre regiões.

## Regiões suportadas para inferência entre regiões
<a name="supported-regions-cross-region"></a>

 **Regiões usando inferência geográfica entre regiões** 

Para a maioria das regiões, as solicitações de inferência entre regiões são mantidas em AWS regiões que fazem parte da mesma geografia em que você executa o agente de solução de problemas do Apache Spark. Por exemplo, uma solicitação feita pelo agente na região Leste dos EUA (Norte da Virgínia) é encaminhada somente para AWS regiões dentro da geografia dos Estados Unidos da América. A tabela a seguir descreve para quais regiões suas solicitações podem ser encaminhadas, dependendo da geografia de origem da solicitação:


| Geografia suportada | Regiões de inferência | 
| --- | --- | 
|  Estados Unidos  |  Leste dos EUA (Norte da Virgínia) (us-east-1), Oeste dos EUA (Oregon) (us-west-2), Leste dos EUA (Ohio) (us-east-2), Oeste dos EUA (Norte da Califórnia) (us-west-1)  | 
|  Europa  |  Europa (Frankfurt) (eu-central-1), Europa (Irlanda) (eu-west-1), Europa (Paris) (eu-west-3), Europa (Estocolmo) (eu-north-1), Europa (Londres) (eu-west-2)  | 
|  Ásia-Pacífico  |  Ásia-Pacífico (Tóquio) (ap-northeast-1), Ásia-Pacífico (Seul) (ap-northeast-2), Ásia-Pacífico (Mumbai) (ap-south-1)  | 

### Regiões usando inferência global entre regiões
<a name="global-cross-region-inference"></a>

**Importante**  
As seguintes AWS regiões usam inferência global entre regiões. Quando você usa o agente de solução de problemas do Apache Spark nessas regiões, suas solicitações podem ser transmitidas globalmente para outras AWS regiões para processamento de inferência para otimizar o desempenho e a disponibilidade:  
América do Sul (São Paulo) (sa-east-1)
Ásia-Pacífico (Singapura) (ap-southeast-1)
Ásia-Pacífico (Sydney) (ap-southeast-2)
Canadá (Central) (ca-central-1)

# Registro de chamadas MCP do Amazon SageMaker Unified Studio usando AWS CloudTrail
<a name="spark-troubleshooting-cloudtrail-integration"></a>

O Amazon SageMaker Unified Studio MCP Server está integrado com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, função ou AWS serviço no Amazon SageMaker Unified Studio MCP Server. CloudTrail captura todas as chamadas de API para o Amazon SageMaker Unified Studio MCP Server como eventos. As chamadas capturadas incluem chamadas para o Amazon SageMaker Unified Studio MCP Server e chamadas de código para outras AWS operações durante a execução da ferramenta a partir do SageMaker Unified Studio MCP Server. Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do Amazon S3, incluindo eventos para o Amazon SageMaker Unified Studio MCP Server. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no **Histórico de eventos**. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita ao Amazon SageMaker Unified Studio MCP Server, o endereço IP a partir do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais.

Para saber mais sobre isso CloudTrail, consulte o [Guia AWS CloudTrail do usuário](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Informações do Amazon SageMaker Unified Studio MCP Server em CloudTrail
<a name="sagemaker-mcp-info-in-cloudtrail"></a>

CloudTrail é ativado em sua AWS conta quando você cria a conta. Quando a atividade ocorre no Amazon SageMaker Unified Studio MCP Server, essa atividade é registrada em um CloudTrail evento junto com outros eventos de AWS serviço no **histórico** de eventos. Você pode visualizar, pesquisar e baixar eventos recentes em sua AWS conta. Para obter mais informações, consulte [Visualização de eventos com histórico de CloudTrail eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Para um registro contínuo dos eventos em sua AWS conta, incluindo eventos do SageMaker Unified Studio MCP Server, crie uma trilha. Uma trilha permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Por padrão, quando você cria uma trilha no console, a trilha se aplica a todas as AWS regiões. A trilha registra eventos de todas as regiões na AWS partição e entrega os arquivos de log ao bucket do Amazon S3 que você especificar. Além disso, você pode configurar outros AWS serviços para analisar e agir com base nos dados de eventos coletados nos CloudTrail registros. Para saber mais, consulte:
+ [Visão geral da criação de uma trilha](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail serviços e integrações suportados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configurando notificações do Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Recebendo arquivos de CloudTrail log de várias regiões](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [Recebendo arquivos de CloudTrail log de várias contas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Todas as invocações da ferramenta SageMaker Unified Studio MCP Server e chamadas de API para AWS serviços durante as execuções da ferramenta são registradas por. CloudTrail Por exemplo, chamadas para as diferentes ferramentas e chamadas AWS de serviço feitas a partir das ferramentas geram entradas nos arquivos de CloudTrail log.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar:
+ Se a solicitação foi feita com credenciais de usuário-raiz ou usuário do IAM.
+ Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.
+ Se a solicitação foi feita por outro AWS serviço.

Para obter mais informações, consulte [Elemento userIdentity do CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Entendendo as entradas do arquivo de log do Amazon SageMaker Unified Studio MCP Server
<a name="understanding-mcp-log-entries"></a>

Uma trilha é uma configuração que permite a entrega de eventos como arquivos de log para um bucket do Amazon S3 que você especificar. CloudTrail os arquivos de log contêm uma ou mais entradas de log. Um evento representa uma única solicitação de qualquer fonte e inclui informações sobre a ação solicitada, a data e a hora da ação, os parâmetros da solicitação e assim por diante. CloudTrail os arquivos de log não são um rastreamento de pilha ordenado das chamadas públicas de API, portanto, eles não aparecem em nenhuma ordem específica.

O exemplo a seguir mostra uma entrada de CloudTrail registro que demonstra a `CallTool` ação.

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        ...
    },
    "eventTime": "...",
    "eventSource": "sagemaker-unified-studio-mcp.amazonaws.com",
    "eventName": "CallPrivilegedTool",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "...",
    "userAgent": "...",
    "requestParameters": {
        "id": 1,
        "method": "tools/call",
        "params": {
            "name": "generate_spark_upgrade_plan",
            "arguments": "***",
            "_meta": {
                "progressToken": 1
            }
        },
        "jsonrpc": "2.0"
    },
    "responseElements": {
        "result": {
            "content": "***",
            "structuredContent": "***",
            "isError": false
        },
        "id": 1,
        "jsonrpc": "2.0"
    },
    "requestID": "12345678-1234-1234-1234-123456789012",
    "eventID": "87654321-4321-4321-4321-210987654321",
    "readOnly": false,
    "eventType": "AwsMcpEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

O exemplo a seguir mostra uma entrada de CloudTrail registro que demonstra a `AddJobFlowSteps` ação do Amazon SageMaker Unified Studio MCP durante a invocação de uma ferramenta de upgrade.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "...",
        "arn": "...",
        "accountId": "123456789012",
        "accessKeyId": "...",
        "sessionContext": {
            ...
        },
        "invokedBy": "sagemaker-unified-studio-mcp.amazonaws.com"
    },
    "eventTime": "...",
    "eventSource": "elasticmapreduce.amazonaws.com",
    "eventName": "AddJobFlowSteps",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "sagemaker-unified-studio-mcp.amazonaws.com",
    "userAgent": "sagemaker-unified-studio-mcp.amazonaws.com",
    "requestParameters": {
        "jobFlowId": "j-2PY4KXXXXXX63",
        "steps": [
            ...
        ]
    },
    "responseElements": {
        "stepIds": [
            ...
        ]
    },
    "requestID": "12345678-1234-1234-1234-123456789013",
    "eventID": "87654321-4321-4321-4321-210987654322",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "sharedEventID": "12345678-1234-1234-1234-123456789012",
    "vpcEndpointId": "sagemaker-unified-studio-mcp.amazonaws.com",
    "vpcEndpointAccountId": "sagemaker-unified-studio-mcp.amazonaws.com",
    "eventCategory": "Management"
}
```

# Melhorias de serviço para agentes Apache Spark
<a name="spark-agents-service-improvements"></a>

O agente Apache Spark para Amazon EMR pode usar conteúdo, por exemplo, para ajudar o agente a fornecer melhores respostas a perguntas comuns, corrigir problemas operacionais ou para depuração.

## Conteúdo que AWS pode ser usado para melhoria do serviço
<a name="content-used-for-improvement"></a>
+ Suas solicitações em linguagem natural e respostas geradas pelos agentes do Apache Spark para Amazon EMR, Glue e Amazon Notebooks AWS SageMaker 

## Conteúdo que AWS não é usado para melhorar o serviço
<a name="content-not-used-for-improvement"></a>
+ Código que você mesmo escreve para os aplicativos Spark
+ SageMaker Contexto e metadados do notebook
+ Dados do seu AWS Glue Data Catalog ou de outras fontes de dados

Somente funcionários da Amazon terão acesso aos dados. Sua confiança, privacidade e segurança do conteúdo do cliente são nossa maior prioridade e garantem que nosso uso esteja em conformidade com nossos compromissos com você. Para obter mais informações, consulte Perguntas frequentes sobre a privacidade de dados da .

## Como optar por não participar
<a name="how-to-opt-out"></a>

Para cancelar a coleta de dados para os agentes do Apache Spark, configure uma política de exclusão de serviços de IA em Organizations AWS for Amazon SageMaker Unified Studio MCP Service. Para obter mais informações, consulte [Políticas de exclusão dos serviços de IA](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) no *Guia do usuário do AWS Organizations*.

Quando você configura uma política de exclusão de serviços de IA, ela tem os seguintes efeitos:
+ AWS excluirá os dados coletados e armazenados para melhoria do serviço antes de sua exclusão (se houver).
+ Depois de optar por não participar, não AWS coletará nem armazenará mais esses dados.
+ AWS não usará mais seu conteúdo para melhorar o serviço.