Amazon EC2 AMI ツールのセットアップ - Amazon Elastic Compute Cloud

Amazon EC2 AMI ツールのセットアップ

AMI ツールを使用して、Instance Store-Backed Linux AMIs を作成および管理できます。ツールを使用するには、Linux インスタンスにインストールする必要があります。AMI ツールは RPM として使用できるとともに、RPM をサポートしていない Linux ディストリビューションでは .zip ファイルとして使用できます。

RPM を使用して AMI ツールを設定するには
  1. yum などの Linux ディストリビューション用のパッケージマネージャを使用して 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)] などのロードエラーを受信した場合は、次のステップを実行し、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. Ruby をインストールし、apt-get など、Linux ディストリビューション用のパッケージマネージャを使用して解凍します。次に例を示します。

    [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 証明書とも呼ばれる) が必要です。証明書を作成し、AWS にアップロードする必要があります。例えば、証明書の作成に 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

証明書を 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 --status Inactive --user-name user-name

証明書を削除するには、delete-signing-certificate コマンドを使用します。

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