当前位置: 首页 > article >正文

aws平台练习

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

提供电子邮件地址、密码和电话号码。
验证身份(可能需要手机验证码)。
设置 billing 信息。
2. 登录 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)。
4. 创建 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。
5. 创建必要的 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
6. 配置 CodePipeline
打开 AWS 管理控制台,导航到 CodePipeline。
点击“Start pipeline execution”或创建一个新的管道。
按照提示配置管道:
选择源(例如 S3 存储桶)。
配置构建阶段(使用 CodeBuild)。
配置部署阶段(例如 SageMaker)。
7. 配置 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 日志,排查问题。
测试环境:在非生产环境中进行测试,避免影响线上服务。

相关文章:

aws平台练习

注册 AWS 账户 访问 AWS 官方网站&#xff0c;点击“免费注册”按钮&#xff0c;按照提示完成账户注册&#xff1a; 提供电子邮件地址、密码和电话号码。 验证身份&#xff08;可能需要手机验证码&#xff09;。 设置 billing 信息。 2. 登录 AWS 管理控制台 使用注册的邮箱和…...

力扣DAY40-45 | 热100 | 二叉树:直径、层次遍历、有序数组->二叉搜索树、验证二叉搜索树、二叉搜索树中第K小的元素、右视图

前言 简单、中等 √ 好久没更了&#xff0c;感觉二叉树来回就那些。有点变懒要警醒&#xff0c;不能止步于笨方法&#xff01;&#xff01; 二叉树的直径 我的题解 遍历每个节点&#xff0c;左节点最大深度右节点最大深度当前节点当前节点为中心的直径。如果左节点深度更大…...

【MYSQL从入门到精通】数据类型及建表

一些基础操作语句 1.使用客户端工具连接数据库服务器&#xff1a;mysql -uroot -p 2.查看所有数据库&#xff1a;show databases; 3.创建属于自己的数据库&#xff1a; create database 数据库名;create database if not exists 数据库名; 强烈建议大家在建立数据库时指定编…...

【动态规划】 深入动态规划—两个数组的dp问题

文章目录 前言例题一、最长公共子序列二、不相交的线三、不同的子序列四、通配符匹配五、交错字符串六、两个字符串的最小ASCII删除和七、最长重复子数组 结语 前言 问题本质 它主要围绕着给定的两个数组展开&#xff0c;旨在通过对这两个数组元素间关系的分析&#xff0c;找出…...

结合大语言模型整理叙述并生成思维导图的思路

楔子 我比较喜欢长篇大论。这在代理律师界被视为一种禁忌。 我高中一年级的时候因为入学成绩好&#xff08;所在县榜眼名次&#xff09;&#xff0c;直接被所在班的班主任任命为班长。我其实不喜欢这个岗位。因为老师一来就要提前注意到&#xff0c;要及时喊“起立”、英语课…...

Kotlin学习

kotlin android 开源,Kotlin开源项目集合_晚安 呼-华为开发者空间 干货来袭&#xff0c;推荐几款开源的Kotlin的Android项目 https://zhuanlan.zhihu.com/p/536789267 【已解决】 ubuntu apt-get update连不上dl.google.com_为什么不能ping谷歌-CSDN博客...

若依前后端分离版本从mysql切换到postgresql数据库

一、修改依赖&#xff1a; 修改admin模块pom.xml中的依赖,屏蔽或删除mysql依赖&#xff0c;增加postgresql依赖。 <!-- Mysql驱动包 --> <!--<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId> &l…...

【力扣hot100题】(073)数组中的第K个最大元素

花了两天时间搞明白答案的快速排序和堆排序。 两种都写了一遍&#xff0c;感觉堆排序更简单很多。 两种都记录一下&#xff0c;包括具体方法和易错点。 快速排序 class Solution { public:vector<int> nums;int quicksort(int left,int right,int k){if(leftright) r…...

【AAOS】【源码分析】CarAudioService(二)-- 功能介绍

汽车音频是 Android 汽车操作系统 (AAOS) 的一项功能,允许车辆播放信息娱乐声音,例如媒体、导航和通信。AAOS 不负责具有严格可用性和时间要求的铃声和警告,因为这些声音通常由车辆的硬件处理。将汽车音频服务集成在汽车中,彻底改变了驾驶体验,为驾驶员和乘客提供了音乐、…...

mapbox基础,加载F4Map二维地图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性二、🍀F4Map 简介2.1 ☘️技术特点2.2 ☘️核…...

Android:Android Studio右侧Gradle没有assembleRelease等选项

旧版as是“Do not build Gradle task list during Gradle sync” 操作这个选项。 参考这篇文章&#xff1a;Android Studio Gradle中没有Task任务&#xff0c;没有Assemble任务&#xff0c;不能方便导出aar包_gradle 没有task-CSDN博客 在as2024版本中&#xff0c;打开Setting…...

DRAM CRC:让DDR5内存数据更靠谱

DRAM(动态随机存取存储器)是电脑内存的核心部件,负责存储和传输数据。如果数据在传输中出错,后果可能很严重,比如程序崩溃或者数据损坏。为了解决这个问题,DDR5内存引入了一个新功能,叫DRAM CRC(循环冗余校验)。简单来说,它是用来检查读写数据有没有问题的工具。 下面…...

RAI Toolbox详解

RAI Toolbox详解 摘要 RAI Toolbox是一个综合性的工具集&#xff0c;旨在帮助开发者和AI系统利益相关者更负责任地开发和监控AI系统&#xff0c;并做出更好的数据驱动决策。本文将详细介绍RAI Toolbox的功能、使用场景以及与类似AI项目的对比&#xff0c;帮助读者全面了解RAI…...

心率测量-arduino+matlab

参考&#xff1a;【教程】教你玩转Stduino之手指心跳检测模块 - 知乎 (zhihu.com) 1 原理 心跳检测模块&#xff0c;由一个红外线发射LED和红外接收器构成。手指心跳监测模块能够测量脉搏&#xff0c;是这样工作的&#xff1a;当手指放在发射器与接收器之间&#xff0c;红外发射…...

H3C的MSTP+VRRP高可靠性组网技术(MSTP单域)

以下内容纯为博主分享自己的想法和理解&#xff0c;如有错误轻喷 MSTP多生成树协议可以基于不同实例实现不同VLAN之间的负载分担 VRRP虚拟路由器冗余协议可以提高网关的可靠性防止单点故障的可能 在以前这两种协议通常一起搭配组网&#xff0c;来提高网络的可靠性和稳定性&a…...

字符串替换 (模拟)神奇数 (数学)DNA序列 (固定长度的滑动窗口)

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;每日两三题 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 字符串替换 &#xff08;模拟&#xff09;神奇数 &#xff08;数学&#xff09;DNA序列 &#xff08;固定长度的滑动窗口&am…...

Centos7下安装hive详细步骤

在Centos 7系统上安装Hive的步骤如下&#xff1a; 下载Hive&#xff1a;首先&#xff0c;在Apache Hive的官方网站上下载最新版本的Hive压缩包&#xff0c;地址为&#xff1a;https://hive.apache.org/downloads.html。选择合适的版本并下载。 解压Hive压缩包&#xff1a;将下…...

Verilog学习-1.模块的结构

module aoi(a,b,c,d,f);/*模块名为aoi&#xff0c;端口列表a、b、c、d、f*/ input a,b,c,d;/*模块的输入端口为a,b,c,d*/ output f;;/*模块的输出端口为f*/ wire a,b,c,d,f;/*定义信号的数据类型*/ assign f~((a&b)|(~(c&d)));/*逻辑功能描述*/ endmoduleveirlog hdl 程…...

Linux驱动-块设备驱动

Linux驱动-块设备驱动 一&#xff0c;块设备驱动简介二&#xff0c;无请求队列情况&#xff08;EMMC和SD卡等&#xff09;三&#xff0c;请求队列情况&#xff08;磁盘等带有I/O调度的设备&#xff09;四&#xff0c;两者在驱动上区别 一&#xff0c;块设备驱动简介 块设备驱动…...

ffmpeg函数简介(封装格式相关)

文章目录 &#x1f31f; 前置说明&#xff1a;FFmpeg 中 AVFormatContext 是什么&#xff1f;&#x1f9e9; 1. avformat_alloc_context功能&#xff1a;场景&#xff1a; &#x1f9e9; 2. avformat_open_input功能&#xff1a;说明&#xff1a;返回值&#xff1a; &#x1f9…...

Android10.0 framework第三方无源码APP读写断电后数据丢失问题解决

1.前言 在10.0中rom定制化开发中,在某些产品开发中,在某些情况下在App用FileOutputStream读写完毕后,突然断电 会出现写完的数据丢失的问题,接下来就需要分析下关于使用FileOutputStream读写数据的相关流程,来实现相关 功能 2.framework第三方无源码APP读写断电后数据丢…...

[随笔] nn.Embedding的前向传播与反向传播

nn.Embedding的前向传播与反向传播 nn.Embedding的前向计算过程 embedding module 的前向过程其实是一个索引&#xff08;查表&#xff09;的过程 表的形式是一个 matrix&#xff08;embedding.weight, learnable parameters&#xff09; matrix.shape: (v, h) v&#xff1a;…...

搜广推校招面经七十一

滴滴算法工程师面经 一、矩阵分解的原理与优化意义 矩阵分解在推荐系统中是一个非常核心的方法&#xff0c;尤其是在 协同过滤(Collaborative Filtering) 中。我们可以通过用户对物品的评分行为来推测用户的喜好&#xff0c;从而推荐他们可能喜欢的内容。 1.1. 直观理解&…...

【算法学习】链表篇:链表的常用技巧和操作总结

算法学习&#xff1a; https://blog.csdn.net/2301_80220607/category_12922080.html?spm1001.2014.3001.5482 前言&#xff1a; 在各种数据结构中&#xff0c;链表是最常用的几个之一&#xff0c;熟练使用链表和链表相关的算法&#xff0c;可以让我们在处理很多问题上都更加…...

View UI (iview)表格拖拽排序

在使用 iView UI 的 Table 组件进行拖拽排序时&#xff0c;可以通过以下步骤获取最新的排序数据&#xff1a; 1. 启用拖拽功能 在 Table 组件上设置 draggable 属性&#xff0c;并绑定拖拽结束事件 on-row-drop。 <template><Table:columns"columns":dat…...

OpenNMT 部署和集成指南

OpenNMT&#xff08;Open Neural Machine Translation&#xff09;是一个开源的神经机器翻译&#xff08;NMT&#xff09;系统&#xff0c;由 Systran 和 Harvard NLP Group 在 2016 年联合推出。它的目标是为研究人员和企业开发者提供一个高质量、灵活且易于扩展的机器翻译框架…...

2台8卡L20服务器集群推理方案

1、整体流程梳理 #mermaid-svg-0aNtsWUnOH7ewXpN {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-0aNtsWUnOH7ewXpN .error-icon{fill:#552222;}#mermaid-svg-0aNtsWUnOH7ewXpN .error-text{fill:#552222;stroke:#55…...

HarmonyOS:使用geoLocationManager (位置服务)获取位置信息

一、简介 位置服务提供GNSS定位、网络定位&#xff08;蜂窝基站、WLAN、蓝牙定位技术&#xff09;、地理编码、逆地理编码、国家码和地理围栏等基本功能。 使用位置服务时请打开设备“位置”开关。如果“位置”开关关闭并且代码未设置捕获异常&#xff0c;可能导致应用异常。 …...

系统分析师(二)--操作系统

概述 进程管理 选项A&#xff1a;该进程中打开的文件 进程中打开的文件是由整个进程来管理的&#xff0c;同一进程下的各个线程都可以对这些打开的文件进行访问和操作&#xff0c;所以进程中打开的文件是可以被这些线程共享的。 选项B&#xff1a;该进程的代码段 进程的代码…...

安科瑞测频仪表:新能源调频困局的破局者

安科瑞顾强 在“双碳”目标推动下&#xff0c;风电、光伏等新能源正加速成为电力供应的核心力量。然而&#xff0c;新能源发电的间歇性与波动性&#xff0c;如同一把“双刃剑”&#xff0c;在提供清洁电力的同时&#xff0c;也给电网稳定运行带来了前所未有的挑战。国家能源局…...