10.3. 将 RHEL Edge AMI 镜像上传到 AWS
使用 CLI 将 edge-ami
镜像上传到 Amazon AWS Cloud 服务提供商。
先决条件
流程
配置
aws-cli
工具:aws configure
$ aws configure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置您的配置文件。运行命令并输入您的 Access key ID 凭证、Secret access key、Default region name 和 default output 名称:
aws configure --profile
$ aws configure --profile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
列出现有存储桶:
aws s3 ls
$ aws s3 ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将您的镜像上传到 S3:
aws s3 cp <path_to_image/image> s3://<your_bucket_name>
$ aws s3 cp <path_to_image/image> s3://<your_bucket_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出 S3 存储桶中的镜像:
aws s3 ls s3://<your_bucket_name>
$ aws s3 ls s3://<your_bucket_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
container-simple.json
文件。将 "URL" 内容替换为 S3 存储桶。例如:s3://rhel-edge-ami-us-west-2/2ba3c125-cc58-4cc0-861a-4cc78e892df6-image.raw
。{ "Description": "RHEL for Edge image", "Format": "edge-ami", "Url": "s3://rhel-edge-ami-us-west-2/UUID-image.raw" }
{ "Description": "RHEL for Edge image", "Format": "edge-ami", "Url": "s3://rhel-edge-ami-us-west-2/UUID-image.raw" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
edge.ami
镜像作为 EC2 快照导入到 S3 存储桶。注意EC2 镜像必须位于与您创建的 S3 存储桶一样的区域。
aws ec2 import-snapshot --description "RHEL edge" \ --disk-container file://container-simple.json --region us-west-2
$ aws ec2 import-snapshot --description "RHEL edge" \ --disk-container file://container-simple.json --region us-west-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下 .
json
是命令输出的一个示例:{ "Description": "RHEL for Edge image", "Format": "edge-ami", "Url": "s3://rhel-edge-ami-us-west-2/UUID-image.raw" }
{ "Description": "RHEL for Edge image", "Format": "edge-ami", "Url": "s3://rhel-edge-ami-us-west-2/UUID-image.raw" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
记录
.json
文件中的 "ImportTaskId" 值。使用它来检查导入状态。在本例中,"ImportTaskId"是import-snap-0f3055c4b7a454c85
。 使用上一步中输出
.json
文件中的 "ImportTaskId" 值来检查快照的导入状态:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行这个命令,直到 "Status" 标记为"completed"。
注册
edge.ami
镜像,以便能够从镜像启动实例。aws ec2 register-image \ --name ami-edge-name-ami-x86" \ --architecture <architecture> \ --tag-specifications 'ResourceType=image,Tags=\\\{Key=Name,Value={{ blueprint_name }}-ami-x86}' \ --root-device-name /dev/sda1 \ --block-device-mappings DeviceName=/dev/sda1,Ebs={SnapshotId={{ snapshot_id }}} DeviceName=/dev/sdh,Ebs={VolumeSize=10} \ --boot-mode uefi-preferred --query="ImageId" --output=text \ --region="{{ aws_region }}" i
$ aws ec2 register-image \ --name ami-edge-name-ami-x86" \ --architecture <architecture> \ --tag-specifications 'ResourceType=image,Tags=\\\{Key=Name,Value={{ blueprint_name }}-ami-x86}' \ --root-device-name /dev/sda1 \ --block-device-mappings DeviceName=/dev/sda1,Ebs={SnapshotId={{ snapshot_id }}} DeviceName=/dev/sdh,Ebs={VolumeSize=10} \ --boot-mode uefi-preferred --query="ImageId" --output=text \ --region="{{ aws_region }}" i
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果没有指定架构,则默认为
i386
架构。
注册镜像后,您可以访问 EC2 ,来从快照创建 AMI 镜像,并启动它。
验证
要确认镜像上传成功:
- 访问菜单中的 EC2,并在 AWS 控制台中选择正确的区域。镜像必须具有 available 状态,以表示它已被成功上传。
在仪表盘上,选择镜像并点 Launch。
在启动新实例时,您必须选择 UEFI 作为引导模式,并为 EC2 镜像选择至少 4GB RAM。
-
您可以使用通过 Ignition 配置创建的用户名和密码登录到 AWS 上的
edge-ami
。