列出與篩選您的資源 - Amazon Elastic Compute Cloud

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

列出與篩選您的資源

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

使用主控台列出和篩選資源

使用主控台列出資源

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

使用主控台列出 EC2 資源
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中選擇對應資源類型的選項。例如,若要列出執行個體,請選擇 Instances (執行個體)

    此頁面會顯示所選資源類型的所有資源。

使用主控台篩選資源

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

  2. 選擇搜尋欄位。

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

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

  5. 選取篩選條件值。

  6. 若要編輯選取的篩選條件,請選取篩選條件字符 (藍色框),進行所需的編輯,然後選取 Apply (套用)。請注意,並非所有畫面均支援編輯選取的篩選條件。

    
							編輯篩選條件。
  7. 完成後,請移除篩選器。

支援的篩選條件

Amazon EC2 主控台支援兩種篩選類型。

  • API 篩選發生在伺服器端。篩選會套用在 API 呼叫上,這會減少伺服器傳回的資源數目。它允許快速篩選大量資源,並且可以減少伺服器和瀏覽器之間傳輸資料的時間和成本。API 篩選支援 = (等於) 和 : (包含) 運算子,並且一律區分大小寫。

  • 用戶端篩選發生在用戶端。它可讓您篩選瀏覽器中已經可用的資料 (也就是 API 已傳回的資料)。用戶端篩選與 API 篩選器結合使用效果很好,可在瀏覽器中篩選至較小的資料集。除了 = (等於) 和 : (包含) 運算子,用戶端篩選也可以支援範圍運算子,例如 >= (大於或等於) 和否定 (反向) 運算子,例如 != (不等於)。

Amazon EC2 主控台支援以下類型的搜尋:

以關鍵字搜尋

以關鍵字搜尋是一種任意文字搜尋,可讓您在所有資源屬性或標籤中搜尋值,而不需指定要搜尋的屬性或標籤金鑰。

注意

所有關鍵字搜尋都使用用戶端篩選

要以關鍵字搜尋,請在搜尋方塊中輸入或貼上您要找的內容,然後選擇 Enter。例如,搜尋 123 會符合任何屬性中具有 123 的所有執行個體,例如 IP 地址、執行個體 ID、VPC ID 或 AMI ID,或在其任何標籤中,例如 Name (名稱)。如果任意文字搜尋傳回非預期的相符項目,請套用其他篩選器。

依屬性搜尋

依屬性搜尋可讓您在所有資源中搜尋特定屬性。

注意

屬性搜尋會使用 API 篩選用戶端篩選,視選取的屬性而定。執行屬性搜尋時,屬性會相應地分組。

例如,您可以搜尋所有執行個體的 Instance state (執行個體狀態) 屬性,以僅傳回處於 stopped 狀態的執行個體。若要執行此作業:

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

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

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

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

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

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

依標籤搜尋

依標籤搜尋,您可以透過標籤金鑰或標籤值篩選目前顯示的表中的資源。

標籤搜尋使用 API 篩選或者用戶端篩選,具體取決於 Preferences (偏好設定) 視窗中的設定。

確保標籤的 API 篩選
  1. 開啟 Preferences (偏好設定) 視窗。

  2. 清除 Use regular expression matching (使用常規運算式比對) 核取方塊。如果選取此核取方塊,則會執行用戶端篩選。

  3. 選取 Use case sensitive matching (使用區分大小寫比對) 核取方塊。如果清除此核取方塊,則會執行用戶端篩選。

  4. 選擇確認

依標籤搜尋時,可以使用下列值:

  • (empty) ((空白)) – 尋找具有指定標籤金鑰的所有資源,但必須沒有標籤值。

  • All values (所有值) – 尋找具有指定標籤金鑰和任何標籤值的所有資源。

  • Not tagged (未標記) – 尋找不含指定標籤金鑰的索引資源。

  • 顯示的值 – 尋找具有指定標籤金鑰和指定標籤值的所有資源。

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

反向搜尋

反向搜尋可讓您搜尋符合指定值的資源。在 Instances (執行個體) 和 AMI 畫面中,透過選取 != (不等於) 或 !: (不包含) 運算子,然後選取一個值來執行反向搜尋。在其他畫面中,反向搜尋是透過在搜尋關鍵字前面加上驚嘆號 (!) 字元來執行。

注意

只有用戶端篩選條件上的關鍵字搜尋和屬性搜尋才支援反向搜尋。API 篩選器上的屬性搜尋不支援此功能。

例如,您可以搜尋所有執行個體的 Instance state (執行個體狀態) 屬性,以排除所有處於 terminated 狀態的執行個體。若要執行此作業:

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

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

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

  3. 選擇 != (不等於),然後選擇 terminated (終止)。

若要根據執行個體狀態屬性來篩選執行個體,您還可以使用 Instance state (執行個體狀態) 欄中的搜尋圖示 ( Search icon. )。帶有加號 ( + ) 的搜尋圖示會顯示符合該屬性的所有執行個體。帶有減號 ( - ) 的搜尋圖示會排除符合該屬性的所有執行個體。

以下是使用反向搜尋的另一個範例:若要列出獲指派名稱為 launch-wizard-1 之安全群組的所有執行個體,請在 Client filters (用戶端篩選條件) 下,依 Security group name (安全群組名稱) 屬性搜尋,選擇 !=,並在搜尋列中輸入 launch-wizard-1

部分搜尋

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

常規運算式搜尋

若要使用常規運算式搜尋,必須選取 Preferences (偏好設定) 視窗中的 Use regular expression matching (使用常規運算式比對) 核取方塊。

當您需要將欄位中的值與特定模式匹配,就可以使用常規表達式。例如,若要搜尋開頭為 s 的值,請搜尋 ^s。若要搜尋結尾為 xyz 的值,請搜尋 xyz$。或者,若要搜尋以數字開頭後跟一個或多個字元的值,請搜尋 [0-9]+.*

注意

只有用戶端篩選器上的關鍵字搜尋和屬性搜尋才支援常規運算式搜尋。API 篩選器上的屬性搜尋不支援此功能。

區分大小寫的搜尋

若要使用區分大小寫的搜尋,必須選取 Preferences (偏好設定) 視窗中的 Use case sensitive matching (使用區分大小寫比對) 核取方塊。區分大小寫的偏好設定僅適用於用戶端和標籤篩選條件。

注意

API 篩選條件一律區分大小寫。

萬用字元搜尋

使用 * 萬用字元來比對零個或多個字元。使用 ? 萬用字元來比對零個或一個字元。例如,如果您有一個具有值 prodprodsproduction 的資料集,則搜尋 prod* 會比對出所有值,而 prod? 僅會比對出 prodprods。若要使用常值,請使用反斜線 (\) 將其逸出。例如,"prod\*" 會符合 prod*

注意

只有 API 篩選器上的屬性和標籤搜尋才支援萬用字元搜尋。用戶端篩選器上的關鍵字搜尋和屬性及標籤搜尋不支援此功能。

組合搜尋

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

使用 CLI 和 API 列出和篩選

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

篩選考量
  • 您可以在單一請求中指定多個篩選條件和多個篩選條件值。

  • 您可以使用萬用字元搭配篩選條件值。星號 (*) 代表零或更多字元,問號 (?) 代表零或一個字元。

  • 篩選條件值區分大小寫。

  • 您的搜尋可包含萬用字元的文字值;您只需要在字元前加一個反斜線區隔它們即可。例如,\*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.largem5d.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 篩選條件的篩選條件值,命令只會傳回描述為「資料庫」的快照。

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

* 萬用字元符合零或更多字元。如果您將 *database* 指定為篩選條件值,命令只會傳回描述中包含 database (資料庫) 此單字的快照。

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

? 萬用字元確切符合 1 個字元。如果您指定 database? 做為篩選條件值,命令只會傳回描述為「database」或「database」後面接著一個字元的快照。

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

如果您指定 database????,命令只會傳回描述為「資料庫」後面接著最多四個字元的快照。它會排除具有「資料庫」後面接著五個或更多字元的描述。

aws ec2 describe-snapshots --filters Name=description,Values=database????
範例:根據日期篩選

使用時 AWS CLI,您可以使用 JMESPath 來篩選使用運算式的結果。例如,下列指describe-snapshots令會顯示在指定日期 (以 2020-03-31 表示) 之前由您建立的 AWS 帳戶 (以 123456789012 表示) 所建立的所有快照的識別碼。如果您未指定擁有者,結果會包含所有公有快照。

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 全域檢視來檢視跨區域資源

Amazon EC2 全球檢視可讓您在單一主控台中同時檢視和搜尋單一區域或跨多個 AWS 區域的 Amazon EC2 和 Amazon VPC 資源。如需詳細資訊,請參閱 Amazon EC2 全域檢視