アマゾン EC2 リソースの検索 - Amazon Elastic Compute Cloud

アマゾン EC2 リソースの検索

アマゾン EC2 コンソールを使用して、一部のタイプのリソースのリストを取得できます。対応するコマンドまたは API アクションを使用して、各タイプのリソースのリストを取得できます。リソースが多い場合は所定の条件に一致するリソースのみを表示、または非表示にするように結果をフィルタリングすることができます。

コンソールを使用したリソースの一覧表示およびフィルタリング

コンソールを使用したリソースの一覧表示

コンソールを使用して、最も一般的に使用される アマゾン EC2 リソースタイプを表示できます。その他のリソースを表示するにはコマンドラインインターフェイスまたは API アクションを使用します。

コンソールを使用して EC2 リソースをリスト表示するには
  1. アマゾン EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。

  2. アマゾン EC2 リソースは AWS リージョンに固有です。ナビゲーションバーで、[リージョン] セレクタからリージョンを選択してください。

    リージョンの表示
  3. ナビゲーションペインで、リソースタイプに対応するオプションを選択してください。例えば、すべてのインスタンスを一覧表示するには[インスタンス] を選択してください。

コンソールを使用したリソースのフィルタリング

リソースリストをフィルタリングするには
  1. ナビゲーションペインで、リソースタイプを選択します ([Instances] など)。

  2. 検索フィールドを選択してください。

  3. リストからフィルターを選択してください。

  4. = (等しい))、などの演算子を選択してください。一部の属性では他の演算子を選択することもできます。すべての画面で演算子が選択できるわけではないことに注意してください。

  5. フィルター値を選択してください。

  6. 選択したフィルタを編集するにはフィルタートークン (青いボックス) を選択し、必要な編集を行った上で [Apply] (適用) をクリックしてください。すべての画面で、選択したフィルターの編集がサポートされているわけではないことに注意してください。

    フィルターを編集します。
  7. 完了したら、フィルターを削除します。

サポートされているフィルタ

アマゾン EC2 コンソールでは2 種類のフィルタリングがサポートされています。

  • API フィルタリングはサーバー側で行われます。このフィルタリングは API コールに適用され、サーバーから返されるリソースの数が減少します。これにより、大量のリソースにわたる迅速なフィルタリングが可能になり、サーバーとブラウザ間のデータ転送時間とコストを削減できます。API に関するフィルタリングでは[=] (等しい) および [:] (含む) の演算子が使用できます。また、常に大文字と小文字が区別されます。

  • クライアントのフィルタリング はクライアント側で行われます。これにより、ブラウザで既に使用可能なデータ (つまり、APIによって既に返されたデータ) をフィルタリングできます。クライアントフィルタリングはブラウザ内の小さなデータセットまでフィルタリングするために、API フィルタと併用してうまく機能します。[=] (等しい) および [:] (含む) の演算子に加え、クライアントフィルタリングでは[>=] (以上) のような範囲演算子や、[! =] (等しくない) などの否定 (反転) 演算子も使用することができます。

アマゾン EC2 コンソールでは次のタイプの検索がサポートされます。

キーワードによる検索

キーワードによる検索は検索する属性やタグキーを指定せずに、リソースの属性とタグの全体から値を検索できる、フリーテキスト検索です。

注記

すべてのキーワード検索ではクライアントフィルタリングが使用されます。

キーワードで検索するには検索フィールドに検索したいキーワードを入力するか貼り付けて、Enter を選択してください。例えば 123 を検索すると、IP アドレス、インスタンス ID、VPC ID、AMI ID などの属性の中、あるいは Name などのタグの中に 123 が含まれる、すべてのインスタンスが一致します。フリーテキスト検索で予期しない一致が返された場合は追加のフィルタを適用します。

属性による検索

属性による検索ではすべてのリソースで特定の属性を検索できます。

注記

属性検索では選択した属性に応じて、API フィルタリングまたはクライアントフィルタリングが使用されます。属性検索を実行すると、属性はそれに応じてグループ化されます。

例えば、すべてのインスタンスの [インスタンスの状態] 属性を検索して、stopped 状態にあるインスタンスのみを取得することができます。目的:

  1. インスタンス画面の検索フィールドで、「Instance state」の入力を開始します。文字を入力すると、[Instance state (インスタンスの状態)] には[API filters (API フィルター)] と [Client filters (クライアントフィルター)] の 2 種類のフィルターが表示されます 。

  2. サーバー側で検索するには[API filters (API フィルター)] で [Instance state (インスタンスの状態)] を選択してください。クライアント側で検索するには[Client filters (クライアントフィルター)] で [Instance state (client) (インスタンスの状態 (クライアント))] を選択してください。

    選択した属性に使用可能な演算子のリストが表示されます。

  3. [=] (等しい) 演算子をクリックしてください。

    選択された属性と演算子に適合する可能性のある、値のリストが表示されます。

  4. リストから [停止] を選択してください。

タグによる検索

タグによる検索では現在表示されているテーブル内のリソースを、タグキーまたはタグ値でフィルタリングできます。

タグ検索では[Preferences] (設定) ウィンドウの設定に応じて、API フィルタリングまたはクライアントフィルタリングのどちらかが使用されます。

タグに対し API フィルタリングが使用されるようにするには
  1. [Preferences] (設定) ウインドウを開きます。

  2. [正規表現一致を使用] チェックボックスをオフにします。このチェックボックスがオンの場合、クライアントのフィルタリングが実行されます。

  3. [大文字と小文字を区別する一致を使用] チェックボックスをオンにします。このチェックボックスがオフの場合、クライアントのフィルタリングが実行されます。

  4. [確認] を選択してください。

タグに関する検索では以下の値を使用できます。

  • [(empty)] ((空)) – 指定したタグキーを持ち、かつタグ値を持たないすべてのリソースを検索します。

  • [All values] (すべての値) – 指定したタグキーと任意のタグ値を持つすべてのリソースを検索します。

  • [Not tagged] (タグ付けなし) – 指定したタグキーを持たないすべてのリソースを検索します。

  • [The displayed value] (表示された値) – 指定したタグキーと指定したタグ値を持つすべてのリソースを検索します。

次のテクニックを使用して、検索の精度を高めたり、絞り込んだりできます。

逆順検索

逆検索では指定した値に一致しないリソースを検索できます。[Instances] (インスタンス) 画面および [AMIs] 画面で逆検索を実行するには[!=] (等しくない) または [!:] (含まない) 演算子を選択した上で、値を選択してください。他の場面では検索キーワードのプレフィックスに感嘆符 (!) を付けることによって逆検索が実行されます。

注記

逆検索はクライアントフィルタのキーワード検索および属性検索でのみサポートされます。API フィルタの属性検索ではサポートされていません。

例えば、すべてのインスタンスの [インスタンスの状態] 属性を検索して、terminated 状態にあるインスタンスをすべて除外することができます。目的:

  1. インスタンス画面の検索フィールドで、「Instance state」の入力を開始します。文字を入力すると、[Instance state (インスタンスの状態)] には[API filters (API フィルター)] と [Client filters (クライアントフィルター)] の 2 種類のフィルターが表示されます 。

  2. [Client filters] (クライアントフィルター) で、[Instance state (client)] (インスタンスの状態 (クライアント)) を選択してください。逆検索はクライアントフィルタでのみサポートされます。

    選択した属性に使用可能な演算子のリストが表示されます。

  3. [! =] (等しくない) を選択した上で、[terminated] (終了) をクリックしてください。

インスタンス状態の属性に基づいてインスタンスをフィルタリングするには[Instance state (インスタンスの状態)] 列の検索アイコン ( Search icon. ) を使用することもできます。プラス記号 (+) が付いた検索アイコンはその属性に一致するすべてのインスタンスを表示します。マイナス記号 (-) が付いた検索アイコンはその属性に一致するすべてのインスタンスを除外します。

もう 1 つ逆検索の例を挙げます。launch-wizard-1 という名前のセキュリティグループが割り当てられていないすべてのインスタンスを一覧表示するには[Client filters] (クライアントフィルター) で、[!=] を選択した上で検索バーに launch-wizard-1 と入力し、[Security group name] (セキュリティグループ名) 属性による検索を行います。

部分検索

部分検索では部分文字列値を検索できます。部分検索を実行するには検索するキーワードの一部だけを入力してください。[Instances] (インスタンス) 画面、および [AMIs] 画面では[:] (含む) 演算子を使用する場合のみ部分検索ができます。他の画面ではクライアントフィルター属性を選択して、キーワードの一部だけを直接入力して検索できます。例えば、[Instance type] (インスタンスタイプ) 画面で t2.microt2.smallt2.medium のすべてのインスタンスを検索するにはキーワードに t2 を入力し、[Instance Type] (インスタンスタイプ) 属性で検索します。

正規表現検索

正規表現検索を使用するには[設定] ウィンドウの [正規表現一致を使用] チェックボックスをオンにする必要があります。

フィールド内の値を特定のパターンと一致させる場合、正規表現が役立ちます。例えば、s で始まる値を検索するには^s を検索します。xyz で終わる値を検索するにはxyz$ を検索します。または1 つ以上の文字が続く数字で始まる値を検索するには[0-9]+.* を検索します。

注記

正規表現検索はクライアントフィルタでのキーワード検索および属性検索でのみサポートされます。API フィルタの属性検索ではサポートされていません。

大文字と小文字を区別する検索

大文字と小文字を区別する検索を使用するには[設定] ウィンドウの [大文字と小文字を区別する一致を使用] チェックボックスをオンにする必要があります。大文字と小文字を区別する設定はクライアントフィルタとタグフィルタにのみ適用されます。

注記

API フィルターでは常に大文字と小文字が区別されます。

ワイルドカード検索

0 文字以上の文字に一致させるには* ワイルドカードを使用します。0 文字または 1 文字に一致させるには? ワイルドカードを使用します。例えば、prodprods、および production の値を含むデータセットの場合、prod* での検索はすべての値と一致しますが、prod? での検索は prodprods にのみ一致します。リテラル値を使用するにはバックスラッシュ (\) でエスケープします。例えば、「prod\*」 は「prod*」と一致します。

注記

ワイルドカード検索はAPI フィルタの属性およびタグ検索でのみサポートされます。これはキーワード検索、ならびに、クライアントフィルタでの属性とタグによる検索では使用できません。

検索を組み合わせる

一般に、同じ属性を持つ複数のフィルタはOR で自動的に結合されます。例えば、Instance State : Running および Instance State : Stopped を検索すると、実行中または停止中のすべてのインスタンスが返されます。AND で検索を結合するにはさまざまな属性を検索します。例えば、Instance State : Running および Instance Type : c4.large を検索すると、タイプが c4.large で、かつ実行状態のインスタンスだけが返されます。

コンソールを使用してフィルターセットの保存

保存されたフィルターセットはアマゾン EC2 リソースを効率的に表示するために作成して再利用できるカスタマイズされたフィルターのグループです。この機能によってワークフローが合理化され、特定のリソースビューにすばやくアクセスできるようになります。

主な特徴

  • カスタマイズ: ニーズに合わせてフィルターセットを作成します。例えば、フィルターセットを作成し、指定した日付以降に作成された gp3 ボリュームのみを表示できます。

  • デフォルトフィルター: ページにデフォルトのフィルターセットを設定すると、ページに移動するとデフォルトフィルターが自動的に適用されます。デフォルトが設定されていない場合、フィルターは適用されません。

  • 適用が簡単: 保存したフィルターセットを選択し、すぐに適用します。次に アマゾン EC2 は関連するリソースを表示し、アクティブなフィルターは青いトークンで示されます。

  • 柔軟性: 必要に応じてフィルターセットを作成、変更、削除します。

保存されたフィルターセットは アマゾン EC2 コンソールでのみサポートされており、現在は [ボリューム] ページにのみ利用できます。

フィルターセットを作成

新規のフィルターセットを作成する方法
  1. アマゾン EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインでリソース (例えば、[ボリューム]) を選択してください。

  3. 検索フィールドでフィルターセットのフィルターを選択してください。

  4. [フィルターをクリア] ボタンの横にある矢印を選択し、[新規のフィルターセットを保存] を選択してください。

  5. [フィルターセットの保存] ウィンドウで次の操作を行います。

    1. [フィルターセット名] にはフィルターセットの名前を入力してください。

    2. (オプション) [フィルターセットの説明] にはフィルターセットの説明を入力してください。

    3. (オプション) フィルターセットをデフォルトフィルターとして設定するには[デフォルトとして設定] チェックボックスをオンにします。

      注記

      コンソールページを開くたびに、デフォルトフィルターが自動的に適用されます。

    4. [Save] を選択してください。

フィルターセットを変更

フィルターを変更する方法
  1. [保存されたフィルターセット] リストから変更するフィルターを選択してください。

  2. フィルターを追加するには検索フィールドでフィルターセットに追加するフィルターを選択してください。セットのフィルターを削除するにはフィルタートークンの [X] を選択してください。

  3. [フィルターをクリア] ボタンの横にある矢印を選択し、[フィルターセットの変更] を選択してください。

  4. [フィルターセットの変更] ウィンドウで次の操作を行います。

    1. (オプション) フィルターセットをデフォルトフィルターとして設定するには[デフォルトとして設定] チェックボックスをオンにします。

      注記

      コンソールページを開くたびに、デフォルトフィルターが自動的に適用されます。

    2. Modify を選択してください。

フィルターセットを削除

フィルターを削除する方法
  1. [保存されたフィルターセット] リストから削除するフィルターを選択してください。

  2. [フィルターをクリア] ボタンの横にある矢印を選択し、[フィルターセットの削除] を選択してください。

  3. [フィルターセットの削除] ウィンドウでフィルターを確認して削除するフィルターを確定したら、[削除] を選択してください。

CLI と API を使用した一覧表示およびフィルタリング

リソースタイプごとに、そのタイプのリソースの一覧表示に使用する CLI コマンドまたは API アクションが用意されています。結果として得られるリソースのリストは長くなる場合があるため、特定の条件に一致するリソースのみを含めるように結果をフィルタリングする方がより速く、より便利です。

フィルタリングの考慮事項
  • 1 回のリクエストで、フィルターごとに最大 50 種類のフィルターと最大 200 個の値を指定できます。

  • フィルターでは最大 255 文字を使用できます。

  • フィルタの値にはワイルドカードを使用することもできます。アスタリスク (*) は 0 個以上の文字、クエスチョンマーク (?) は 0 文字または 1 文字にマッチングします。

  • フィルタの値は大文字と小文字が区別されます。

  • 検索にはワイルドカード文字のリテラル値を含めることができます。ただ、文字の前にバックスラッシュを使用してエスケープする必要があります。例えば、\*amazon\?\\ という値ではリテラル文字列 *amazon?\ が検索されます。

  • フィルター値として を指定することはできませんnull。代わりに、クライアント側のフィルタリングを使用します。たとえば、次のコマンドは --queryオプションを使用して、キーペアなしで起動されたインスタンスの IDs を返します。

    aws ec2 describe-instances --query 'Reservations[*].Instances[?!not_null(KeyName)].InstanceId' --output text
サポートされているフィルタ

各 アマゾン EC2 リソースでサポートされているフィルタを確認するには次のドキュメントを参照してください。

例: 単一のフィルタを指定する

describe-instances を使用して アマゾン EC2 インスタンスを一覧表示できます。フィルタを使用しないと、レスポンスにはすべてのリソースに関する情報が含まれます。次のコマンドを使用して、実行中のインスタンスのみを出力に含めることができます。

aws ec2 describe-instances --filters Name=instance-state-name,Values=running

実行中のインスタンスのインスタンス ID のみを一覧表示するには次のように --query パラメータを追加します。

aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query "Reservations[*].Instances[*].InstanceId" --output text

出力例を次に示します。

i-0ef1f57f78d4775a4 i-0626d4edd54f1286d i-04a636d18e83cfacb
例: 複数のフィルタまたはフィルタ値の指定

複数のフィルタまたは複数のフィルタ値を指定する場合、リソースはすべてのフィルタに一致して結果に含める必要があります。

次のコマンドを使用すると、タイプが m5.large または m5d.large のいずれかであるすべてのインスタンスを一覧表示できます。

aws ec2 describe-instances --filters Name=instance-type,Values=m5.large,m5d.large

次のコマンドを使用して、タイプが t2.micro であるすべての停止したインスタンスを一覧表示できます。

aws ec2 describe-instances --filters Name=instance-state-name,Values=stopped Name=instance-type,Values=t2.micro
例: フィルタ値でのワイルドカードの使用

describe-snapshots を使用して EBS スナップショットを記述するときに、database フィルタのフィルタ値として description を指定した場合、コマンドは記述が「database」であるスナップショットのみを返します。

aws ec2 describe-snapshots --filters Name=description,Values=database

ワイルドカード * はゼロ文字以上と一致します。フィルタ値として *database* を指定すると、このコマンドは記述に database という単語を含むスナップショットのみを返します。

aws ec2 describe-snapshots --filters Name=description,Values=*database*

ワイルドカード ? は厳密に 1 文字に一致します。database? をフィルタ値に指定した場合、コマンドは記述が「database」または「database」の後に 1 文字続くスナップショットのみを返します。

aws ec2 describe-snapshots --filters Name=description,Values=database?

database???? を指定すると、コマンドは記述が「database」の後に最大 4 文字続くスナップショットだけを返します。「database」の後に 5 文字以上続く記述は除外されます。

aws ec2 describe-snapshots --filters Name=description,Values=database????
例: 日付に基づくフィルタリング

AWS CLI ではJMesPath を使用して、式を使用した結果をフィルタリングできます。例えば、次の describe-snapshots コマンドは指定された日付 (2020-03-31 で表記) より前に AWS アカウント によって作成されたすべてのスナップショット (123456789012 で表記) の ID を表示します。所有者を指定しない場合、結果にはすべてのパブリックスナップショットが含まれます。

aws ec2 describe-snapshots --filters Name=owner-id,Values=123456789012 --query "Snapshots[?(StartTime<='2020-03-31')].[SnapshotId]" --output text

次のコマンドは指定した日付範囲で作成されたすべてのスナップショットの ID を表示します。

aws ec2 describe-snapshots --filters Name=owner-id,Values=123456789012 --query "Snapshots[?(StartTime>='2019-01-01') && (StartTime<='2019-12-31')].[SnapshotId]" --output text
タグに基づくフィルタリング

タグに従ってリソースのリストをフィルタリングする方法の例については「タグによる アマゾン EC2 リソースのフィルタリング」を参照してください。

アマゾン EC2 Global View を使用して、リージョン間のリソースを表示する

アマゾン EC2 Global View では単一の AWS リージョン、または単一のコンソールで同時に複数のリージョンの アマゾン EC2 リソースおよび アマゾン VPC リソースを表示および検索できます。詳細については「Amazon EC2 Global View を使用して、リージョン間のリソースを表示する」を参照してください。