本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
升级代理的设置
注意
Apache Spark 升级代理使用跨区域推理来处理自然语言请求并生成响应。欲了解更多详情,请参阅此页面Apache Spark 升级代理的跨区域处理。Amazon SageMaker Unified Studio MCP 服务器处于预览状态,可能会发生变化。
先决条件
在我们开始与 Kiro CLI 集成的设置过程之前,请确保在您的工作站上安装了以下内容:
-
AWS 配置的本地证书(通过 AWS CLI、环境变量或 IAM 角色)-用于本地操作,例如上传升级后的作业工件以执行 EMR 验证任务。
安装资源
您可以使用 CloudFormation 模板为 MCP 服务器设置资源。这些模板是您应修改以满足要求的示例。该模板为升级过程创建了以下资源:
-
IAM 角色,该角色具有调用 MCP 服务器的权限以及底层 EMR 平台升级过程所需的权限。
-
用于上传升级项目的 Amazon S3 暂存存储桶和用于 Amazon S3 加密的可选 KMS 密钥。
选择下表中的 Launch Stack (启动堆栈) 按钮之一。这将在相应区域的主 CloudFormation 机上启动堆栈。
进入指定堆栈详细信息页面,输入堆栈名称。在 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 模板
# 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