第 3 章 在 AWS 上安装 RHEL AI


您可以在 AWS 上安装和部署 Red Hat Enterprise Linux AI。

  • 您可以从 AWS 市场 购买 RHEL AI。
  • 您可以在 RHEL AI 下载页面中下载 RHEL AI RAW 文件,并将其转换为 AWS 镜像。

要使用 RAW 文件安装和部署 RHEL AI,您必须首先将 RHEL AI 镜像转换为 Amazon Machine Image (AMI)。

3.1. 将 RHEL AI 镜像转换为 AWS AMI

在 AWS 机器上部署 RHEL AI 之前,您必须设置 S3 存储桶,并将 RHEL AI 镜像转换为 AWS AMI。

在以下过程中,您要创建以下资源:

  • 带有 RHEL AI 镜像的 S3 存储桶
  • AWS EC2 快照
  • AWS AMI
  • AWS 实例

先决条件

流程

  1. 按照 AWS 文档安装 AWS命令行工具
  2. 您需要创建 S3 存储桶并设置权限,以允许镜像文件转换为 AWS 快照。

    1. 运行以下命令来创建所需的环境变量:

      $ export BUCKET=<custom_bucket_name>
      $ export RAW_AMI=nvidia-bootc.ami
      $ export AMI_NAME="rhel-ai"
      $ export DEFAULT_VOLUME_SIZE=1000
      Copy to Clipboard Toggle word wrap
      注意

      在 AWS 上,DEFAULT_VOLUME_SIZE 测量 GB。

    2. 您可以运行以下命令来创建 S3 存储桶:

      $ aws s3 mb s3://$BUCKET
      Copy to Clipboard Toggle word wrap
    3. 您必须创建 trust-policy.json 文件,其中包含为存储桶生成 S3 角色所需的配置:

      $ printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }' > trust-policy.json
      Copy to Clipboard Toggle word wrap
    4. 为存储桶创建 S3 角色,您可以名称。在以下示例中,vmiport 是角色的名称。

      $ aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
      Copy to Clipboard Toggle word wrap
    5. 您必须创建 role-policy.json 文件,其中包含为存储桶生成策略所需的配置:

      $ printf '{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::%s", "arn:aws:s3:::%s/*" ] }, { "Effect":"Allow", "Action":[ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource":"*" } ] }' $BUCKET $BUCKET > role-policy.json
      Copy to Clipboard Toggle word wrap
    6. 运行以下命令,为您的存储桶创建策略:

      $ aws iam put-role-policy --role-name vmimport --policy-name vmimport-$BUCKET --policy-document file://role-policy.json
      Copy to Clipboard Toggle word wrap
  3. 现在,您的 S3 存储桶已设置,您需要从 Red Hat Enterprise Linux AI下载页面下载 RAW 镜像
  4. 复制 RAW 镜像链接并将其添加到以下命令中:

    $ curl -Lo disk.raw.gz <link-to-raw-file>
    Copy to Clipboard Toggle word wrap
  5. 使用以下命令解压 raw.gz 文件:

    $ gunzip disk.raw.gz
    Copy to Clipboard Toggle word wrap
  6. 使用以下命令将镜像上传到 S3 存储桶:

    $ aws s3 cp disk.raw s3://$BUCKET/$RAW_AMI
    Copy to Clipboard Toggle word wrap
  7. 运行以下命令,将镜像转换为快照并将其存储在 task_id 变量名称中:

    $ printf '{ "Description": "my-image", "Format": "raw", "UserBucket": { "S3Bucket": "%s", "S3Key": "%s" } }' $BUCKET $RAW_AMI > containers.json
    Copy to Clipboard Toggle word wrap
    $ task_id=$(aws ec2 import-snapshot --disk-container file://containers.json | jq -r .ImportTaskId)
    Copy to Clipboard Toggle word wrap
  8. 您可以使用以下命令检查磁盘镜像的进度到快照转换作业:

    $ aws ec2 describe-import-snapshot-tasks --filters Name=task-state,Values=active
    Copy to Clipboard Toggle word wrap
  9. 转换作业完成后,您可以通过运行以下命令来获取快照 ID 并将其存储在名为 snapshot_id 的变量中:

    $ snapshot_id=$(aws ec2 describe-import-snapshot-tasks | jq -r '.ImportSnapshotTasks[] | select(.ImportTaskId=="'${task_id}'") | .SnapshotTaskDetail.SnapshotId')
    Copy to Clipboard Toggle word wrap
  10. 运行以下命令,在快照中添加标签名称,以便更轻松地识别:

    $ aws ec2 create-tags --resources $snapshot_id --tags Key=Name,Value="$AMI_NAME"
    Copy to Clipboard Toggle word wrap
  11. 使用以下命令从快照注册 AMI:

    $ ami_id=$(aws ec2 register-image  \
        --name "$AMI_NAME" \
        --description "$AMI_NAME" \
        --architecture x86_64 \
        --root-device-name /dev/sda1 \
        --block-device-mappings "DeviceName=/dev/sda1,Ebs={VolumeSize=${DEFAULT_VOLUME_SIZE},SnapshotId=${snapshot_id}}" \
        --virtualization-type hvm \
        --ena-support \
        | jq -r .ImageId)
    Copy to Clipboard Toggle word wrap
  12. 您可以运行以下命令来添加另一个标签名称来识别 AMI:

    $ aws ec2 create-tags --resources $ami_id --tags Key=Name,Value="$AMI_NAME"
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat