设置 AMI 工具 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

设置 AMI 工具

您可使用 AMI 工具创建和管理实例存储支持的 Linux AMIs。要使用这些工具,必须在 Linux 实例上安装它们。AMI 工具可作为 RPM 提供,也为不支持 RPM 的 Linux 发行版提供 .zip 格式的文件。

使用 RPM 设置 AMI 工具
  1. 使用您的 Linux 发行版的程序包管理器 (如 yum) 安装 Ruby。例如:

    [ec2-user ~]$ sudo yum install -y ruby
  2. 使用 wget 或 curl 等工具下载 RPM 文件。例如:

    [ec2-user ~]$ wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm
  3. 使用以下命令验证 RPM 文件的签名:

    [ec2-user ~]$ rpm -K ec2-ami-tools.noarch.rpm

    上述命令应指示该文件的 SHA1 和 MD5 哈希值是 OK.如果该命令指示这些哈希值是 NOT OK,请使用以下命令查看该文件的标头 SHA1 和 MD5 哈希值:

    [ec2-user ~]$ rpm -Kv ec2-ami-tools.noarch.rpm

    然后,将您的文件的标头 SHA1 和 MD5 哈希值与以下经验证的 AMI 工具哈希值进行比较,以确认文件的真实性:

    • 标头 SHA1:a1f662d6f25f69871104e6a62187fa4df508f880

    • MD5:9faff05258064e2f7909b66142de6782

    如果您的文件的标头 SHA1 和 MD5 哈希值与经验证的 AMI 工具哈希值相匹配,请继续下一步。

  4. 使用以下命令安装 RPM:

    [ec2-user ~]$ sudo yum install ec2-ami-tools.noarch.rpm
  5. 使用 ec2-ami-tools-version 命令验证您的 AMI 工具安装。

    [ec2-user ~]$ ec2-ami-tools-version
    注意

    如果您收到一个加载错误,例如“cannot load such file -- ec2/amitools/version (LoadError)”(无法加载此类文件 -- ec2/amitools/version (LoadError)),请完成下一步骤以将 AMI 工具安装的位置添加到 RUBYLIB 路径。

  6. (可选)如果您在上一步中收到了错误,则将您的 AMI 工具的安装位置添加到您的 RUBYLIB 路径中。

    1. 运行以下命令以确定要添加的路径。

      [ec2-user ~]$ rpm -qil ec2-ami-tools | grep ec2/amitools/version /usr/lib/ruby/site_ruby/ec2/amitools/version.rb /usr/lib64/ruby/site_ruby/ec2/amitools/version.rb

      在以上示例中,以前加载错误中的丢失文件位于 /usr/lib/ruby/site_ruby/usr/lib64/ruby/site_ruby

    2. 将上一步的位置添加到您的 RUBYLIB 路径中。

      [ec2-user ~]$ export RUBYLIB=$RUBYLIB:/usr/lib/ruby/site_ruby:/usr/lib64/ruby/site_ruby
    3. 使用 ec2-ami-tools-version 命令验证您的 AMI 工具安装。

      [ec2-user ~]$ ec2-ami-tools-version
使用 .zip 文件设置 AMI 工具
  1. 使用您的 Linux 发行版的程序包管理器安装 Ruby 并解压缩,例如 apt-get。例如:

    [ec2-user ~]$ sudo apt-get update -y && sudo apt-get install -y ruby unzip
  2. 使用 wget 或 curl 等工具下载 .zip 文件。例如:

    [ec2-user ~]$ wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip
  3. 将文件解压缩到合适的安装目录,如 /usr/local/ec2

    [ec2-user ~]$ sudo mkdir -p /usr/local/ec2 $ sudo unzip ec2-ami-tools.zip -d /usr/local/ec2

    请注意,.zip 文件包含文件夹 ec2-ami-tools-x.x.x,其中 x.x.x 是工具的版本号(例如,ec2-ami-tools-1.5.7)。

  4. EC2_AMITOOL_HOME 环境变量设置为工具的安装目录。例如:

    [ec2-user ~]$ export EC2_AMITOOL_HOME=/usr/local/ec2/ec2-ami-tools-x.x.x
  5. 将工具添加到您的 PATH 环境变量。例如:

    [ec2-user ~]$ export PATH=$EC2_AMITOOL_HOME/bin:$PATH
  6. 您可以使用 ec2-ami-tools-version 命令验证您的 AMI 工具安装。

    [ec2-user ~]$ ec2-ami-tools-version

管理签名证书

AMI 工具中的某些命令需要签名证书 (也称为 X.509 证书)。您必须创建证书,然后将其上传到 Amazon。例如,您可以使用第三方工具 (例如 OpenSSL) 创建证书。

创建签名证书
  1. 安装和配置 OpenSSL。

  2. 使用 openssl genrsa 命令创建私有密钥,并将输出保存到 .pem 文件。我们建议您创建 2048 或 4096 位 RSA 密钥。

    openssl genrsa 2048 > private-key.pem
  3. 使用 openssl req 命令生成证书。

    openssl req -new -x509 -nodes -sha256 -days 365 -key private-key.pem -outform PEM -out certificate.pem

要将证书上传到 Amazon,请使用 upload-signing-certificate 命令。

aws iam upload-signing-certificate --user-name user-name --certificate-body file://path/to/certificate.pem

要列出用户的证书,请使用 list-signing-certificates 命令:

aws iam list-signing-certificates --user-name user-name

要对用户禁用或重新启用签名证书,请使用 update-signing-certificate 命令。以下命令可禁用证书:

aws iam update-signing-certificate --certificate-id OFHPLP4ZULTHYPMSYEX7O4BEXAMPLE --status Inactive --user-name user-name

要删除证书,请使用 delete-signing-certificate 命令:

aws iam delete-signing-certificate --user-name user-name --certificate-id OFHPLP4ZULTHYPMSYEX7O4BEXAMPLE