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

AWS上传私有windows server2019镜像64位

一.制作自己的镜像

我使用的是esxi,建立一个windows虚拟机,开启。

根据aws官方文档,虚拟机里的系统重要需要注意以下几点:

1.只有一张网卡,ip获取配置成dhcp。

2.关闭系统防火墙。

3.开启windows rdp 远程功能。

详细的查看下面链接:

https://docs.aws.amazon.com/zh_cn/vm-import/latest/userguide/prerequisites.html

二.关闭虚拟机,导出镜像

我使用的是vmdk,实际需要的只是vmdk文件。

三.aws操作

镜像文件上传至S3。

存储桶必须要和你创建的实例同一个区域。
S3不需要公开访问,后面导入镜像的时候可以选择文件路径或者文件地址,选择路径即可。
根据自己的情况把vmdk文件上传到S3中,S3桶不要加密。
vmdk文件名不要带空格,如果带空格在通过界面导入时会报错。

IAM创建角色

角色名称:vmimport(必须叫这个名字),选自定义信任策略,策略选json,复制过去即可。

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": { "Service": "vmie.amazonaws.com" },"Action": "sts:AssumeRole","Condition": {"StringEquals":{"sts:Externalid": "vmimport"}}}]
}

IAM创建策略

策略名vmimport,策略规则复制即可(修改下面策略中的"test-test"为自己的S3桶名):

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": ["s3:GetBucketLocation","s3:GetObject","s3:ListBucket"],"Resource": ["arn:aws:s3:::test-test","arn:aws:s3:::test-test/*"]},{"Effect": "Allow","Action": ["s3:GetBucketLocation","s3:GetObject","s3:ListBucket","s3:PutObject","s3:GetBucketAcl"],"Resource": ["arn:aws:s3:::test-test","arn:aws:s3:::test-test/*"]},{"Effect": "Allow","Action": ["ec2:ModifySnapshotAttribute","ec2:CopySnapshot","ec2:RegisterImage","ec2:Describe*"],"Resource": "*"}]
}

IAM角色关联策略

选择角色,选中vmimport,添加权限-附加策略,选择刚刚创建的策略vmimport,确定即可。

导入镜像

导入镜像有两种方式,一种是通过EC2 Image Builder 界面导入,一种是通过aws cli。
作者比较推荐使用aws cli的方式,因为cli可以通过命令关注到导入进度,并且报错能看到具体的报错内容,界面有时候就不行。

下面两种方式都介绍下:

EC2 Image Builder 导入

AWS进入EC2 Image Builder菜单–镜像–导入镜像(右侧)
名称–随意 版本–随意
镜像操作系统----windows
操作系统版本----Windows Server 2019
导入来源—S3 bucket 浏览S3 找到自己的vmdk文件
IAM角色—vmimport
导入镜像
没报错的话,等待导入完成即可在AMI里看到AMI文件。

AWS Cli 导入

安装Cli

参考官方文档

https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/install-cliv2.html

AWS Cli配置

aws configure

输入用户的Access Key ID和 Secret Access Key,region与你实例和S3保持一致,其他默认。

创建json文件

在本地上创建一个json文件
Description随意填写
Format填写vmdk
S3Bucket填写自己的bucket名称
S3Key填写vmdk路径(相对路径)

 [{"Description": "Windows Server 2019","Format": "vmdk","UserBucket": {"S3Bucket": "test","S3Key": "xxx.vmdk"}}
]

导入镜像

执行下面导入镜像的命令,修改–disk-containers后面的json文件路径。

windows: file://D:\xxx.json
linux: file:///root/xxx.json

aws ec2 import-image --description “windows server 2019” --disk-containers “file:///root/xxx.json”

检查镜像导入情况

上面命令输出的结果中,有一个import-task-id,复制上面的值到下面命令的xxxx中,可以查询进度,等待StatusMessage字段显示complete代表导入完成,可以在ami中看到了。

aws ec2 describe-import-image-tasks --import-task-ids xxxx

创建ec2实例,初始化系统

根据导入完成的ami,创建ec2实例,安全组需要开放实例的3389到客户端IP,因为目前只能通过RDP远程登录。
填上自己之前设置的windows密码,安装ec2launch。
打开powershell 执行:

mkdir $env:USERPROFILE\Desktop\EC2Launchv2
$Url = "https://s3.amazonaws.com/amazon-ec2launch-v2/windows/amd64/latest/AmazonEC2Launch.msi" 
$DownloadFile = "$env:USERPROFILE\Desktop\EC2Launchv2\" + $(Split-Path -Path $Url -Leaf)
Invoke-WebRequest -Uri $Url -OutFile $DownloadFile
msiexec /i "$DownloadFile"   #这里要看下面任务栏跳出的安装界面,选择Default Configuration

安装完后,打开ec2luanch,一般默认配置(每个配置的含义看下面链接),先点save,再点shutdown with sysprep。

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/WindowsGuide/ec2launch-v2-settings.html

sysprep是用于初始化封装系统,想详细了解可以百度。
等待系统自动关机。

通过ec2实例创建AMI

建议这种方式:
进入实例,选择操作,选择映像和模板,选择创建映像。
这时等待ami完成即可,会同时生成snapshot和ami。
此时,这个最新的AMI就是最新的系统。
以后实例都可以通过这个AMI创建。
注意:创建实例一定要关联密钥,不然获取不到密码,无法登录。

相关文章:

AWS上传私有windows server2019镜像64位

一.制作自己的镜像 我使用的是esxi,建立一个windows虚拟机,开启。 根据aws官方文档,虚拟机里的系统重要需要注意以下几点: 1.只有一张网卡,ip获取配置成dhcp。 2.关闭系统防火墙。 3.开启windows rdp 远程功能。 …...

查看当前仓库对应的远程仓库地址

查看当前仓库对应的远程仓库地址 git remote -v这条命令能显示你当前仓库中已经添加了的仓库名和对应的仓库地址,通常来讲,会有两条一模一样的记录,分别是fetch和push,其中fetch是用来从远程同步 push是用来推送到远程 修改仓库…...

flask-script

# django中,有命令 python manage.py runserver python manage.py makemigrations ...自定制命令(django如何自定制命令)... -python manage.py init_db excel文件路径 指定表名 # flask启动项目,像djag…...

标准的OSI七层模型(其实了解tcp足矣)

七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。 它是一个七层的、抽象的模型体&#x…...

【C++】初识模板

C模板入门 一、泛型编程 二、函数模板1. 函数模板的概念2. 函数模板格式3. 函数模板的原理4. 函数模板的实例化5. 模板参数的匹配原则 三、类模板 一、泛型编程 假设我们想实现一个交换函数,并且支持不同类型的参数实现,我们可以用 typedef 将类型进行重…...

学习Pull request

我从我的导师Xing Fan指导和帮助,利用我的导师chunlong Li提供ChatGPT,在百度搜索,学习一些资料。以下很多内容都是我的导师Xing Fan做的。谢谢Xing Fan。考虑到隐私,不适合截图公开。 第一步: 打开Git Bash Here 如…...

python爬虫实战(1)--爬取新闻数据

想要每天看到新闻数据又不想占用太多时间去整理,萌生自己抓取新闻网站的想法。 1. 准备工作 使用python语言可以快速实现,调用BeautifulSoup包里面的方法 安装BeautifulSoup pip install BeautifulSoup完成以后引入项目 2. 开发 定义请求头&#xf…...

React Hooks 详细使用介绍

useState 状态管理 useState 是 React 中的一个基础 Hook,允许你在不使用 class 组件的情况下管理组件状态。 参数 初始值 你可以直接传递状态的初始值给 useState: const [name, setName] useState("John");使用函数设置初始值 当初始…...

python版《羊了个羊》游戏开发第一天

Python小型项目实战教学课《羊了个羊》 一、项目开发大纲(初级) 版本1.0:基本开发 课次 内容 技术 第一天 基本游戏地图数据 面向过程 第二天 鼠标点击和移动 面向对象 第三天 消除 设计模式:单例模式 第四天 完整…...

【uniapp】原生子窗体subNvue的使用与踩坑

需求 最近接到个需求, 需要在video组件上弹出弹窗, 也就是覆盖video这个原生组件 未播放时, 弹窗可以覆盖, 但是当video播放时, 写的弹窗就覆盖不了了 因为video是原生组件, 层级非常高, 普通标签是覆盖不了的, map标签同理 覆盖原生组件, 官方给出解决办法一. 使用cover-view…...

浅析 C 语言的共用体、枚举和位域

前言 最近在尝试阅读一些系统库的源码,但是其中存在很多让我感到既熟悉又陌生的语法。经过资料查阅,发现是 C 语言中的共用体和位域。于是,趁着课本还没有扔掉,将一些相关的知识点记录在本文。 文章目录 前言共用体 (union)枚举…...

TartanVO: A Generalizable Learning-based VO 论文阅读

论文信息 题目:TartanVO: A Generalizable Learning-based VO 作者:Wenshan Wang, Yaoyu Hu 来源:ICRL 时间:2021 代码地址:https://github.com/castacks/tartanvo Abstract 我们提出了第一个基于学习的视觉里程计&…...

单例模式-java实现

介绍 单例模式的意图:保证某个类在系统中有且仅有一个实例。 我们可以看到下面的类图:一般的单例的实现,是属性中保持着一个自己的私有静态实例引用,还有一个私有的构造方法,然后再开放一个静态的获取实例的方法给外界…...

篇八:装饰器模式:动态增加功能

篇八:“装饰器模式:动态增加功能” 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式的资料&#xff0c…...

算法通关村第五关——n数之和问题解析

1. 两数之和问题 力扣第1题就是两数之和问题,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一…...

小白到运维工程师自学之路 第七十集 (Kubernetes集群部署)

一、概述 Kubernetes(简称K8S)是一个开源的容器编排和管理平台,是由Google发起并捐赠给Cloud Native Computing Foundation(CNCF)管理的项目。它的目标是简化容器化应用的部署、扩展、管理和自动化操作。 以下是Kube…...

docker 部署mysql 5.6集群

docker搭建mysql的集群(一主双从) 1.拉取镜像 docker pull mysql:5.6 2.启动master容器 docker run -it -d --name mysql_master -p 3306:3306 --ip 192.168.162.100 \ -v /data/mysql_master/mysql:/var/lib/mysql \ -v /data/mysql_master/conf.d…...

mysql基本信息查询

1.查看mysql表的数据量 select table_schema as 数据库, table_name as 表名, table_rows as 记录数, truncate(data_length/1024/1024, 2) as 数据容量(MB), truncate(index_length/1024/1024, 2) as 索引容量(MB) from information_schema.tables order by data_length des…...

C语言初学者必读:使用for循环将数字从大到小排序并输出

在学习C语言编程的过程中,了解数组的输入和排序是非常基础且重要的一部分。本文将以通俗易懂的方式,教你如何使用for循环实现将输入的n个数字按照从大到小的顺序输出,帮助你逐步掌握数组的使用和排序算法。 第一步:获取用户输入 …...

【Vue+Element-plus】记录后台首页多echart图静态页面

一、页面效果 二、完整代码 Index.vue <template><div><div><DateTime /><!-- {{username}} --></div><el-row :gutter"20"><el-col :span"8"><div class"grid-content bg-purple"><P…...

枚举进阶:从常量集合到业务逻辑承载者的实战扩展技巧

1. 项目概述&#xff1a;从“能用”到“好用”的枚举进阶之路在软件开发中&#xff0c;枚举&#xff08;Enum&#xff09;是我们再熟悉不过的基础工具了。它把一组有限的、具名的常量组织在一起&#xff0c;让代码意图更清晰&#xff0c;避免“魔法数字”满天飞。但不知道你有没…...

车道线检测入门:从CULane数据集结构到模型训练(PyTorch实战)

车道线检测实战&#xff1a;从CULane数据集解析到PyTorch模型训练全流程 1. 理解CULane数据集的核心价值 车道线检测作为自动驾驶感知层的关键技术&#xff0c;其性能高度依赖高质量的数据集。CULane凭借其复杂城市道路场景和精细标注&#xff0c;已成为该领域的基准测试集之一…...

基于SUMO与PPO的智能换道决策实战:从环境构建到模型部署

1. 环境准备与基础配置 在开始构建智能换道决策系统之前&#xff0c;我们需要先搭建好开发环境。这里我推荐使用Anaconda来管理Python环境&#xff0c;它能很好地解决不同项目之间的依赖冲突问题。我习惯为每个项目创建独立的环境&#xff0c;比如这次我们可以命名为"sumo…...

KRTS实时内核开发环境搭建:手把手教你配置隔离CPU与Visual Studio联调

KRTS实时内核开发环境搭建&#xff1a;手把手教你配置隔离CPU与Visual Studio联调 在工业自动化、机器人控制和高频交易等硬实时应用领域&#xff0c;毫秒级的延迟差异可能导致整个系统失效。KRTS&#xff08;Kithara RealTime Suite&#xff09;作为Windows平台上的实时扩展解…...

EC35编码器驱动踩坑实录:从波形分析到稳定读取,我的GD32调试笔记

EC35编码器驱动踩坑实录&#xff1a;从波形分析到稳定读取的GD32调试笔记 1. 问题初现&#xff1a;那些让人抓狂的"玄学"现象 第一次把EC35编码器接到GD32F303开发板上时&#xff0c;我天真地以为这不过是个简单的GPIO中断应用。按照常规思路配置了三个引脚的中断&am…...

虚幻引擎小白人下岗指南:三步搞定商城角色替换,附赠武器隐藏和动画修复彩蛋

虚幻引擎角色替换实战指南&#xff1a;从基础操作到进阶技巧 第一次打开虚幻引擎时&#xff0c;那个默认的"小白人"角色总让人感觉缺乏个性。作为开发者&#xff0c;我们都希望游戏中的角色能快速展现独特风格。本文将带你用最简洁的流程完成商城角色替换&#xff0c…...

发现安卓应用宝库:APKMirror客户端让你安全下载任何版本应用

发现安卓应用宝库&#xff1a;APKMirror客户端让你安全下载任何版本应用 【免费下载链接】APKMirror 项目地址: https://gitcode.com/gh_mirrors/ap/APKMirror 还记得上次为了找一个旧版本的微信&#xff0c;在各种论坛里翻来覆去地找&#xff0c;最后下载的APK文件还让…...

手把手教你改造10块钱的USBASP烧录器,让它兼容Arduino IDE和AVRDUDESS

10元USBASP烧录器改造实战&#xff1a;解锁Arduino与AVRDUDESS全兼容方案 从闲置到全能&#xff1a;低成本硬件改造的价值探索 在电子制作和嵌入式开发领域&#xff0c;专业烧录工具往往价格不菲。但你可能不知道&#xff0c;手头那台吃灰的"智峰"版USBASP烧录器&…...

终极USB安全弹出解决方案:告别Windows设备占用烦恼

终极USB安全弹出解决方案&#xff1a;告别Windows设备占用烦恼 【免费下载链接】USB-Disk-Ejector A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternativ…...

探索ONVIF世界:轻松对接RTSP视频流的开源宝藏

探索ONVIF世界&#xff1a;轻松对接RTSP视频流的开源宝藏 【下载地址】ONVIF协议RTSP视频流与OnvifDeviceManager对接实现 本资源文件提供了一个成功实现ONVIF协议RTSP视频流与OnvifDeviceManager对接的代码示例。该示例对于希望实现ONVIF视频对接的开发者具有一定的参考价值 …...