成都网站建设哪家技术好,天津注册公司费用,中山快速做网站公司,wordpress插件 wp audio player一.制作自己的镜像
我使用的是esxi#xff0c;建立一个windows虚拟机#xff0c;开启。
根据aws官方文档#xff0c;虚拟机里的系统重要需要注意以下几点#xff1a;
1.只有一张网卡#xff0c;ip获取配置成dhcp。
2.关闭系统防火墙。
3.开启windows rdp 远程功能。 …一.制作自己的镜像
我使用的是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 Keyregion与你实例和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创建。 注意创建实例一定要关联密钥不然获取不到密码无法登录。