

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

# 管理 Linux 安全性更新
<a name="workingsecurity-updates"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

## 安全性更新
<a name="bestpractice-secupdates"></a>

Linux 作業系統供應商會提供定期更新；其中大部分都是作業系統安全性修補程式，但也可能包含已安裝套件的更新。您應該確保您的執行個體作業系統處於最新狀態，並含有最新的安全性修補程式。

根據預設，當執行個體完成開機後， OpsWorks Stacks 會自動安裝最新的更新。當執行個體上線後， OpsWorks Stacks 不會自動安裝更新，以避免重新啟動應用程式伺服器等中斷。反之，您可以自行管理線上執行個體的更新，將任何中斷降至最低。

我們建議您使用下列其中一個項目，來更新線上執行個體。
+ 建立並啟動新的執行個體，以取代目前的線上執行個體。然後刪除目前的執行個體。

  新的執行個體會在設定期間安裝最新的一組安全性修補程式。
+ 在 Chef 11.10 或較舊版本堆疊中的 Linux 類型執行個體上，執行[更新相依性堆疊命令](workingstacks-commands.md)，以在指定的執行個體上安裝最新一組安全性修補程式和其他更新。

對於這兩種方法， OpsWorks Stacks 透過`yum update`執行 Amazon Linux 和 Red Hat Enterprise Linux (RHEL) 或 `apt-get update` Ubuntu 來執行更新。每個分佈處理更新的方式略有不同，因此您應該查看相關連結中的資訊，以確切了解更新會對您的執行個體造成哪些影響：
+ **Amazon Linux** – Amazon Linux 更新會安裝安全修補程式，也可能安裝功能更新，包括套件更新。

  如需詳細資訊，請參閱 [Amazon Linux AMI 常見問答集](https://aws.amazon.com/amazon-linux-ami/faqs/#lock)。
+ **Ubuntu** – Ubuntu 更新主要僅限於安裝安全修補程式，但也可能針對有限數量的關鍵修正安裝套件更新。

  如需詳細資訊，請參閱 [LTS - Ubuntu Wiki](https://wiki.ubuntu.com/LTS)。
+ **CentOS** – CentOS 更新通常會維持與舊版的二進位相容性。
+ **RHEL** – RHEL 更新通常會維持與舊版的二進位相容性。

  如需詳細資訊，請參閱 [Red Hat Enterprise Linux Life Cycle](https://access.redhat.com/support/policy/updates/errata/)。

如果您想要更多控制更新，例如指定特定套件版本，您可以使用 [CreateInstance](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateInstance.html)、[UpdateInstance](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateInstance.html)、[CreateLayer](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateLayer.html) 或 [UpdateLayer](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateLayer.html) 動作，或同等的 [AWS SDK](https://aws.amazon.com/tools/) 方法或 [AWS CLI](https://aws.amazon.com/documentation/cli/) 命令，將 `InstallUpdatesOnBoot` 參數設定為 來停用自動更新`false`。下列範例說明如何使用 AWS CLI 來停用 `InstallUpdatesOnBoot`，以做為現有 layer 的預設設定。

```
aws opsworks update-layer --layer-id layer ID --no-install-updates-on-boot
```

接著，您必須自行管理更新。例如，您可以採用下列其中一個策略：
+ 實作自訂配方，其可[執行適當的 shell 命令](cookbooks-101-basics-commands.md#cookbooks-101-basics-commands-script)以安裝您慣用的更新。

  由於系統更新不會自然對應到[生命週期事件](workingcookbook-events.md)，因此請將配方納入您的自訂技術指南中，但[以手動方式執行](workingcookbook-manual.md)。針對套件更新，您也可以使用 [yum\$1package](https://docs.chef.io/chef/resources.html#yum-package) (Amazon Linux) 或 [apt\$1package](https://docs.chef.io/chef/resources.html#apt-package) (Ubuntu) 資源，而不是 shell 命令。
+ [使用 SSH 登入每個執行個體](workinginstances-ssh.md)，並手動執行適當的命令。