第 2 章 准备 AMI 镜像并将其上传到 AWS


您可以创建自定义镜像,并使用 RHEL 镜像构建器手动或自动将它们更新到 AWS 云。

2.1. 准备手动上传 AWS AMI 镜像

在上传 AWS AMI 镜像前,您必须配置系统来上传镜像。

先决条件

流程

  1. 安装 Python 3 和 pip 工具:

    # dnf install python3 python3-pip
    Copy to Clipboard Toggle word wrap
  2. 使用 pip 安装 AWS 命令行工具

    # pip3 install awscli
    Copy to Clipboard Toggle word wrap
  3. 设置您的配置文件。终端提示您提供凭证、地区和输出格式:

    $ aws configure
    AWS Access Key ID [None]:
    AWS Secret Access Key [None]:
    Default region name [None]:
    Default output format [None]:
    Copy to Clipboard Toggle word wrap
  4. 为存储桶定义名称并创建一个存储桶:

    $ BUCKET=bucketname
    $ aws s3 mb s3://$BUCKET
    Copy to Clipboard Toggle word wrap

    使用实际的存储桶名称替换 bucketname。它必须是全局唯一的名称。因此,您的存储桶会被创建。

  5. 要授予访问 S3 存储桶的权限,如果您还没有这样做,请在 AWS Identity and Access Management (IAM) 中创建一个 vmimport S3 角色:

    1. 创建一个 JSON 格式的带有信任策略配置的 trust-policy.json 文件。例如:

      {
          "Version": "2022-10-17",
          "Statement": [{
              "Effect": "Allow",
              "Principal": {
                  "Service": "vmie.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                      "sts:Externalid": "vmimport"
                  }
              }
          }]
      }
      Copy to Clipboard Toggle word wrap
    2. 创建一个 JSON 格式的带有角色策略配置的 role-policy.json 文件。例如:

      {
          "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
      Copy to Clipboard Toggle word wrap
    3. 使用 trust-policy.json 文件为您的 Amazon Web Services 帐户创建一个角色:

      $ aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
      Copy to Clipboard Toggle word wrap
    4. 使用 role-policy.json 文件嵌入一个内联策略文档:

      $ aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json
      Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat