

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 尋找您的 Amazon EC2 資源
<a name="Using_Filtering"></a>

您可以使用 Amazon EC2 主控台取得某些資源類型的清單。您可以使用資源對應的命令或 API 動作取得每種資源類型的清單。如果您有許多資源，您可篩選結果，只包含或排除符合特定條件的資源。

**Topics**
+ [主控台步驟](#advancedsearch)
+ [命令列範例](#Filtering_Resources_CLI)
+ [全域檢視 (跨區域)](#global-view-intro)

## 使用主控台列出和篩選資源
<a name="advancedsearch"></a>

**Contents**
+ [使用主控台列出資源](#listing-resources)
+ [使用主控台篩選資源](#console-filter)
  + [支援的篩選條件](#console-filters)
+ [使用主控台儲存篩選條件集](#saved-filter-sets-in-the-ec2-console)
  + [主要功能](#saved-filter-sets-key-features)
  + [建立篩選條件集](#create-saved-filter-sets)
  + [修改篩選條件集](#modify-saved-filter-sets)
  + [刪除篩選條件集](#delete-saved-filter-sets)

### 使用主控台列出資源
<a name="listing-resources"></a>

您可以使用主控台檢視最常見的 Amazon EC2 資源類型。若要檢視其他資源，請使用命令列介面或 API 動作。

**使用主控台列出 EC2 資源**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. Amazon EC2 資源專屬於 AWS 區域。從導覽列中，選取**區域**選取器。  
![\[檢視區域\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/EC2_select_region.png)

1. 在導覽窗格中選擇對應資源類型的選項。例如，若要列出執行個體，請選擇**執行個體**。

### 使用主控台篩選資源
<a name="console-filter"></a>

**篩選資源清單**

1. 在導覽窗格中，選取資源類型 (例如，**Instances (執行個體)**)。

1. 選擇搜尋欄位。

1. 從清單中選取篩選條件。

1. 選取運算子，例如 **=** (等於)。某些屬性有更多可用的運算子可供選取。請注意，並非所有畫面均支援選取運算子。

1. 選取篩選條件值。

1. 若要編輯選取的篩選條件，請選取篩選條件字符 (藍色框)，進行所需的編輯，然後選取 **Apply** (套用)。請注意，並非所有畫面均支援編輯選取的篩選條件。  
![\[編輯篩選條件。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/filter-edit.png)

1. 完成後，請移除篩選器。

#### 支援的篩選條件
<a name="console-filters"></a>

Amazon EC2 主控台支援兩種篩選類型。
+ *API 篩選*發生在伺服器端。篩選會套用在 API 呼叫上，這會減少伺服器傳回的資源數目。它允許快速篩選大量資源，並且可以減少伺服器和瀏覽器之間傳輸資料的時間和成本。API 篩選支援 **=** (等於) 和 **:** (包含) 運算子，並且一律區分大小寫。
+ *用戶端篩選*發生在用戶端。它可讓您篩選瀏覽器中已經可用的資料 (也就是 API 已傳回的資料)。用戶端篩選與 API 篩選器結合使用效果很好，可在瀏覽器中篩選至較小的資料集。除了 **=** (等於) 和 **:** (包含) 運算子，用戶端篩選也可以支援範圍運算子，例如 **>=** (大於或等於) 和否定 (反向) 運算子，例如 **\$1=** (不等於)。

Amazon EC2 主控台支援下列類型的搜尋：

**以關鍵字搜尋**  
以關鍵字搜尋是一種任意文字搜尋，可讓您在所有資源屬性或標籤中搜尋值，而不需指定要搜尋的屬性或標籤金鑰。  
所有關鍵字搜尋都使用*用戶端篩選*。
要以關鍵字搜尋，請在搜尋方塊中輸入或貼上您要找的內容，然後選擇 **Enter**。例如，搜尋 `123` 會符合任何屬性中具有 *123* 的所有執行個體，例如 IP 地址、執行個體 ID、VPC ID 或 AMI ID，或在其任何標籤中，例如 Name (名稱)。如果任意文字搜尋傳回非預期的相符項目，請套用其他篩選器。

**依屬性搜尋**  
依屬性搜尋可讓您在所有資源中搜尋特定屬性。  
屬性搜尋會使用 *API 篩選*或*用戶端篩選*，視選取的屬性而定。執行屬性搜尋時，屬性會相應地分組。
例如，您可以搜尋所有執行個體的 **Instance state (執行個體狀態)** 屬性，以僅傳回處於 `stopped` 狀態的執行個體。若要執行此作業：  

1. 在**執行個體**畫面的搜尋欄位中，開始輸入 `Instance state`。在您輸入字元時，針對以下**執行個體狀態**會出現兩種類型的篩選條件：**API 篩選條件**和**用戶端篩選條件**。

1. 若要在伺服器側進行搜尋，請在 **API filters** (API 篩選條件) 下選擇 **Instance state** (執行個體狀態)。若要在用戶端側搜尋，請在 **Client filters** (用戶端篩選條件) 下選擇 **Instance state (client)** (執行個體狀態 (用戶端))。

   此時會顯示所選屬性的可能運算子清單。

1. 選擇 **=** (等於) 運算子。

   此時會顯示所選屬性和運算子的可能值清單。

1. 從清單中選擇 **Stopped** (已停止)。

**依標籤搜尋**  
依標籤搜尋，您可以透過標籤金鑰或標籤值篩選目前顯示的表中的資源。  
標籤搜尋使用 *API 篩選*或者*用戶端篩選*，具體取決於 Preferences (偏好設定) 視窗中的設定。  

**確保標籤的 API 篩選**

1. 開啟 **Preferences** (偏好設定) 視窗。

1. 清除**使用常規運算式比對**核取方塊。如果選取此核取方塊，則會執行用戶端篩選。

1. 選取**使用區分大小寫比對**核取方塊。如果清除此核取方塊，則會執行用戶端篩選。

1. 選擇**確認**。
依標籤搜尋時，可以使用下列值：  
+ **(empty)** ((空白)) – 尋找具有指定標籤金鑰的所有資源，但必須沒有標籤值。
+ **All values** (所有值) – 尋找具有指定標籤金鑰和任何標籤值的所有資源。
+ **Not tagged** (未標記) – 尋找不含指定標籤金鑰的索引資源。
+ 顯示的值 – 尋找具有指定標籤金鑰和指定標籤值的所有資源。

您可以使用下列技巧來強化或精簡搜尋：

**反向搜尋**  
反向搜尋可讓您搜尋**不**符合指定值的資源。在**執行個體**和 **AMI** 畫面中，透過選取 **\$1=** (不等於) 或 **\$1:** (不包含) 運算子，然後選取一個值來執行反向搜尋。在其他畫面中，反向搜尋是透過在搜尋關鍵字前面加上驚嘆號 (\$1) 字元來執行。  
只有*用戶端*篩選條件上的關鍵字搜尋和屬性搜尋才支援反向搜尋。API 篩選器上的屬性搜尋不支援此功能。
例如，您可以搜尋所有執行個體的 **Instance state** (執行個體狀態) 屬性，以排除所有處於 `terminated` 狀態的執行個體。若要執行此作業：  

1. 在**執行個體**畫面的搜尋欄位中，開始輸入 `Instance state`。在您輸入字元時，針對以下**執行個體狀態**會出現兩種類型的篩選條件：**API 篩選條件**和**用戶端篩選條件**。

1. 在 **Client filters** (用戶端篩選條件) 下選擇 **Instance state (client)** (執行個體狀態 (用戶端))。只有*用戶端*篩選條件支援反向搜尋。

   此時會顯示所選屬性的可能運算子清單。

1. 選擇 **\$1=** (不等於)，然後選擇 **terminated** (終止)。
若要根據執行個體狀態屬性來篩選執行個體，您還可以使用 **Instance state** (執行個體狀態) 欄中的搜尋圖示 (![\[\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/search.png))。帶有加號 ( **\$1** ) 的搜尋圖示會顯示*符合*該屬性的所有執行個體。帶有減號 ( **-** ) 的搜尋圖示會*排除*符合該屬性的所有執行個體。  
以下是使用反向搜尋的另一個範例：若要列出**未**獲指派名稱為 `launch-wizard-1` 之安全群組的所有執行個體，請在 **Client filters** (用戶端篩選條件) 下，依 **Security group name** (安全群組名稱) 屬性搜尋，選擇 **\$1=**，並在搜尋列中輸入 `launch-wizard-1`。

**部分搜尋**  
透過部分搜尋，您可以搜尋部分字串值。若要執行部分搜尋，請僅輸入您要搜尋的關鍵字部分。在 **Instances** (執行個體) 和 **AMIs** 畫面中，部分搜尋只能使用 **:** (包含) 運算子執行。在其他畫面上，可以選取用戶端篩選條件屬性，並立即僅輸入您要搜尋的關鍵字部分。例如，在 **Instance type** (執行個體類型) 畫面上，若要搜尋所有 `t2.micro`、`t2.small` 和 `t2.medium` 執行個體，請依 **Instance Type** (執行個體類型) 屬性搜尋，並輸入關鍵字 `t2`。

**常規運算式搜尋**  
若要使用常規運算式搜尋，必須選取**偏好設定**視窗中的**使用常規運算式比對**核取方塊。  
當您需要將欄位中的值與特定模式匹配，就可以使用常規表達式。例如，若要搜尋開頭為 `s` 的值，請搜尋 `^s`。若要搜尋結尾為 `xyz` 的值，請搜尋 `xyz$`。或者，若要搜尋以數字開頭後跟一個或多個字元的值，請搜尋 `[0-9]+.*`。  
只有用戶端篩選器上的關鍵字搜尋和屬性搜尋才支援常規運算式搜尋。API 篩選器上的屬性搜尋不支援此功能。

**區分大小寫的搜尋**  
若要使用區分大小寫的搜尋，必須選取**偏好設定**視窗中的**使用區分大小寫比對**核取方塊。區分大小寫的偏好設定僅適用於用戶端和標籤篩選條件。  
API 篩選條件一律區分大小寫。

**萬用字元搜尋**  
使用 `*` 萬用字元來比對零個或多個字元。使用 `?` 萬用字元來比對零個或一個字元。例如，如果您有一個具有值 `prod`、`prods` 和 `production` 的資料集，則搜尋 `prod*` 會比對出所有值，而 `prod?` 僅會比對出 `prod` 和 `prods`。若要使用常值，請使用反斜線 (\$1) 將其逸出。例如，"`prod\*`" 會符合 `prod*`。  
只有 API 篩選器上的屬性和標籤搜尋才支援萬用字元搜尋。用戶端篩選器上的關鍵字搜尋和屬性及標籤搜尋不支援此功能。

**組合搜尋**  
一般而言，具有相同屬性的多個篩選器會自動使用 `OR` 合併。例如，搜尋 `Instance State : Running` 和 `Instance State : Stopped` 會傳回執行中「或」已停止的所有執行個體。若要使用 `AND` 合併搜尋，請跨不同的屬性進行搜尋。例如，搜尋 `Instance State : Running` 和 `Instance Type : c4.large` 會傳回只屬於類型 `c4.large`「且」處於執行中狀態的執行個體。

### 使用主控台儲存篩選條件集
<a name="saved-filter-sets-in-the-ec2-console"></a>

*儲存的篩選條件集*是自訂的篩選條件群組，您可以建立和重複使用這些篩選條件，以有效率地檢視 Amazon EC2 資源。此功能有助於簡化工作流程，快速存取特定資源檢視。

Amazon EC2 主控台僅支援儲存的篩選條件集，目前僅適用於**磁碟區**頁面。

#### 主要功能
<a name="saved-filter-sets-key-features"></a>
+ **自訂：**建立根據您的需求量身打造的篩選條件集。例如，您可以建立篩選條件集，以僅顯示在指定日期之後建立的`gp3`磁碟區。
+ **預設篩選條件：**設定頁面的預設篩選條件集，當您導覽至頁面時，預設篩選條件會自動套用。如果未設定預設值，則不會套用篩選條件。
+ **簡易應用程式：**選取儲存的篩選條件集以立即套用。然後，Amazon EC2 會顯示相關資源，其中包含以藍色字符表示的作用中篩選條件。
+ **彈性：**視需要建立、修改和刪除篩選條件集。

#### 建立篩選條件集
<a name="create-saved-filter-sets"></a>

**建立新的篩選條件集**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Volumes** (磁碟區)。
**注意**  
儲存的篩選條件集目前僅可在**磁碟區**使用。

1. 在搜尋欄位中，選取篩選條件集的篩選條件。

1. 選擇**清除篩選條件**按鈕旁的箭頭，然後選擇**儲存新的篩選條件集**。

1. 在**儲存篩選條件集**視窗中，執行下列動作：

   1. 對於**篩選條件集名稱**，請輸入篩選條件集的名稱。

   1. (選用) 針對**篩選條件集描述**，輸入篩選條件集的描述。

   1. (選用) 若要將篩選條件集設為預設篩選條件，請選取**設為預設**核取方塊。
**注意**  
每次開啟主控台頁面時，預設篩選條件都會自動套用。

   1. 選擇**儲存**。

#### 修改篩選條件集
<a name="modify-saved-filter-sets"></a>

**修改篩選條件集**

1. 從**儲存的篩選條件集**清單中，選取要修改的篩選條件。

1. 若要新增篩選條件，請在搜尋欄位中選取要新增至篩選條件集的篩選條件。若要刪除集合中的篩選條件，請選擇篩選條件字符上的 **X**。

1. 選擇**清除篩選條件**按鈕旁的箭頭，然後選擇**修改篩選條件集**。

1. 在**修改篩選條件集**視窗中，執行下列動作：

   1. (選用) 若要將篩選條件集設為預設篩選條件，請選取**設為預設**核取方塊。
**注意**  
每次開啟主控台頁面時，預設篩選條件都會自動套用。

   1. 選擇 **Modify** (修改)。

#### 刪除篩選條件集
<a name="delete-saved-filter-sets"></a>

**刪除篩選條件集**

1. 從**儲存的篩選條件集**清單中，選取要刪除的篩選條件。

1. 選擇**清除篩選條件**按鈕旁的箭頭，然後選擇**刪除篩選條件集**。

1. 在**刪除篩選條件集**視窗中，檢閱篩選條件以確認這是您要刪除的篩選條件，然後選擇**刪除**。

## 使用命令列來列示及篩選
<a name="Filtering_Resources_CLI"></a>

每種資源類型都有對應的 API 動作，可讓您用來描述、列出或取得該類型的資源。產生的資源清單可能很長，因此若要加快速度並提高實用性，請篩選結果，只包含符合特定條件的資源。

**篩選考量**
+ 在單一請求中，每個篩選條件最多可以指定 50 個篩選條件和 200 個值。
+ 篩選條件字串長度最多可達 255 個字元。
+ 您可以使用萬用字元搭配篩選條件值。星號 (\$1) 代表零或更多字元，問號 (?) 代表零或一個字元。
+ 篩選條件值區分大小寫。
+ 您的搜尋可包含萬用字元的文字值；您只需要在字元前加一個反斜線區隔它們即可。例如，`\*amazon\?\\` 值會搜尋 `*amazon?\` 文字字串。
+ 您無法指定 的篩選條件值null。反之，請使用用戶端篩選。例如，下列命令使用 **--query**選項，並傳回在沒有金鑰對的情況下啟動的執行個體 IDs。

  ```
  aws ec2 describe-instances \
      --query 'Reservations[*].Instances[?!not_null(KeyName)].InstanceId' \
      --output text
  ```

------
#### [ AWS CLI ]

**Example 範例：指定單一篩選條件**  
您可使用 [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 列出 Amazon EC2 執行個體。在沒有篩選條件的情況下，回應會包含您所有資源的資訊。您可使用下面的選項，只在輸出中包含執行中的執行個體。  

```
--filters Name=instance-state-name,Values=running
```
若只要列出執行中執行個體的執行個體 ID，請如下所示新增 `--query` 選項。  

```
--query "Reservations[*].Instances[*].InstanceId"
```

**Example 範例：指定多個篩選條件或篩選條件值**  
如果您指定多個篩選條件或多個篩選條件值，資源必須符合所有要包含在輸出中的篩選條件。  
您可使用下面的選項，列出類型為 `m5.large` 或 `m5d.large` 的所有執行個體。  

```
--filters Name=instance-type,Values=m5.large,m5d.large
```
您可使用下面的選項，列出類型為 `t2.micro` 的所有已停止的執行個體。  

```
--filters Name=instance-state-name,Values=stopped Name=instance-type,Values=t2.micro
```

**Example 範例：在篩選條件值中使用萬用字元**  
您可使用下面的選項並搭配 [describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html)，以便僅傳回描述為「資料庫」的快照。  

```
--filters Name=description,Values=database
```
\$1 萬用字元符合零或更多字元。您可使用下面的選項，以便僅傳回描述中包括字詞 database 的快照。  

```
--filters Name=description,Values=*database*
```
? 萬用字元確切符合 1 個字元。您可使用下面的選項，以便僅傳回描述為 "database" 或 "database" 且後接一個字元的快照。  

```
--filters Name=description,Values=database?
```
您可使用下面的選項，以便僅傳回描述為「資料庫」且後接最多四個字元的快照。這會排除具有「資料庫」後面接著五個或更多字元的描述。  

```
--filters Name=description,Values=database????
```

**Example 範例：根據日期篩選**  
透過 AWS CLI，您可以使用 JMESPath 來使用表達式篩選結果。例如，下列[https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html)命令會顯示指定日期 AWS 帳戶 之前由 建立之所有快照IDs。如果您未指定擁有者，結果會包含所有公有快照。  

```
aws ec2 describe-snapshots \
    --filters Name=owner-id,Values=123456789012 \
    --query "Snapshots[?(StartTime<='2024-03-31')].[SnapshotId]" \
    --output text
```
下面的範例將顯示指定日期範圍中所建立的所有快照的 ID。  

```
aws ec2 describe-snapshots \
    --filters Name=owner-id,Values=123456789012 \
    --query "Snapshots[?(StartTime>='2024-01-01') && (StartTime<='2024-12-31')].[SnapshotId]" \
    --output text
```

**範例：根據標籤篩選**  
如需如何根據標籤篩選資源清單的範例，請參閱[依標籤篩選 Amazon EC2 資源](filtering-the-list-by-tag.md)。

------
#### [ PowerShell ]

**Example 範例：指定單一篩選條件**  
您可使用 [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) 列出 Amazon EC2 執行個體。在沒有篩選條件的情況下，回應會包含您所有資源的資訊。您可使用下面的參數，以便僅在輸出中包括執行中的執行個體。  

```
-Filter @{Name="instance-state-name"; Values="running"}
```

下面的範例僅會列示執行中執行個體的 ID。

```
(Get-EC2Instance -Filter @{Name="instance-state-name"; Values="stopped"}).Instances | Select InstanceId
```

**Example 範例：指定多個篩選條件或篩選條件值**  
如果您指定多個篩選條件或多個篩選條件值，資源必須符合所有要包含在結果中的篩選條件。  
您可使用下面的選項，列出類型為 `m5.large` 或 `m5d.large` 的所有執行個體。  

```
-Filter @{Name="instance-type"; Values="m5.large", "m5d.large"}
```
您可使用下面的選項，列出類型為 `t2.micro` 的所有已停止的執行個體。  

```
-Filter @{Name="instance-state-name"; Values="stopped"}, @{Name="instance-type"; Values="t2.micro"}
```

------

## 使用 Amazon EC2 全域檢視來檢視跨區域資源
<a name="global-view-intro"></a>

Amazon EC2 Global View 可讓您在單一區域 AWS 或在單一主控台中同時跨多個區域檢視和搜尋 Amazon EC2 和 Amazon VPC 資源。如需詳細資訊，請參閱[使用 AWS 全域檢視跨區域檢視資源](global-view.md)。