

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

# OpsWorks Stacks 作業系統
<a name="workinginstances-os"></a>

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

OpsWorks Stacks 支援數個內建作業系統的 64 位元版本，包括 Amazon 和 Ubuntu Linux 發行版本，以及 Microsoft Windows Server。下列為一般注意事項：
+ 堆疊的執行個體可以執行 Linux 或 Windows。

  堆疊可以具備不同 Linux 發行版本或不同執行個體，但您不可以混合 Linux 和 Windows 執行個體。
+ 您可以使用[自訂 AMIs](workinginstances-custom-ami.md) (Amazon Machine Image)，但它們必須基於本節主題中所述的其中一個 OpsWorks Stacks 支援的 AMIs。雖然可以使用從自訂或社群所產生 AMI 建立而成的其他作業系統 (例如 CentOS 6.*x*) 建立或註冊執行個體，但並未正式受到支援。
  + [Linux 作業系統](workinginstances-os-linux.md)
  + [Microsoft Windows Server](workinginstances-os-windows.md)
+ 您可以[手動啟動和停止執行個體](workinginstances-starting.md)，或讓 OpsWorks Stacks [自動擴展](workinginstances-autoscaling.md)執行個體的數目。

  您可以針對任何堆疊使用以時間為基礎的自動擴展；Linux 堆疊也可以使用以負載為基礎的擴展。
+ 除了使用 OpsWorks Stacks 建立 Amazon EC2 執行個體之外，您還可以[向在 Stacks 外部建立的 Linux 堆疊註冊執行個體](workinginstances-autoscaling.md)。 OpsWorks 

  這包括在您自己的硬體上執行的 Amazon EC2 執行個體和執行個體。不過，它們必須執行其中一種支援的 Linux 發行版本。您無法註冊 Amazon EC2 或內部部署 Windows 執行個體。

您可以執行 OpsWorks Stacks [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeOperatingSystems.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeOperatingSystems.html) API 來傳回支援的作業系統及其支援的 Chef 版本清單。下面是使用 AWS CLI的範例命令。

```
aws opsworks describe-operating-systems
```

以下是回應範例。

```
{
    "OperatingSystems": [
        {
            "Name": "Amazon Linux",
            "Id": "Amazon Linux",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2014.03",
            "Supported": false
        },
        {
            "Name": "Amazon Linux 2",
            "Id": "Amazon Linux 2",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2"
        },
        {
            "Name": "Amazon Linux 2014.09",
            "Id": "Amazon Linux 2014.09",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2014.09",
            "Supported": false
        },
        {
            "Name": "Amazon Linux 2015.03",
            "Id": "Amazon Linux 2015.03",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2015.03",
            "Supported": false
        },
        {
            "Name": "Amazon Linux 2015.09",
            "Id": "Amazon Linux 2015.09",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2015.09",
            "Supported": false
        },
        {
            "Name": "Amazon Linux 2016.03",
            "Id": "Amazon Linux 2016.03",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2016.03"
        },
        {
            "Name": "Amazon Linux 2016.09",
            "Id": "Amazon Linux 2016.09",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2016.09"
        },
        {
            "Name": "Amazon Linux 2017.03",
            "Id": "Amazon Linux 2017.03",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2017.03"
        },
        {
            "Name": "Amazon Linux 2017.09",
            "Id": "Amazon Linux 2017.09",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2017.09"
        },
        {
            "Name": "Amazon Linux 2018.03",
            "Id": "Amazon Linux 2018.03",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                }
            ],
            "ReportedName": "amazon",
            "ReportedVersion": "2018.03"
        },
        {
            "Name": "CentOS Linux 7",
            "Id": "CentOS Linux 7",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                }
            ],
            "ReportedName": "CentOS Linux",
            "ReportedVersion": "7"
        },
        {
            "Name": "Microsoft Windows Server 2012 R2 Base",
            "Id": "Microsoft Windows Server 2012 R2 Base",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2012 r2 standard",
            "Supported": false
        },
        {
            "Name": "Microsoft Windows Server 2012 R2 with SQL Server Express",
            "Id": "Microsoft Windows Server 2012 R2 with SQL Server Express",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2012 r2 standard",
            "Supported": false
        },
        {
            "Name": "Microsoft Windows Server 2012 R2 with SQL Server Standard",
            "Id": "Microsoft Windows Server 2012 R2 with SQL Server Standard",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2012 r2 standard",
            "Supported": false
        },
        {
            "Name": "Microsoft Windows Server 2012 R2 with SQL Server Web",
            "Id": "Microsoft Windows Server 2012 R2 with SQL Server Web",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2012 r2 standard",
            "Supported": false
        },
        {
            "Name": "Microsoft Windows Server 2019 Base",
            "Id": "Microsoft Windows Server 2019 Base",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2019 datacenter"
        },
        {
            "Name": "Microsoft Windows Server 2019 with SQL Server Express",
            "Id": "Microsoft Windows Server 2019 with SQL Server Express",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2019 datacenter"
        },
        {
            "Name": "Microsoft Windows Server 2019 with SQL Server Standard",
            "Id": "Microsoft Windows Server 2019 with SQL Server Standard",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2019 datacenter"
        },
        {
            "Name": "Microsoft Windows Server 2019 with SQL Server Web",
            "Id": "Microsoft Windows Server 2019 with SQL Server Web",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2019 datacenter"
        },
        {
            "Name": "Microsoft Windows Server 2022 Base",
            "Id": "Microsoft Windows Server 2022 Base",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2022 datacenter"
        },
        {
            "Name": "Microsoft Windows Server 2022 with SQL Server Express",
            "Id": "Microsoft Windows Server 2022 with SQL Server Express",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2022 datacenter"
        },
        {
            "Name": "Microsoft Windows Server 2022 with SQL Server Standard",
            "Id": "Microsoft Windows Server 2022 with SQL Server Standard",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2022 datacenter"
        },
        {
            "Name": "Microsoft Windows Server 2022 with SQL Server Web",
            "Id": "Microsoft Windows Server 2022 with SQL Server Web",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ],
            "ReportedName": "microsoft windows server",
            "ReportedVersion": "2022 datacenter"
        },
        {
            "Name": "Red Hat Enterprise Linux 7",
            "Id": "Red Hat Enterprise Linux 7",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                }
            ],
            "ReportedName": "Red Hat Enterprise Linux",
            "ReportedVersion": "7"
        },
        {
            "Name": "Ubuntu 12.04 LTS",
            "Id": "Ubuntu 12.04 LTS",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ],
            "ReportedName": "ubuntu",
            "ReportedVersion": "12.04",
            "Supported": false
        },
        {
            "Name": "Ubuntu 14.04 LTS",
            "Id": "Ubuntu 14.04 LTS",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                }
            ],
            "ReportedName": "ubuntu",
            "ReportedVersion": "14.04"
        },
        {
            "Name": "Ubuntu 16.04 LTS",
            "Id": "Ubuntu 16.04 LTS",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                }
            ],
            "ReportedName": "ubuntu",
            "ReportedVersion": "16.04"
        },
        {
            "Name": "Ubuntu 18.04 LTS",
            "Id": "Ubuntu 18.04 LTS",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                }
            ],
            "ReportedName": "ubuntu",
            "ReportedVersion": "18.04"
        },
        {
            "Name": "Ubuntu 20.04 LTS",
            "Id": "Ubuntu 20.04 LTS",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                }
            ],
            "ReportedName": "ubuntu",
            "ReportedVersion": "20.04"
        },
        {
            "Name": "Custom",
            "Id": "Custom",
            "Type": "Linux",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12"
                },
                {
                    "Name": "Chef",
                    "Version": "11.10"
                },
                {
                    "Name": "Chef",
                    "Version": "11.4"
                },
                {
                    "Name": "Chef",
                    "Version": "0.9"
                }
            ]
        },
        {
            "Name": "CustomWindows",
            "Id": "CustomWindows",
            "Type": "Windows",
            "ConfigurationManagers": [
                {
                    "Name": "Chef",
                    "Version": "12.2"
                }
            ]
        }
    ]
}
```

**Topics**
+ [Linux 作業系統](workinginstances-os-linux.md)
+ [Microsoft Windows Server](workinginstances-os-windows.md)

# Linux 作業系統
<a name="workinginstances-os-linux"></a>

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

OpsWorks Stacks 支援下列 Linux 作業系統的 64 位元版本。
+ [Amazon Linux](https://aws.amazon.com/amazon-linux-ami/faqs/) 和 [Amazon Linux 2](https://aws.amazon.com/amazon-linux-2/) （請參閱 [OpsWorks Stacks 主控台](https://console.aws.amazon.com/opsworks/)以取得目前支援的版本）
+  [Ubuntu 20.04 LTS](https://wiki.ubuntu.com/FocalFossa/ReleaseNotes) 
+ [CentOS 7 (CentOS 7)](https://docs.centos.org/en-US/centos/install-guide/Revision_History/)
+ [Red Hat Enterprise Linux 7](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/)

您也可以根據這些作業系統使用[自訂 AMI](workinginstances-custom-ami.md)。

下列為 Linux 執行個體的一般注意事項：

**支援的套件版本**  
支援的套件 (例如 Ruby) 版本和修補程式層級，取決於下列各節中所述的作業系統和版本。

**更新**  
根據預設， OpsWorks Stacks 會在執行個體開機`apt-get update`後自動呼叫 `yum update`或 ，以確保 Linux 執行個體具有最新的安全修補程式。若要停用自動更新，請使用 [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 開發套件](https://aws.amazon.com/tools/)方法或 [AWS CLI](https://aws.amazon.com/documentation/cli/) 命令，將 `InstallUpdatesOnBoot` 參數設定為 `false`。  
為了避免服務中斷， OpsWorks Stacks 不會在執行個體上線後自動安裝更新。您可以執行 [Upgrade Operating System (升級作業系統) 堆疊命令](workingstacks-commands.md)，隨時手動更新線上執行個體的作業系統。如需如何管理安全性更新的詳細資訊，請參閱[管理安全性更新](workingsecurity-updates.md)。  
如需進一步了解 OpsWorks Stacks 如何更新執行個體，請根據其中一個支援的作業系統建立自訂 AMI。例如，您可以使用自訂 AMI 來指定要在執行個體上安裝哪些套件版本。每個 Linux 發行版本都有不同的支援時程和套件合併政策，因此您應該考慮哪種方法最符合您的需求。如需詳細資訊，請參閱[使用自訂 AMI](workinginstances-custom-ami.md)。

**主機檔案**  
每個線上執行個體都有一個將 IP 地址映射至主機名稱`/etc/hosts`的檔案。 OpsWorks Stacks 包含每個執行個體`hosts`檔案中堆疊所有線上執行個體的公有和私有地址。例如，假設您的堆疊有兩個 Node.js App Server 執行個體，即 nodejs-app1 和 nodejs-app2，以及一個 MySQL 執行個體，db-master1。nodejs-app1 執行個體的 `hosts` 檔案看起來如下列範例，而另一個執行個體則會有類似的 `hosts` 檔案。  

```
...
# OpsWorks Layer State
192.0.2.0 nodejs-app1.localdomain nodejs-app1
10.145.160.232 db-master1
198.51.100.0 db-master1-ext
10.243.77.78 nodejs-app2
203.0.113.0 nodejs-app2-ext
10.84.66.6 nodejs-app1
192.0.2.0 nodejs-app1-ext
```

**OpsWorks Stacks 代理程式代理支援**  
Chef 11.10 OpsWorks 和更新版本堆疊的 Stacks 代理程式包含代理伺服器的基本支援，通常與隔離VPCs 搭配使用。若要啟用代理伺服器支援，執行個體必須具備 `/etc/environment` 檔案以提供適當的 HTTP 和 HTTPS 流量設定。此檔案應該會如下列所示；請將反白的文字取代為您的代理伺服器 URL 和連接埠：  

```
http_proxy="http://myproxy.example.com:8080/"
https_proxy="http://myproxy.example.com:8080/"
no_proxy="169.254.169.254"
```
若要啟用代理支援，我們建議您[建立自訂 AMI](workinginstances-custom-ami.md)，以包含適當的 `/etc/environment` 檔案，並使用該 AMI 來建立您的執行個體。  
我們不建議使用自訂配方在您的執行個體上建立 `/etc/environment` 檔案。在任何自訂配方執行之前， OpsWorks Stacks 在設定程序的早期需要代理伺服器資料。

**Topics**
+ [Amazon Linux](#workinginstances-os-amazon)
+ [Ubuntu LTS](#workinginstances-os-linux-ubuntu)
+ [CentOS](#workinginstances-os-linux-centos)
+ [Red Hat Enterprise Linux](#workinginstances-os-linux-rhel)

## Amazon Linux
<a name="workinginstances-os-amazon"></a>

OpsWorks Stacks 支援 Amazon Linux 和 Amazon Linux 2 的 64 位元版本。除了定期更新和修補程式，Amazon Linux 大約每六個月會發行新版本，其中涉及大量變更。當您建立堆疊或新執行個體時，您必須指定要使用的 Amazon Linux 版本。當 AWS 發行新版本時，您的執行個體會繼續執行指定的版本，直到您明確變更版本為止。當新的 Amazon Linux 版本發行之後，會有四週的遷移期間，在這段期間，AWS 會持續提供舊版本的定期更新。遷移期間結束之後，您的執行個體可以繼續執行舊版本，但 AWS 不會提供進一步的更新。如需詳細資訊，請參閱 [Amazon Linux AMI 常見問答集](https://aws.amazon.com/amazon-linux-ami/faqs/#lock)。

當新的 Amazon Linux 版本發行之後，建議您在遷移期間內更新至新版本，以讓執行個體持續接收安全性更新。在您更新生產堆疊的執行個體之前，建議您先啟動新的執行個體，並確認應用程式可在新版本上正確執行。接著，您即可更新生產堆疊的執行個體。

**注意**  
根據預設，當新的 Amazon Linux 版本發行時，以其為依據的自訂 AMI 會自動更新到該版本。建議作法是將自訂 AMI 鎖定為特定 Amazon Linux 版本，以便將更新延遲直到您測試過新版本為止。如需詳細資訊，請參閱[如何將 AMI 鎖定為特定版本？](https://aws.amazon.com/amazon-linux-ami/faqs/#lock)。  
如果您使用 CloudFormation 範本建立具有執行 Amazon Linux 之執行個體的堆疊，範本應明確指定 Amazon Linux 版本。尤其是，若您的範本指定 `Amazon Linux`，執行個體會持續執行 2016.09 版本。如需詳細資訊，請參閱 [AWS::OpsWorks::Stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html) 及 [AWS::OpsWorks::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)。

若要更新執行個體的 Amazon Linux 版本，請執行下列其中一項作業：
+ 針對線上執行個體，執行 [**Upgrade Operating System (升級作業系統)** 堆疊命令](workingstacks-commands.md)。

  當新的 Amazon Linux 版本可用時，**Instances (執行個體)** 和 **Stack (堆疊)** 頁面會顯示一則通知與連結，以帶您前往 **Run Command (執行命令)** 頁面。然後，您可以執行 **Upgrade Operating System (升級作業系統)** 以升級執行個體。
+ 對於離線 Amazon Elastic Block Store 後端 (EBS 後端） 執行個體，啟動執行個體並執行**升級作業系統**，如上述陳述式所述。
+ 針對離線的執行個體存放區後端執行個體 (包括時間式和負載式執行個體)，請[編輯執行個體的 **Operating system (作業系統)** 設定](workinginstances-properties.md)以指定新的版本。

  OpsWorks Stacks 會在執行個體重新啟動時，自動將執行個體更新為新版本。


**Amazon Linux：支援的 Node.js 版本**  

| Amazon Linux 版本 | Node.js 版本 | 
| --- | --- | 
|  <pre>2</pre>  |  <pre>(Not applicable to operating systems that are available for Chef 12 and higher stacks only)</pre>  | 
|  <pre>2018.03</pre>  |  <pre>0.12.18</pre>  | 
|  <pre>2017.09</pre>  |  <pre>0.12.18</pre>  | 
|  <pre>2017.03</pre>  |  <pre>0.12.18</pre>  | 
|  <pre>2016.09</pre>  |  <pre>0.12.18<br />0.12.17<br />0.12.16<br />0.12.15</pre>  | 
|  <pre>2016.03</pre>  |  <pre>0.12.18<br />0.12.17<br />0.12.16<br />0.12.15<br />0.12.14<br />0.12.13<br />0.12.12<br />0.12.10</pre>  | 


**Amazon Linux：支援的 Chef 版本**  

| Chef 版本 | 支援的 Amazon Linux 版本 | 
| --- | --- | 
|  <pre>12</pre>  |  <pre>Amazon Linux 2<br />Amazon Linux 2018.03<br />Amazon Linux 2017.09<br />Amazon Linux 2017.03<br />Amazon Linux 2016.09<br />Amazon Linux 2016.03</pre>  | 
|  <pre>11.10</pre>  |  <pre>Amazon Linux 2018.03<br />Amazon Linux 2017.09<br />Amazon Linux 2017.03<br />Amazon Linux 2016.09<br />Amazon Linux 2016.03</pre>  | 
|  <pre>11.4 (deprecated)</pre>  |  <pre>Amazon Linux 2016.09<br />Amazon Linux 2016.03</pre>  | 

**重要**  
更新 t1.micro 執行個體之前，請確認它們具備 `/var/swapfile` 暫時置換檔。Chef 0.9 堆疊上的 t1.micro 執行個體不具備置換檔。若是 Chef 11.4 和 Chef 11.10 堆疊，最新版本的執行個體代理程式會自動為 t1.micro 執行個體建立置換檔。不過，這項變更已推出數週，因此如果執行個體大約是在 2014 年 3 月 24 日前建立，您應該檢查其中是否具備 `/var/swapfile`。  
如果 t1.micro 執行個體缺少置換檔，您可以建立一個置換檔，如下所示：  
若是 Chef 11.10 和更新版本的堆疊，請建立新的 t1.micro 執行個體，其中即會自動含有置換檔。
若是 Chef 0.9 堆疊，請以根使用者的身分在每個執行個體上執行下列命令。  

  ```
  dd if=/dev/zero of=/var/swapfile bs=1M count=256
   mkswap /var/swapfile
   chown root:root /var/swapfile
   chmod 0600 /var/swapfile
   swapon /var/swapfile
  ```
如果您不想建立新的執行個體，也可以在 Chef 11.10 和更新版本的堆疊上使用這些命令。

## Ubuntu LTS
<a name="workinginstances-os-linux-ubuntu"></a>

Ubuntu 約每兩年會發行新的 Ubuntu LTS 版本，每個版本約支援 5 年。Ubuntu 會在作業系統支援期間提供安全性修補程式和更新。如需詳細資訊，請參閱 [LTS - Ubuntu Wiki](https://wiki.ubuntu.com/LTS)。
+ 您不能將現有 Ubuntu 執行個體更新到較新版本的 Ubuntu。

  您必須[建立新的 Ubuntu 執行個體](workinginstances-add.md)，並[刪除較舊的執行個體](workinginstances-delete.md)。
+ 只有 Chef 12 和更新版本的堆疊支援 Ubuntu 20.04 LTS。

## CentOS
<a name="workinginstances-os-linux-centos"></a>

OpsWorks Stacks 支援 64 位元版本的 [CentOS 7](https://docs.centos.org/en-US/docs/)。最初支援的版本是 CentOS 7，而 CentOS 約每兩年會發行新版本。

當您在 CentOS 堆疊中啟動新執行個體時， OpsWorks Stacks 會自動安裝最新的 CentOS 版本。由於發行新的 CentOS OpsWorks 次要版本時，Stacks 不會自動更新現有執行個體上的作業系統，因此新建立的執行個體可能會收到比堆疊現有執行個體更新的版本。為了保持堆疊間的版本一致性，您可以將現有的執行個體更新至目前的 CentOS 版本，如下所示：
+ 針對線上執行個體，請執行 [**Upgrade Operating System (升級作業系統)** 堆疊命令](workingstacks-commands.md)，其會在指定執行個體上執行 `yum update` 以將其更新至目前的版本。

  當新的 CentOS 7 次要版本可用時，**Instances (執行個體)** 和 **Stack (堆疊)** 頁面會顯示一則通知與連結，以帶您前往 **Run Command (執行命令)** 頁面。然後，您可以執行 **Upgrade Operating System (升級作業系統)** 以升級執行個體。
+ 對於離線 Amazon EBS 支援的執行個體，啟動執行個體並執行**升級作業系統**，如上述清單項目所述。
+ 對於離線執行個體後端執行個體， OpsWorks Stacks 會在執行個體重新啟動時自動安裝新版本。


**CentOS：支援的 Chef 版本**  

| Chef 版本 | 支援的 CentOS 版本 | 
| --- | --- | 
|  <pre>12</pre>  |  <pre>CentOS 7</pre>  | 
|  <pre>11.10</pre>  |  <pre>(None supported)</pre>  | 
|  <pre>11.4 (deprecated)</pre>  |  <pre>(None supported)</pre>  | 

**注意**  
OpsWorks Stacks 支援適用於 CentOS 執行個體的 Apache 2.4。

## Red Hat Enterprise Linux
<a name="workinginstances-os-linux-rhel"></a>

OpsWorks Stacks 支援 64 位元版本的 [Red Hat Enterprise Linux 7](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/) (RHEL 7)。最初支援的版本是 RHEL 7.1，而 Red Hat 約每九個月會發行新的次要版本。次要版本應與 RHEL 7.0 相容。如需詳細資訊，請參閱[生命週期和更新政策](https://access.redhat.com/support/policy/update_policies)。

當您啟動新的執行個體時， OpsWorks Stacks 會自動安裝目前的 RHEL 7 版本。由於發行新的 RHEL OpsWorks 7 次要版本時，Stacks 不會自動更新現有執行個體上的作業系統，因此新建立的執行個體可能會收到比堆疊現有執行個體更新的版本。為了保持堆疊間的版本一致性，您可以將現有的執行個體更新至目前的 RHEL 7 版本，如下所示：
+ 針對線上執行個體，請執行 [**Upgrade Operating System (升級作業系統)** 堆疊命令](workingstacks-commands.md)，其會在指定執行個體上執行 `yum update` 以將其更新至目前的版本。

  當新的 RHEL 7 次要版本可用時，**Instances (執行個體)** 和 **Stack (堆疊)** 頁面會顯示一則通知與連結，以帶您前往 **Run Command (執行命令)** 頁面。然後，您可以執行 **Upgrade Operating System (升級作業系統)** 以升級執行個體。
+ 對於離線 Amazon EBS 支援的執行個體，啟動執行個體並執行**升級作業系統**，如上述清單項目所述。
+ 對於離線執行個體後端執行個體， OpsWorks Stacks 會在執行個體重新啟動時自動安裝新版本。


**Red Hat Enterprise Linux：支援的 Node.js 版本**  

| RHEL 版本 | Node.js 版本 | 
| --- | --- | 
|  <pre>7</pre>  |  <pre>(Node.js versions only apply to Chef 11.10 stacks)<br />0.8.19<br />0.8.26<br />0.10.11<br />0.10.21<br />0.10.24<br />0.10.25<br />0.10.27<br />0.10.29<br />0.10.40<br />0.12.10<br />0.12.12<br />0.12.13<br />0.12.15</pre>  | 


**Red Hat Enterprise Linux：支援的 Chef 版本**  

| Chef 版本 | 支援的 RHEL 版本 | 
| --- | --- | 
|  <pre>12</pre>  |  <pre>Red Hat Enterprise Linux 7</pre>  | 
|  <pre>11.10</pre>  |  <pre>Red Hat Enterprise Linux 7</pre>  | 
|  <pre>11.4 (deprecated)</pre>  |  <pre>(None supported)</pre>  | 

所有早於 0.10.40 的 Node.js 版本都已棄用。 0.12.7 和 0.12.9 也已棄用。

**注意**  
OpsWorks Stacks 支援 RHEL 7 執行個體的 Apache 2.4。

# Microsoft Windows Server
<a name="workinginstances-os-windows"></a>

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

下列備註說明 OpsWorks Stacks 對 Windows 執行個體的支援。Windows 執行個體僅適用於 Chef 12.2 堆疊。Windows 堆疊中的 Chef 明確版本為 12.22。

目前，Stacks OpsWorks 代理程式無法安裝在使用**英文 - 美國 **(en-US) 以外系統 UI 語言的 Windows 執行個體上，且 OpsWorks Stacks 無法管理。

**版本**  
OpsWorks Stacks 支援下列 Windows 64 位元版本：  
+ Microsoft Windows Server 2022 基礎
+ Microsoft Windows Server 2022 搭配 SQL Server Express
+ Microsoft Windows Server 2022 搭配 SQL Server Standard
+ Microsoft Windows Server 2022 搭配 SQL Server Web
+ Microsoft Windows Server 2019 Base
+ Microsoft Windows Server 2019 搭配 SQL Server Express
+ Microsoft Windows Server 2019 搭配 SQL Server Standard
+ Microsoft Windows Server 2019 搭配 SQL Server Web

**建立執行個體**  
您可以使用 Stacks OpsWorks 主控台、API 或 CLI 建立 Windows 執行個體。Windows 執行個體為 Amazon EBS 後端，但您無法掛載額外的 Amazon EBS 磁碟區。  
Windows 堆疊可以使用[全年無休](workinginstances-starting.md)執行個體；您可以手動將其啟動和停止。也可以使用[時間式自動擴展功能](workinginstances-autoscaling-timebased.md)，根據使用者指定的排程自動啟動和停止執行個體。以 Windows 為基礎的堆疊無法使用[負載式自動擴展功能](workinginstances-autoscaling-loadbased.md)。  
您無法向堆疊[註冊在 Stacks 外部建立的 Windows 執行個體](registered-instances.md)。 OpsWorks 

**更新**  
AWS 會更新 Windows AMI 的每組修補程式，因此當您建立執行個體時，執行個體即具備最新的更新。不過， OpsWorks Stacks 不提供將更新套用至線上 Windows 執行個體的方法。若要確保 Windows 為最新狀態，最簡單的方法是定期取代您的執行個體，讓它們始終執行最新的 AMI。

**層**  
若要處理安裝軟體、設定軟體或部署應用程式等任務，您需要使用自訂配方實作一或多個[自訂 layer](workinglayers-custom.md)。

**Chef**  
Windows 執行個體會使用 Chef 12.22 並執行[本機模式中的 chef-client](https://docs.chef.io/ctl_chef_client.html#run-in-local-mode)，以啟動名稱為 [chef-zero](https://docs.chef.io/ctl_chef_client.html#about-chef-zero) 的本機記憶體內 Chef 伺服器。此伺服器的存在可讓自訂配方使用 Chef 搜尋和資料包。

**遠端登入**  
OpsWorks Stacks 為授權的 IAM 使用者提供可用於登入 Windows 執行個體的密碼。此密碼會在指定的時間後過期。管理員可以使用 SSH 金鑰對擷取執行個體的管理員密碼，該密碼提供不受限制的 [RDP 存取權](workinginstances-rdp.md)。如需詳細資訊，請參閱[使用 RDP 登入](workinginstances-rdp.md)。

**AWS 開發套件**  
OpsWorks Stacks 會自動在每個執行個體[適用於 .NET 的 AWS SDK](https://aws.amazon.com/sdk-for-net/)上安裝 。此套件包含 AWS .NET 程式庫和適用於 Windows 的 AWS 工具 (包括 [適用於 PowerShell 的 AWS 工具](https://aws.amazon.com/powershell/))。若要使用 Ruby 軟體開發套件，您可以使用自訂配方來安裝適當的 Gem 套件。

**監控與指標**  
Windows 執行個體支援標準 [Amazon CloudWatch (CloudWatch) 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html)，您可以在 CloudWatch 主控台中檢視。

**Ruby**  
Stacks 在 Windows 執行個體上安裝的 Chef 12.22 OpsWorks 用戶端隨附 Ruby 2.3.6。不過， OpsWorks Stacks 不會將可執行檔的目錄新增至 PATH 環境變數。若要讓應用程式使用此 Ruby 版本，您通常可以在 `C:\opscode\chef\embedded\bin\` 中找到它。

**OpsWorks Stacks 代理程式 CLI**  
Windows 執行個體上的 OpsWorks Stacks 代理程式不會公開[命令列界面](agent.md)。

**代理支援**  
若要設定 Windows 執行個體的代理支援，請執行下列作業：  

1. 修改 `machine.config` 以新增下列項目，將代理支援新增至 Windows PowerShell （初始引導） 和 .NET (OpsWorks Stacks 代理程式） 應用程式：

   ```
   <system.net>
     <defaultProxy>
       <proxy autoDetect="false" bypassonlocal="true" proxyaddress="http://10.100.1.91:3128"  usesystemdefault="false" />
       <bypasslist>
         <add address="localhost" />
         <add address="169.254.169.254" />
       </bypasslist>
     </defaultProxy>
   </system.net>
   ```

1. 執行下列命令來設定環境變數，供 Chef 和 Git 日後使用：

   ```
   setx /m no_proxy "localhost,169.254.169.254"
   setx /m http_proxy "http://10.100.1.91:3128"
   setx /m https_proxy "http://10.100.1.91:3128"
   ```

**注意**  
如需進一步了解 OpsWorks Stacks 如何更新執行個體，請建立以 Microsoft Windows Server 2022 Base 為基礎的自訂 AMI。例如，您可以使用自訂 AMI 來指定要在執行個體上安裝哪些軟體，例如 Web 伺服器 (IIS)。如需詳細資訊，請參閱[使用自訂 AMI](workinginstances-custom-ami.md)。