リソースの一覧表示およびフィルタリング - Amazon Elastic Compute Cloud

リソースの一覧表示およびフィルタリング

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

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

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

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

コンソールを使用して EC2 リソースをリスト表示するには

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

  2. ナビゲーションペインで、リソースタイプに対応するオプションを選択します。例えば、インスタンスを一覧表示するには、[インスタンス] を選択します。

    このページには、選択したリソースタイプのすべてのリソースが表示されます。

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

リソースリストをフィルタリングするには

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

  2. 検索フィールドを選択します。

  3. リストからフィルターを選択します。

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

  5. フィルター値を選択します。

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

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

検索とフィルター機能は、Amazon EC2 の古い コンソールと新しいコンソールで若干異なります。

新しいコンソールでは、2 種類のフィルタリングがサポートされています。

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

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

新しい Amazon 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. [Use regular expression matching] (正規表現で検索する) チェックボックスをオフにします。このチェックボックスがオンの場合、クライアントのフィルタリングが実行されます。

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

  4. [Confirm] (確認) を選択します。

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

  • [(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 (インスタンスの状態)] 列の検索アイコン ( ) を使用することもできます。プラス記号 (+) が付いた検索アイコンは、その属性に一致するすべてのインスタンスを表示します。マイナス記号 (-) が付いた検索アイコンは、その属性に一致するすべてのインスタンスを除外します。

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

部分検索

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

正規表現検索

正規表現検索を使用するには、[Preferences ] (設定) ウィンドウで、 [Use regular expression matching] (正規表現で検索する) をオンにする必要があります。

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

注記

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

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

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

注記

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 で、かつ実行状態のインスタンスだけが返されます。

以前の Amazon EC2 コンソールでは、次のタイプの検索がサポートされています。

キーワードによる検索

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

属性による検索

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

  1. インスタンス画面の検索フィールドで、「Instance State」の入力を開始します。文字の入力中に、一致する属性のリストが表示されます。

  2. リストから [Instance State ] を選択します。選択した属性に使用可能な値のリストが表示されます。

  3. リストから [停止] を選択します。

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

逆順検索

逆検索では、指定した値に一致しないリソースを検索できます。逆検索は、検索キーワードの先頭に感嘆符 (!) を付けることによって実行されます。例えば、終了していないすべてのインスタンスを一覧表示するには、[インスタンスの状態] 属性で検索し、キーワードに「!Terminated」と入力します。

部分検索

部分検索では、部分文字列値を検索できます。部分検索を実行するには、検索するキーワードの一部だけを入力します。例えば、t2.microt2.smallt2.medium のすべてのインスタンスを検索するには、[インスタンスタイプ] 属性で検索し、キーワードに「t2」と入力します。

正規表現検索

フィールド内の値を特定のパターンと一致させる場合、正規表現が役立ちます。例えば、s で始まる属性値を持つすべてのインスタンスを検索するには、^s を検索します。または、xyz で終わる属性値を持つすべてのインスタンスを検索するには、xyz$ を検索します。正規表現の検索には、大文字と小文字は区別されません。

検索を組み合わせる

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

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

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

フィルタリングの考慮事項

  • 1 つのリクエストで複数のフィルターと複数のフィルタの値を指定できます。

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

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

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

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

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

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

describe-instances を使用して Amazon 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

タグに基づくフィルタリング

タグに従ってリソースのリストをフィルタリングする方法の例については、「コマンドラインによるタグの使用」を参照してください。

Amazon EC2 Global View を使用して、リージョン間のリソースを一覧表示およびフィルターをかけます

Amazon EC2 Global View では、Amazon EC2 および Amazon VPC リソースの一部を、単一のAWSリージョン、または単一のコンソールで複数のリージョンにまたがって表示できます。Amazon EC2 Global View を使用して、AWS アカウントが有効になっているすべてのリージョンで、すべての VPC、サブネット、インスタンス、セキュリティグループ、ボリューム、および Auto Scaling グループの概要を表示できます。またAmazon EC2 Global View では、グローバル検索機能を使用して、特定のリソースまたは特定のリソースタイプを複数のリージョンにまたがって同時に検索できます。

Amazon EC2 Global View グローバルビューでは、いかなる方法でもリソースを変更することはできません。

必要なアクセス許可

IAM ユーザーが Amazon EC2 Global View を使用するには、次のアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeVpcs", "ec2:DescribeRegions", "ec2:DescribeVolumes", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "autoscaling:DescribeAutoScalingGroups" ], "Resource": "*" }] }

Amazon EC2 Global Viewを使用するには

Amazon EC2 Global Viewコンソール https://console.aws.amazon.com/ec2globalview/homeを開きます。

コンソールは、次の 2 つのタブで構成されています。

  • リージョンエクスプローラー—このタブには、次のセクションがあります。

    • リソースの概要—すべてのリージョンにわたって、リソースのハイレベルな概要を提供します。

      有効なリージョンはAWSアカウントが有効になっているリージョンの数を示します。残りのフィールドは、それらのリージョンに現在あるリソースの数を示します。いずれかのリンクを選択すると、すべてのリージョンでそのタイプのリソースを表示します。たとえば、インスタンスラベルの下のリンクが10リージョンで29の場合は、現在リージョン29間のインスタンス10が存在しているということを示しています。リンクを選択して、29すべてのインスタンスのリストを表示します。

    • リージョンごとのリソース数— すべてのAWSリージョン (アカウントが有効になっていないリージョンを含む) を一覧に表示し、各リージョンのリソースタイプの合計を表示します。

      リージョン名を選択すると、特定のリージョンのすべてのタイプのリソースを表示します。例えば、アフリカ (ケープタウン) af-south-1 を選択すると、そのリージョン内の VPC、サブネット、インスタンス、セキュリティグループ、ボリューム、および Auto Scaling グループをすべて表示します。または、リージョンを選択し、選択したリージョンのリソースの表示を選びます。

      特定のリージョン内の特定のリソースタイプの値を選択して、そのリージョン内のタイプのリソースのみを表示します。たとえば、アフリカ (ケープタウン) af-south-1のInstancesの値を選択して、そのリージョンのインスタンスのみを表示します。

  • グローバル検索-このタブで、1 つのリージョンまたは複数のリージョンにわたって、特定のリソースまたは特定のリソースタイプを検索できます。また、特定のリソースの詳細を表示できます。

    リソースを検索するには、グリッドの前のフィールドに検索条件を入力します。リージョン、リソースタイプ、およびリソースに割り当てられたタグにより検索できます。

    特定のリソースの詳細を表示するには、グリッドでそのリソースを選択します。またリソースのリソース ID を選択して、それぞれのコンソールで開くこともできます。たとえば、インスタンス ID を選択して Amazon EC2 コンソールでインスタンスを開く、またはサブネット ID を選択して Amazon VPC コンソールでサブネットを開きます。