メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

共有 AMI を見つける

Amazon EC2 コンソールまたはコマンドラインを使用して、共有 AMI を検索できます。

共有 AMI を見つける (コンソール)

コンソールを使用して、共有しているプライベート AMI を見つけるには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで [AMIs] を選択します。

  3. 最初のフィルタで、[Private images] を選択します。お客様が共有しているすべての AMI が一覧表示されます。詳細な検索を行うには、検索バーを選択し、メニューに用意されたフィルタオプションを使用します。

コンソールを使用して、共有しているパブリック AMI を見つけるには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで [AMIs] を選択します。

  3. 最初のフィルタで、[Public images] を選択します。 詳細な検索を行うには、検索バーを選択し、メニューに用意されたフィルタオプションを使用します。

  4. 興味のある種類の AMI のみを一覧表示するには、フィルタを使用します。たとえば、[Owner :] を選択して、[Amazon images] を選択すると、Amazon のパブリックイメージのみが表示されます。

共有 AMI の検索 (コマンドライン)

[To find a shared public AMI using the command line tools]

AMI を一覧表示するには、-describe-images コマンド (AWS CLI) を使用します。次の例のように、興味のある種類の AMI に絞って一覧表示できます。

次のコマンドを使用すると、--executable-users オプションを使用するすべてのパブリック AMI が一覧表示されます。このリストには、お客様が所有するパブリック AMI が含まれます。

Copy
$ aws ec2 describe-images --executable-users all

次のコマンドを使用すると、お客様が明示的な起動許可を持つ AMI が一覧表示されます。このリストでは、お客様が所有するパブリック AMI が除外されています。

Copy
$ aws ec2 describe-images --executable-users self

次のコマンドを使用すると、Amazon が所有する AMI が一覧表示されます。Amazon のパブリックイメージにはエイリアスの所有者が設定されており、アカウントフィールドに amazon として表示されます。これを利用すれば、Amazon から AMI を簡単に見つけられます。他のユーザーは、AMI にエイリアスを設定できません。

Copy
$ aws ec2 describe-images --owners amazon

次のコマンドを使用すると、指定した AWS アカウントが所有する AMI が一覧表示されます。

Copy
$ aws ec2 describe-images --owners 123456789012

表示される AMI の数を減らすには、フィルタを使用して、興味のある種類の AMI に限定して表示します。たとえば、次のフィルタを使用すると、EBS-backed AMI のみが表示されます。

Copy
--filters "Name=root-device-type,Values=ebs"

または、AWS Tools for Windows PowerShell コマンド Get-EC2Image を使用することもできます。

共有 AMI を使用する

共有 AMI を使用する前に、次の手順を実行して、インスタンスへの好ましくないアクセスを許可する認証情報が第三者により事前にインストールされていないことと、機密データを第三者に送信する可能性があるリモートロギングが事前設定されていないことを確認します。システムセキュリティ改善についての詳細は、AMI で使用される Linux ディストリビューションの文書を確認してください。

インスタンスへのアクセスを誤って失わないように、SSH セッションを 2 つ開始して、見覚えのない認証情報を削除し、その後も SSH を使用してインスタンスにログインできることが確認されるまで、2 つ目のセッションを開いておくことをお勧めします。

  1. 未許可のパブリック SSH キーを特定し、無効にします。ファイル内の唯一のキーは、AMI の起動に使用したキーである必要があります。次のコマンドを使用すると、authorized_keys ファイルが見つかります。

    Copy
    $ sudo find / -name "authorized_keys" -print -exec cat {} \;
  2. ルートユーザーにはパスワードベースの認証を無効にします。ssh_config ファイルを開き、次のように PermitRootLogin 行を編集します。

    Copy
    PermitRootLogin without-password

    あるいは、ルートとしてインスタンスにログインする機能を無効にできます。

    Copy
    PermitRootLogin No

    sshd サービスを再起動します。

  3. インスタンスにログインできるユーザーアカウントが他にないか確認します。スーパーユーザー権限を持つアカウントが特に危険です。不明のアカウントがあれば、そのパスワードを削除するか、ロックします。

  4. 開いていても使用していないポートと、着信接続をリスニングしている実行中のネットワークサービスをチェックします。

  5. 事前設定されているリモートロギングを防ぐには、既存の設定ファイルを削除し、rsyslog サービスを再起動してください。以下に例を示します。

    Copy
    $ sudo rm /etc/rsyslog.config $ sudo service rsyslog restart
  6. すべての cron ジョブが正当であることを確認します。

セキュリティ上のリスクとして考えられるパブリック AMI を発見した場合、AWS セキュリティチームにご連絡ください。詳細については、AWS セキュリティセンターを参照してください。