

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

# VPC Lattice 服務的接聽程式規則
<a name="listener-rules"></a>

每個接聽程式都有您可以定義的預設規則和其他規則。每個規則由優先順序、一或多個動作及一或多個條件組成。您可以隨時新增或編輯規則。

**Topics**
+ [預設規則](#listener-default-rule)
+ [規則優先順序](#listener-rule-priority)
+ [規則動作](#listener-rule-actions)
+ [規則條件](#listener-rule-conditions)
+ [新增規則](#add-rules)
+ [更新規則](#update-rules)
+ [刪除規則](#delete-rules)

## 預設規則
<a name="listener-default-rule"></a>

建立接聽程式時，您會定義預設規則的預設動作。預設規則不能有條件。如果沒有符合任何接聽程式規則的條件，則會執行預設規則的動作。

## 規則優先順序
<a name="listener-rule-priority"></a>

每個規則具有優先順序。依優先順序評估規則，從最低值到最高值。預設規則最後評估。您可以隨時變更非預設規則的優先順序。您無法變更預設規則的優先順序。

## 規則動作
<a name="listener-rule-actions"></a>

VPC Lattice 服務的接聽程式支援轉送動作和固定回應動作。

### 轉送動作
<a name="forward-actions"></a>

您可以使用`forward`動作將請求路由到一或多個 VPC Lattice 目標群組。如果您為一個 `forward` 動作指定多個目標群組，則必須為每個目標群組指定加權。每個目標群組權重為介於 0 到 999 之間的值。符合加權目標群組之監聽程式規則的請求，會根據其權重分配到這些目標群組。例如，如果您指定兩個目標群組，每個目標群組的權重為 10，則每個目標群組都會收到一半的請求。如果您指定兩個目標群組，一個權重為 10，另一個權重為 20，則權重為 20 的目標群組接收的請求數量是另一個目標群組的兩倍。

### 固定回應動作
<a name="fixed-response-actions"></a>

您可以使用 `fixed-response` 動作來捨棄用戶端請求，並傳回自訂 HTTP 回應。您可以使用此動作傳回 404 或 500 回應碼。

**Example 的固定回應動作範例 AWS CLI**  
您可以在建立或更新規則時指定 動作。下列動作會傳送具有指定狀態碼的固定回應。  

```
"action": { 
    "fixedResponse": { 
        "statusCode": 404
},
```

## 規則條件
<a name="listener-rule-conditions"></a>

每個規則條件具有類型和組態資訊。滿足規則的條件時，即會執行它的動作。

以下是規則支援的相符條件：

**標頭比對**  
路由是以每個請求的 HTTP 標頭為基礎。您可以使用 HTTP 標頭條件來設定規則，以根據請求的 HTTP 標頭來路由傳送請求。您可以指定標準或自訂 HTTP 標頭欄位的名稱。標頭名稱和相符項目評估不區分大小寫。您可以開啟區分大小寫功能來變更此設定。標頭名稱中不支援萬用字元。標頭比對支援字首、精確且包含比對。

**方法比對**  
路由是以每個請求的 HTTP 請求方法為基礎。  
您可以使用 HTTP 請求方法條件來設定規則，以根據請求的 HTTP 請求方法來路由傳送請求。您可以指定標準或自訂 HTTP 方法。方法比對區分大小寫。方法名稱必須完全相符。不支援萬用字元。

**路徑比對**  
路由是以符合請求 URLs中的路徑模式為基礎。  
您可以使用路徑條件來定義規則，以根據請求中的 URL 路由請求。不支援萬用字元。支援路徑上的字首和完全相符。

## 新增規則
<a name="add-rules"></a>

您可以隨時新增接聽程式規則。

**使用主控台新增接聽程式規則**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**服務**。

1. 選取服務的名稱以開啟其詳細資訊頁面。

1. 在**路由**索引標籤上，選擇**編輯接聽程式**。

1. 展開**接聽程式規則**，然後選擇**新增規則**。

1. 針對 **Rule name (規則名稱)**，輸入規則的名稱。

1. 針對**優先順序**，輸入介於 1 到 100 之間的優先順序。依優先順序評估規則，從最低值到最高值。預設規則最後評估。

1. 針對**條件**，輸入路徑比對條件的路徑模式。每個字串的大小上限為 200 個字元。比較不區分大小寫。不支援萬用字元。

   若要新增標頭比對或方法比對規則條件，請使用 AWS CLI 或 AWS SDK。

1. 針對**動作**，選擇 VPC Lattice 目標群組。

1. 選擇**儲存變更**。

**使用 新增規則 AWS CLI**  
使用 [create-rule](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-rule.html) 命令。

## 更新規則
<a name="update-rules"></a>

您可以隨時更新接聽程式規則。您可以修改其優先順序、條件、目標群組和每個目標群組的權重。您無法修改規則的名稱。

**使用主控台更新接聽程式規則**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中的 **VPC Lattice** 下，選擇**服務**。

1. 選取服務的名稱以開啟其詳細資訊頁面。

1. 在**路由**索引標籤上，選擇**編輯接聽程式**。

1. 視需要修改規則優先順序、條件和動作。

1. 檢閱您的更新，然後選擇**儲存變更**。

**使用 更新規則 AWS CLI**  
使用 [update-rule](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/update-rule.html) 命令。

## 刪除規則
<a name="delete-rules"></a>

您可以隨時刪除接聽程式的非預設規則。您無法刪除接聽程式的預設規則。當您刪除接聽程式時，會刪除其所有規則。

**使用主控台刪除接聽程式規則**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中的 **VPC Lattice** 下，選擇**服務**。

1. 選取服務的名稱以開啟其詳細資訊頁面。

1. 在**路由**索引標籤上，選擇**編輯接聽程式**。

1. 尋找規則，然後選擇**移除**。

1. 選擇**儲存變更**。

**使用 刪除規則 AWS CLI**  
使用 [delete-rule](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/delete-rule.html) 命令。