升级代理的设置 - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

升级代理的设置

注意

Apache Spark 升级代理使用跨区域推理来处理自然语言请求并生成响应。欲了解更多详情,请参阅此页面Apache Spark 升级代理的跨区域处理。Amazon SageMaker Unified Studio MCP 服务器处于预览状态,可能会发生变化。

先决条件

在我们开始与 Kiro CLI 集成的设置过程之前,请确保在您的工作站上安装了以下内容:

安装资源

您可以使用 CloudFormation 模板为 MCP 服务器设置资源。这些模板是您应修改以满足要求的示例。该模板为升级过程创建了以下资源:

  • IAM 角色,该角色具有调用 MCP 服务器的权限以及底层 EMR 平台升级过程所需的权限。

  • 用于上传升级项目的 Amazon S3 暂存存储桶和用于 Amazon S3 加密的可选 KMS 密钥。

选择下表中的 Launch Stack (启动堆栈) 按钮之一。这将在相应区域的主 CloudFormation 机上启动堆栈。

Region 启动
美国东部(弗吉尼亚州北部)
美国东部(俄亥俄州)
美国西部(俄勒冈州)
欧洲(爱尔兰)
亚太区域(东京)
亚太地区(新加坡)
亚太地区(悉尼)
加拿大(中部)
南美洲(圣保罗)
欧洲地区(法兰克福)
欧洲地区(斯德哥尔摩)
欧洲地区(伦敦)
欧洲地区(巴黎)
亚太地区(首尔)
亚太地区(孟买)

进入指定堆栈详细信息页面,输入堆栈名称。在 Parameters(参数)下输入其他信息。提供以下信息,然后继续创建堆栈。

  • SparkUpgradeIAMRole名称-用于 Spark 升级过程的 IAM 角色的名称

  • 启用 EMREC2-启用 EMR-EC2 升级权限(默认值:true)

  • 启用 EMRServerless-启用 EMR 无服务器升级权限(默认值:true)

  • StagingBucketPath-Amazon S3 暂存工件的路径(例如 s3://my bucket/spark-upgrade or my-bucket/spark-升级)。留空以自动生成新的存储桶

  • uses3Encry ption-为 Amazon S3 暂存存储桶启用 KMS 加密(默认:false,设置为 true 以使用 KMS 加密而不是默认 S3 加密)

  • S3 KmsKeyArn-(可选)用于 Amazon S3 存储桶加密的现有 KMS 密钥的 ARN。仅当 uses3Encryption 为真且您有带有 KMS 密钥的现有存储桶时才使用

  • CloudWatchKmsKeyArn-(可选)用于 CloudWatch 日志加密的现有 KMS 密钥的 ARN(仅限 EMR Serverless,默认加密留空)

  • EMRServerlessS3 LogPath-(可选)存储 EMR 无服务器应用程序日志的 S3 路径(例如 s3://my-bucket/emr-serverless-logs or my-bucket/emr-serverless-less-logs)。如果提供,则授予 IAM 角色对这些日志的读取权限以供分析。仅在 “启用” EMRServerless 为真时使用

  • ExecutionRoleToGrantS3Acces s-(可选)现有 EMR-EC2 /EMR-Serverless 执行角色的 IAM 角色名称或 ARN,用于授予 Amazon S3 暂存存储桶访问权限。仅在创建新的暂存存储桶时适用。对于授予 EMR 任务执行角色访问暂存存储桶的权限非常有用。既支持简单角色名,也支持 ARNs 带路径。

您也可以下载并查看 CloudFormation 模板,指定上述选项,然后 CloudFormation 使用 CLI 命令自行启动模板,示例见下文:

# deploy the stack with CloudFormation CLI commands aws cloudformation deploy \ --template-file spark-upgrade-mcp-setup.yaml \ --stack-name spark-mcp-setup \ --region <your mcp server launch region> \ --capabilities CAPABILITY_NAMED_IAM \ --parameter-overrides \ ExecutionRoleToGrantS3Access=<your EMR or EMR Serverless job execution 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-mcp-setup \ --region <your mcp server launch region> \ --query "Stacks[0].Outputs[?OutputKey=='ExportCommand'].OutputValue" \ --output text

打开 “输出” 选项卡(或从上面的 desc CloudFormation ribe-stacks CLI 命令中检索),复制单行ExportCommand指令,然后在本地环境中执行该指令。单行指令示例:

export SMUS_MCP_REGION=<your mcp server launch region> && export IAM_ROLE=arn:aws:iam::111122223333:role/spark-upgrade-role-xxxxxx && export STAGING_BUCKET_PATH=<your staging bucket path>

然后在本地运行以下命令来设置 IAM 配置文件和 MCP 服务器配置

# Step 1: Configure AWS CLI Profile aws configure set profile.spark-upgrade-profile.role_arn ${IAM_ROLE} aws configure set profile.spark-upgrade-profile.source_profile <AWS CLI Profile to assume the IAM role - ex: default> aws configure set profile.spark-upgrade-profile.region ${SMUS_MCP_REGION} # Step 2: if you are using Kiro CLI, use the following command to add the MCP configuration kiro-cli-chat mcp add \ --name "spark-upgrade" \ --command "uvx" \ --args "[\"mcp-proxy-for-aws@latest\",\"https://sagemaker-unified-studio-mcp.${SMUS_MCP_REGION}.api.aws/spark-upgrade/mcp\", \"--service\", \"sagemaker-unified-studio-mcp\", \"--profile\", \"spark-upgrade-profile\", \"--region\", \"${SMUS_MCP_REGION}\", \"--read-timeout\", \"180\"]" \ --timeout 180000\ --scope global

这应该~/.kiro/settings/mcp.json会更新以包括下面的 MCP 服务器配置。

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

有关不同 MCP 客户端(例如 Kiro、Cline 和)的配置指南,请参阅使用升级代理。 GitHub CoPilot