

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

# 更新解決方案
<a name="update-the-solution"></a>

如果您先前已部署解決方案，請依照此程序更新解決方案的 CloudFormation 堆疊，以取得解決方案架構的最新版本。更新堆疊之前，請先仔細閱讀[更新考量](#update-considerations)事項。

1. 登入 [AWS CloudFormation 主控台](https://console.aws.amazon.com/cloudformation/)。

1. 在左側導覽功能表中選取**堆疊**。

1. 選取您現有的 `aws-waf-security-automations` CloudFormation 堆疊。

1. 選擇**更新**。

1. 選取**取代目前範本**。

1. 在**指定範本**下：

   1. 選取 **Amazon S3 URL**。

   1. 複製 `aws-waf-security-automations.template` [AWS CloudFormation](aws-cloudformation-templates.md) 的連結。

   1. 將連結貼到 **Amazon S3 URL **方塊中。

   1. 驗證 **Amazon S3 URL 文字方塊中顯示的範本 URL **是否正確。

   1. 選擇**下一步**。

   1. 再次選擇 **Next (下一步)**。

1. 在**參數**下，檢閱範本的參數並視需要修改。請參閱[步驟 1。如需參數的詳細資訊，請啟動 堆疊](step-1.-launch-the-stack.md)。

1. 選擇**下一步**。

1. 在 **Configure stack options** (設定堆疊選項) 頁面，選擇 **Next** (下一步)。

1. 在**檢視** 頁面上，檢視和確認的設定。

1. 選取確認範本可能會建立 IAM 資源的方塊。

1. 選擇**檢視變更集**並驗證變更。

1. 選擇**更新堆疊**以部署堆疊。

您可以在狀態欄的 AWS CloudFormation 主控台中查看堆疊**的狀態**。您應該會在大約 15 分鐘內看到 UPDATE\$1COMPLETE 狀態。

## 更新考量事項
<a name="update-considerations"></a>

下列各節提供更新此解決方案的限制條件和考量事項。

### 資源類型更新
<a name="resource-type-update"></a>

您必須在建立堆疊後部署新的堆疊來更新**端點**參數。更新堆疊時，請勿變更**端點**參數。

### WAFV2 升級
<a name="wafv2-upgrade"></a>

從 3.0 版開始，此解決方案支援 AWS WAFV2。我們將所有 [AWS WAF Classic](https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) API 呼叫取代為 [AWS WAFV2 API 呼叫](https://docs.aws.amazon.com/waf/latest/APIReference/Welcome.html)。這會移除 Node.js 上的相依性，並使用up-to-date執行時間。若要繼續使用此解決方案搭配最新的功能和改進，您必須將 3.0 版或更新版本部署為新的堆疊。

### 堆疊更新時的自訂
<a name="customizations-at-stack-update"></a>

out-of-box解決方案會使用 CloudFormation 堆疊，將一組具有預設組態的 AWS WAF 規則部署到您的 AWS 帳戶。我們不建議將自訂套用至解決方案部署的規則。堆疊更新會覆寫這些變更。如果您需要自訂規則，建議您在解決方案之外建立單獨的規則。

### 無效的機器人保護升級
<a name="badbot-upgrade"></a>

在 **4.1.0 版中**，具有 **API Gateway** 的 **Access Handler** Lambda 已棄用，並取代為 `Log parser - Bad bot` 功能的增強型日誌功能。解決方案現在會重複使用日誌串流來偵測錯誤的機器人，而不是透過 API Gateway 使用直接請求。

先前的實作：

1. 必要的存取處理常式 Lambda 和 API Gateway。

1. 使用 Honeypot 端點直接處理請求。

1. 網站中必要的內嵌 Honeypot 端點。

新的實作 (4.1.0\$1)：**錯誤的機器人保護**日誌剖析器現在：

1. 透過 日誌檢查對 Honeypot 端點的請求。

1. 啟動**錯誤機器人保護**時處理請求。

1. 使用 WAF 篩選條件 **BadBotRuleFilter** 來識別錯誤的機器人請求。

1. 分析日誌資料以識別超過定義配額的 IP 地址。

1. 更新 AWS WAF IP 集合條件以封鎖已識別的地址。

此變更會消除重複的功能並利用現有的日誌處理功能，以簡化架構。

### CDK 升級
<a name="CDK-upgrade"></a>

從 4.1.0 版開始，CDK 支援此解決方案。如果從低於 v4.1.0 的版本遷移。在 Cloudformation 中使用新範本並更新解決方案。然後，您可以使用 cdk 部署開始透過終端機在本機更新解決方案 （如需詳細資訊，請參閱 README) 如果您嘗試直接使用 cdk 部署，您可能會看到此錯誤：流程集合中的縮排不足

另一種更新解決方案的方式是使用解決方案提供的範本，並前往 AWS 主控台的 Cloudformation 區段，然後按一下更新解決方案，然後將新範本貼到那裡。

**注意**  
如果您要從 3.0 版或 3.1 版升級至此解決方案的 3.2 版或更新版本，而且您已手動將 IP 地址插入[允許或拒絕的 IP 集](modify-the-allowed-and-denied-ip-sets-optional.md)，則會有遺失這些 IP 地址的風險。若要防止這種情況發生，請在升級解決方案之前，在允許或拒絕的 IP 集中複製 IP 地址。然後，完成升級後，視需要將 IP 地址加回 IP 集。請參閱 [get-ip-set](https://docs.aws.amazon.com/cli/latest/reference/wafv2/get-ip-set.html) 和 [update-ip-set](https://docs.aws.amazon.com/cli/latest/reference/wafv2/update-ip-set.html) CLI 命令。如果您已使用 3.2 版或更新版本，請忽略此步驟。