设置 Amazon EC2 AMI 工具
您可使用 AMI 工具创建和管理实例存储支持的 Linux AMIs。要使用这些工具,必须在 Linux 实例上安装它们。AMI 工具可作为 RPM 提供,也为不支持 RPM 的 Linux 发行版提供 .zip 格式的文件。
使用 RPM 设置 AMI 工具
-
使用您的 Linux 发行版的程序包管理器 (如 yum) 安装 Ruby。例如:
[ec2-user ~]$
sudo yum install -y ruby
-
使用 wget 或 curl 等工具下载 RPM 文件。例如:
[ec2-user ~]$
wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm
-
使用以下命令验证 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 工具哈希值相匹配,请继续下一步。
-
使用以下命令安装 RPM:
[ec2-user ~]$
sudo yum install ec2-ami-tools.noarch.rpm
-
使用 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
路径。 -
(可选)如果您在上一步中收到了错误,则将您的 AMI 工具的安装位置添加到您的
RUBYLIB
路径中。-
运行以下命令以确定要添加的路径。
[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
。 -
将上一步的位置添加到您的
RUBYLIB
路径中。[ec2-user ~]$
export RUBYLIB=$RUBYLIB:
/usr/lib/ruby/site_ruby
:/usr/lib64/ruby/site_ruby
-
使用 ec2-ami-tools-version 命令验证您的 AMI 工具安装。
[ec2-user ~]$
ec2-ami-tools-version
-
使用 .zip 文件设置 AMI 工具
-
使用您的 Linux 发行版的程序包管理器安装 Ruby 并解压缩,例如 apt-get。例如:
[ec2-user ~]$
sudo apt-get update -y && sudo apt-get install -y ruby unzip
-
使用 wget 或 curl 等工具下载 .zip 文件。例如:
[ec2-user ~]$
wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip
-
将文件解压缩到合适的安装目录,如
/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
)。 -
将
EC2_AMITOOL_HOME
环境变量设置为工具的安装目录。例如:[ec2-user ~]$
export EC2_AMITOOL_HOME=/usr/local/ec2/ec2-ami-tools-
x
.x
.x
-
将工具添加到您的
PATH
环境变量。例如:[ec2-user ~]$
export PATH=$EC2_AMITOOL_HOME/bin:$PATH
-
您可以使用 ec2-ami-tools-version 命令验证您的 AMI 工具安装。
[ec2-user ~]$
ec2-ami-tools-version
管理签名证书
AMI 工具中的某些命令需要签名证书 (也称为 X.509 证书)。您必须创建证书,然后将其上传到 AWS。例如,您可以使用第三方工具 (例如 OpenSSL) 创建证书。
创建签名证书
-
安装和配置 OpenSSL。
-
使用
openssl genrsa
命令创建私有密钥,并将输出保存到.pem
文件。我们建议您创建 2048 或 4096 位 RSA 密钥。openssl genrsa 2048 >
private-key.pem
-
使用
openssl req
命令生成证书。openssl req -new -x509 -nodes -sha256 -days 365 -key
private-key.pem
-outform PEM -outcertificate.pem
要将证书上传到 AWS,请使用 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
--statusInactive
--user-nameuser-name
要删除证书,请使用 delete-signing-certificate 命令:
aws iam delete-signing-certificate --user-name
user-name
--certificate-idOFHPLP4ZULTHYPMSYEX7O4BEXAMPLE