aws平台练习

  1. 注册 AWS 账户
    访问 AWS 官方网站,点击"免费注册"按钮,按照提示完成账户注册:

提供电子邮件地址、密码和电话号码。

验证身份(可能需要手机验证码)。

设置 billing 信息。

  1. 登录 AWS 管理控制台

使用注册的邮箱和密码登录 AWS 管理控制台。

  1. 配置 AWS CLI (可选但推荐)
    为了方便后续操作,建议安装并配置 AWS CLI:

下载 AWS CLI:

在 Windows 上:访问 官方链接,运行安装程序。

在 macOS/Linux 上:使用以下命令安装:

复制代码
BASH
pip install --user awscli

配置 AWS CLI:

打开终端或命令提示符,运行:

复制代码
BASH
aws configure

按照提示输入你的 AWS Access Key ID、Secret Access Key 和默认区域(例如 us-east-1)。

  1. 创建 IAM 用户和角色

为了安全起见,建议创建一个 IAM 用户并为其分配必要的权限。

步骤 1:创建 IAM 用户

打开 AWS 管理控制台,导航到 IAM 服务。

在左侧菜单中选择 Users,点击"Add user"。

填写用户名称(例如 ml-pipeline-user),选择权限类型(直接访问资源)。

点击"Next: Permissions",然后选择一个预定义策略或自定义策略:

推荐使用 AmazonSageMakerFullAccess 和 CloudWatchReadOnlyAccess 等策略。

完成创建后,记录下用户的 Access Key ID 和 Secret Access Key。

步骤 2:创建 IAM 角色

在 IAM 控制台中选择 Roles,点击"Create role"。

选择信任关系(例如 AWS Account Arn)。

添加所需的权限策略:

AmazonSageMakerFullAccess

CodePipelineFullAccess

CodeBuildFullAccess

StatesFullAccess

完成创建后,记录角色的 ARN。

  1. 创建必要的 AWS 资源

步骤 1:创建 S3 存储桶

打开 AWS 管理控制台,导航到 S3。

点击"Create bucket",填写名称(例如 ml-pipeline-bucket)。

配置存储桶的区域和访问权限。

步骤 2:创建 ECR(Elastic Container Registry)仓库

打开 AWS 管理控制台,导航到 ECR。

在区域中选择一个位置(例如 us-east-1),点击"Create repository",填写名称(例如 ml-model-repo)。

步骤 3:创建 IAM 角色并附加策略

返回 IAM 控制台,确保你已经创建了必要的角色。

确保角色已附加以下策略:

AmazonSageMakerFullAccess

CodePipelineFullAccess

CodeBuildFullAccess

StatesFullAccess

  1. 配置 CodePipeline

打开 AWS 管理控制台,导航到 CodePipeline。

点击"Start pipeline execution"或创建一个新的管道。

按照提示配置管道:

选择源(例如 S3 存储桶)。

配置构建阶段(使用 CodeBuild)。

配置部署阶段(例如 SageMaker)。

  1. 配置 CodeBuild

打开 AWS 管理控制台,导航到 CodeBuild。

点击"Create project",填写项目名称和描述。

选择构建规范(Docker 或其他),配置构建命令:

复制代码
BASH
# 示例 Dockerfile
FROM python:3.8-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "main.py"]
  1. 配置 SageMaker
    打开 AWS 管理控制台,导航到 SageMaker。
    创建一个 SageMaker 实例(例如 ml-pipeline-instance)。
    配置模型部署(例如使用推理容器)。
  2. 配置 CloudWatch 监控
    打开 AWS 管理控制台,导航到 CloudWatch。
    创建日志组和日志流,监控管道的运行状态。
  3. 测试管道
    提交代码到 S3 存储桶或直接触发 CodePipeline。
    监控管道的运行状态,确保所有阶段(构建、部署)顺利完成。

更新之后

步骤 1: 设置 AWS CLI 环境

安装 AWS CLI:

下载并安装 AWS CLI。

配置 AWS CLI:

BASH

复制代码
aws configure

按提示输入你的 AWS 凭据和区域。

步骤 2: 创建新的 IAM 角色

a. 登录 AWS 管理控制台

打开 AWS 控制台。

使用你的注册邮箱和密码登录。

b. 创建新 IAM 角色

在导航栏中选择 IAM。

选择 Roles,然后点击 Create role。

选择以下信任策略:

AmazonSageMakerFullAccess

CodePipelineReadOnlyAccess

CodeBuildDeveloperAccess

完成创建角色。

c. 添加 IAM 策略

在新角色的权限部分,添加以下策略:

复制代码
arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
arn:aws:iam::aws:policy/CodePipelineReadOnlyAccess
arn:aws:iam::aws:policy/CodeBuildDeveloperAccess

步骤 3: 更新服务 IAM 角色

a. 更新 CodePipeline

打开 CodePipeline。

选择你的管道,点击 Edit pipeline。

在 Execution role 部分,选择新创建的 IAM 角色。

保存更改。

b. 更新 StepFunctions 状态机

打开 Step Functions。

选择你的状态机,点击 Edit。

在 Execution IAM Role 中,选择新 IAM 角色。

保存并运行状态机。

c. 更新 CodeBuild 项目

打开 CodeBuild。

选择你的构建项目,点击 Edit build project。

在 Service role 部分,选择新 IAM 角色。

保存更改。

步骤 4: 测试管道

a. 提交代码到 CodeCommit

打开终端,克隆你的 CodeCommit 存储库:

复制代码
BASH
git clone https://git-codecommit.<region>.amazonaws.com/v1/repos/<repository-name>

修改 model/training_script.py 文件。

提交更改:

BASH

复制代码
git add .
git commit -m "修复IAM角色问题"
git push origin main

b. 触发 CodePipeline

在 CodePipeline 中,选择你的管道并手动运行。

步骤 5: 监控和验证

a. 检查 CloudWatch 日志

打开 CloudWatch Logs。

查看 CodeBuild 和 StepFunctions 的日志,确保没有权限相关错误。

b. 验证 SageMaker 模型训练

在 SageMaker 中,检查模型训练作业是否成功启动并完成。

代码示例

a. IAM 策略文件(iam-policy.json)

JSON

复制代码
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:CancelBuild",
                "codepipeline:Get*",
                "codepipeline:List*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "codebuild:BatchGetProjects",
                "codebuild:GetProject",
                "codebuild:StartBuild"
            ],
            "Resource": "*"
        }
    ]
}

b. 更新 CodePipeline 的 IAM 角色

BASH

复制代码
aws codepipeline update-pipeline \
--name <pipeline-name> \
--configuration '{"executionRoleArn":"arn:aws:iam::<account-id>:role/<new-role-name>"}'

注意事项

权限最小化:仅授予所需的最小权限。

日志监控:及时查看 CloudWatch 日志,排查问题。

测试环境:在非生产环境中进行测试,避免影响线上服务。

相关推荐
AKAMAI2 小时前
从客户端自适应码率流媒体迁移到服务端自适应码率流媒体
人工智能·云计算
G31135422738 小时前
从零开始 通义千问大模型本地化到阿里云通义千问API调用
阿里云·云计算
Akamai中国9 小时前
提升 EdgeWorker 可观测性:使用 DataStream 设置日志功能
人工智能·云计算·云服务
XINVRY-FPGA11 小时前
XCVP1802-2MSILSVC4072 AMD Xilinx Versal Premium Adaptive SoC FPGA
人工智能·嵌入式硬件·fpga开发·数据挖掘·云计算·硬件工程·fpga
孤廖15 小时前
终极薅羊毛指南:CLI工具免费调用MiniMax-M2/GLM-4.6/Kimi-K2-Thinking全流程
人工智能·经验分享·chatgpt·ai作画·云计算·无人机·文心一言
伞啊伞16 小时前
DR模式部署
云计算
wanhengidc1 天前
云手机性能如何?
运维·服务器·科技·智能手机·云计算
禁默1 天前
汽车领域智能体开发全解析—腾讯云黑客松Agent应用创新挑战赛微信公众号赛道实战复盘
云计算·汽车·腾讯云·智能体
wanhengidc1 天前
云手机中分布式存储的功能
运维·服务器·分布式·游戏·智能手机·云计算
syounger1 天前
奔驰全球 IT 加速转型:SAP × AWS × Agentic AI 如何重塑企业核心系统
人工智能·云计算·aws