10.3. 将 RHEL Edge AMI 镜像上传到 AWS
使用 CLI 将 edge-ami
镜像上传到 Amazon AWS Cloud 服务提供商。
流程
配置
aws-cli
工具:$ aws configure
配置您的配置文件。运行命令并输入您的 Access key ID 凭证、Secret access key、Default region name 和 default output 名称:
$ aws configure --profile
列出现有存储桶:
$ aws s3 ls
将您的镜像上传到 S3:
$ aws s3 cp <path_to_image/image> s3://<your_bucket_name>
列出 S3 存储桶中的镜像:
$ aws s3 ls s3://<your_bucket_name>
创建一个
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" }
将
edge.ami
镜像作为 EC2 快照导入到 S3 存储桶。注意EC2 镜像必须位于与您创建的 S3 存储桶一样的区域。
$ aws ec2 import-snapshot --description "RHEL edge" \ --disk-container file://container-simple.json --region us-west-2
以下 .
json
:是命令输出的一个示例:{ "Description": "RHEL for Edge image", "Format": "edge-ami", "Url": "s3://rhel-edge-ami-us-west-2/UUID-image.raw" }
-
记录 json 中的 "ImportTaskId" 值。使用它来检查导入状态。在本例中,"ImportTaskId"是
import-snap-0f3055c4b7a454c85
。 使用上一步中输出 json 文件中的 "ImportTaskId" 值来检查快照的导入状态:
$ aws ec2 describe-import-snapshot-tasks \ --import-task-ids import-snap-0f3055c4b7a454c85 { "ImportSnapshotTasks": [ { "Description": "RHEL edge", "ImportTaskId": "import-snap-0f3055c4b7a454c85", "SnapshotTaskDetail": { "Description": "RHEL edge", "DiskImageSize": 10737418240.0, "Format": "RAW", "SnapshotId": "snap-001b267e752039eab", "Status": "completed", "Url": "s3://rhel-edge-ami-us-west-2/2ba3c125-cc58-4cc0-861a-4cc78e892df6-image.raw", "UserBucket": { "S3Bucket": "rhel-edge-ami-us-west-2", "S3Key": "2ba3c125-cc58-4cc0-861a-4cc78e892df6-image.raw" } }, "Tags": [] } ] }
运行这个命令,直到 "Status" 标记为"completed"。之后,您可以访问 EC2 ,来从快照创建 AMI 镜像,并启动它。
验证
要确认镜像上传成功:
- 访问菜单中的 EC2,并在 AWS 控制台中选择正确的区域。镜像必须具有 available 状态,以表示它已被成功上传。
在仪表盘上,选择镜像并点 Launch。
在启动新实例时,您必须选择 UEFI 作为引导模式,并为 EC2 镜像选择至少 4GB RAM。
-
您可以使用通过 Ignition 配置创建的用户名和密码登录到 AWS 上的
edge-ami
。
其他资源