

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Resource Explorer による検索クエリの例
<a name="using-search-query-examples"></a>

以下の例は、AWS Resource Explorer で使用できる一般的な種類のクエリの構文を示しています。

**重要**  
AWS CLI `search` のコマンド、および最初の文字として `-` 演算子を含む `--query-string` パラメーター値を使用する場合は、通常のスペース文字の代わりにイコール記号 (`=`) を使用してパラメーター名とパラメーター値を区切る必要があります。スペース文字を使用すると、CLI は文字列を誤って解釈します。例えば、以下のクエリは失敗します。  

```
aws resource-explorer-2 search --query-string "-tag:none region:us-east-1"
```
スペースを `=` で置換した次の修正済みクエリは、期待どおりに機能します。  

```
aws resource-explorer-2 search --query-string="-tag:none region:us-east-1"
```
`-` がパラメータ値の最初の文字にならないようにクエリ文字列内のフィルターの順序を変更すれば、標準のスペース文字を使用することができます。次のクエリは機能します。  

```
aws resource-explorer-2 search --query-string "region:us-east-1 -tag:none"
```

## タグ付けされていないリソースの検索
<a name="example-1"></a>

アカウント内で[属性ベースのアクセス制御 (ABAC)](https://aws.amazon.com/identity/attribute-based-access-control/) を使用するか、[コストベースの割り当て](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)を使用するか、リソースに対してタグベースの自動化を実行する場合は、アカウント内のどのリソースにタグがないかを把握しておく必要があります。次のクエリ例では、特殊な[フィルタータグ：none](using-search-query-syntax.md#query-syntax-filters) を使用して、ユーザー生成タグのないリソースをすべて返します。

この `tag:none` フィルターは、ユーザーが作成したタグにのみ適用されます。AWS によって生成、管理されるタグはこのフィルター処理の例外となり、結果には引き続き表示されます。

```
tag:none
```

AWS で作成されたシステムタグもすべて除外するには、次の例に示すように 2 つ目のフィルターを追加します。クエリ文字列の最初の要素は、すべてのユーザー作成タグを除外するという点で前の例と重複しています。AWS で作成されたシステムタグは常に `aws` の文字で始まります。したがって、[tag.key フィルター](using-search-query-syntax.md#query-syntax-filters)で[論理演算子 NOT (-)](using-search-query-syntax.md#query-syntax-operators) を使用することにより、キー名が `aws` で始まるタグを持つリソースをすべて除外することもできます。

```
tag:none -tag.key:aws*
```

## タグ付けされているリソースの検索
<a name="example-2"></a>

任意のタイプのタグを持つリソースをすべて検索するには、以下のように [論理演算子 NOT (-)](using-search-query-syntax.md#query-syntax-operators) と特殊ケースの [tag: none](using-search-query-syntax.md#query-syntax-filters) フィルターを組み合わせて使用します。

```
-tag:none
```

## 特定のタグが欠落しているリソースの検索
<a name="example-3"></a>

また、ABAC に関連して、指定されたキーのタグがないリソースをすべて検索したい場合があると思います。次の例では、[論理演算子 NOT `-`](using-search-query-syntax.md#query-syntax-operators) を使用して、キー名 `Department` のタグがないすべてのリソースを返します。

```
-tag.key:Department
```

## 無効なタグ値を持つリソースの検索
<a name="example-4"></a>

コンプライアンス上の理由から、重要なタグのタグ値が欠落していたり、スペルが間違っていたりするリソースをすべて検索することをお勧めします。次の例では、キー名 `environment` のタグを持つすべてのリソースを返します。ただし、このクエリでは、`prod`、`integ`、`dev`のいずれかの有効な値を持つリソースはすべて除外されます。このクエリで表示される結果には、調査して修正する必要のある他の何らかの値が含まれています。

**重要**  
Resource Explorer の検索では大文字と小文字は**区別されない**ので、大文字・小文字の使用だけが異なるキー名や値は判別することができません。たとえば、次の例の値は、`PROD`、`prod`、`PrOd`、または任意のバリエーションと一致します。ただし、アプリケーションによっては、大文字と小文字を区別してタグを使用する場合があります。小文字のみのタグキー名と値を使用するなど、組織における大文字・小文字使用戦略を標準化することをお勧めします。一貫したアプローチをとることで、大文字・小文字の使用方法だけが異なるタグの使用に伴う混乱を避けることができます。

```
tag.key:environment -tag:environment=prod -tag:environment=integ -tag:environment=dev
```

## AWS リージョン のサブセット内のリソースの検索
<a name="example-5"></a>

[`'*'` ワイルドカード演算子](using-search-query-syntax.md#query-syntax-operators)の使用により、世界の特定の地域内のすべてのリージョンを照合できます。次の例では、ヨーロッパ (EU) 域内の各リージョンにあるすべてのリソースを返します。

```
region:eu-*
```

## グローバルリソースの検索
<a name="example-6"></a>

個々のリージョンとは関係がないと思われるグローバルリソースを検索するには、`region:` フィルターに特殊ケース `global` 値を使用してください。

```
region:global
```

## 特定のリージョン内の特定のタイプのリソースの検索
<a name="example-7"></a>

複数のフィルターを使用した場合、Resource Explorer はプレフィックスと暗示の `AND` 論理演算子の組み合わせにより式を評価します。次の例では、アジア太平洋 (香港) リージョン `AND` にあるリソースのすべてが Amazon EC2 インスタンスであることを返します。

```
region:ap-east-1 resourcetype:ec2:instance
```

**注記**  
暗示的 `AND` であるため、リソースに関連付けられる値が 1 つしかない属性には 1 つのフィルタしか使用できません。たとえば、1 つのリソースは 1 つの AWS リージョン にのみ属することができます。そのため、以下のクエリは結果を返しません。  

```
region:us-east-1 region:us-west-1
```
この制限は、`tag:`、`tag.key:`、`tag.value:`など、同時に複数の値を持つことができる属性のフィルターには**適用されません**。

## 複数のワードを含むリソースの検索
<a name="example-8"></a>

複数ワードの用語を[二重引用符 (`"`)](using-search-query-syntax.md#query-syntax-operators) で囲むと、指定した順序で用語全体が一致する結果だけが返されます。二重引用符を使用しない場合、Resource Explorer は用語を構成する個々の単語と一致するすべてのリソースを返します。たとえば、次のクエリは二重引用符を使用しているので、用語 `"west wing"` 全体と一致するリソースのみを返します。このクエリは、`us-west-2` AWS リージョン (またはコードに `west` を含む他のリージョン) 内のリソースや、「west」を伴わなず「wing」のみと一致する文字列のリソースの照合は**行いません**。

```
"west wing"
```

## 指定した CloudFormation スタックの一部であるリソースの検索
<a name="example-9"></a>

特定の CloudFormation スタックの一部としてリソースを作成すると、すべてのリソースにスタックの名前が自動的にタグ付けされます。次の例では、指定したスタックの一部として作成されたすべてのリソースを返します。

```
tag:aws:cloudformation:stack-name=my-stack-name
```