

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

# 編輯 OpsWorks Layer 的組態
<a name="workinglayers-basics-edit"></a>

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

在您建立 layer 後，某些屬性 (例如 AWS 區域) 是不可變的，但您可以變更大多數的 layer 設定。編輯 layer 也可以存取 **Add Layer (新增 Layer)** 頁面上不可用的組態設定。儲存新組態後，設定將立即生效。

**編輯 OpsWorks layer**

1.  在導覽窗格中，按一下 **Layers (Layer)**。

1. 在 **Layers (Layer)** 頁面上，選擇 layer 名稱以開啟詳細資訊頁面，會顯示目前的組態。
**注意**  
選擇 layer 名稱下的其中一個名稱，會直接帶您到詳細資訊頁面上的相關聯標籤。

1.  按一下 **Edit (編輯)**，然後選取適當的標籤：**General Settings (一般設定)**、**Recipes (配方)**、**Network (網路)**、**EBS Volumes (EBS 磁碟區)** 或 **Security (安全性)**。

下列各節說明可用於所有 layer 之各種標籤上的設定。某些 layer 具有額外 layer 特定的設定，這些設定會顯示在頁面頂端。此外，某些設定僅適用於 Linux 系統的堆疊，如上所述。

**Topics**
+ [一般設定](#workinglayers-basics-edit-general)
+ [配方](#workinglayers-basics-edit-recipes)
+ [網路](#workinglayers-basics-edit-network)
+ [EBS 磁碟區](#workinglayers-basics-edit-ebs)
+ [安全](#workinglayers-basics-edit-security)
+ [CloudWatch Logs](#w2ab1c14c53c21c11c23)
+ [Tags (標籤)](#w2ab1c14c53c21c11c25)

## 一般設定
<a name="workinglayers-basics-edit-general"></a>

所有 layer 都具有以下設定：

**已啟用自動修復**  
Layer 的執行個體是否已啟用[自動修復](workinginstances-autohealing.md)。預設設定為 **Yes (是)**。

**自訂 JSON**  
JSON 格式資料，傳遞給此 layer 中所有執行個體的 Chef 配方。例如，您可以使用此配方將資料傳遞至您自己的配方。如需詳細資訊，請參閱[使用自訂 JSON](workingstacks-json.md)。  
您可以在部署、layer 和堆疊層級宣告自訂 JSON。如果您希望在堆疊中顯示某些自訂 JSON 或僅在個別的部署中顯示，則建議您執行此作業。或者，例如，您可能希望使用在部署層級宣告的自訂 JSON，暫時覆寫在 layer 層級宣告的自訂 JSON。如果您在多個層級宣告自訂 JSON，則在部署層級宣告的自訂 JSON，會覆寫在 layer 和堆疊層級宣告的任何自訂 JSON。在 layer 層級宣告的自訂 JSON，將會覆寫僅在堆疊層級宣告的任何自訂 JSON。  
若要使用 OpsWorks Stacks 主控台指定部署的自訂 JSON，請在**部署應用程式**頁面上選擇**進階**。在 **Custom Chef JSON (自訂 Chef JSON)** 方塊中輸入自訂的 JSON，然後選擇 **Save (儲存)**。  
若要使用 OpsWorks Stacks 主控台指定堆疊的自訂 JSON，請在堆疊設定頁面上，在自訂 JSON 方塊中輸入**自訂 JSON**，然後選擇**儲存**。  
如需詳細資訊，請參閱[使用自訂 JSON](workingstacks-json.md)及[部署應用程式](workingapps-deploying.md)。

**執行個體關機逾時**  
指定觸發[關機生命週期事件](workingcookbook-events.md)後， OpsWorks Stacks 在停止或終止 Amazon EC2 執行個體前的等待時間 （以秒為單位）。預設設定為 120 秒。設定的目的是在終止執行個體之前，為執行個體的關機配方提供足夠時間來完成其任務。如果您的自訂關機可能會需要更多時間，則請視情況修改設定。如需執行個體關機的詳細資訊，請參閱[停止執行個體](workinginstances-starting.md#workinginstances-starting-stop)。

此標籤上其餘的設定會因 layer 類型而異，並與 layer 之 **Add Layer (新增 Layer)** 頁面上的設定相同。

## 配方
<a name="workinglayers-basics-edit-recipes"></a>

**Recipes (配方)** 標籤包含下列設定。

**自訂 Chef 配方**  
您可以將自訂 Chef 配方指派給 layer 的生命週期事件。如需詳細資訊，請參閱[執行配方](workingcookbook-executing.md)。

## 網路
<a name="workinglayers-basics-edit-network"></a>

**Network (網路)** 標籤包含下列設定。

**Elastic Load Balancing**  
您可以將 Elastic Load Balancing 負載平衡器連接至任何 layer。 OpsWorks Stacks 接著會自動向負載平衡器註冊 layer 的線上執行個體，並在它們離線時取消註冊。如果您已啟用負載平衡器的連線耗盡功能，您可以指定 Stacks OpsWorks 是否支援此功能。如需詳細資訊，請參閱[Elastic Load Balancing Layer](layers-elb.md)。

**自動指派 IP 地址**  
您可以控制 OpsWorks Stacks 是否自動將公有或彈性 IP 地址指派給 layer 的執行個體。以下是當您啟用此選項時會發生的情況：  
+ 對於執行個體後端執行個體， OpsWorks Stacks 會在每次執行個體啟動時自動指派地址。
+ 對於 Amazon EBS 後端執行個體，當執行個體第一次啟動時， OpsWorks Stacks 會自動指派地址。
+ 如果執行個體屬於多個 layer，且您已為至少一個 layer 啟用自動指派， OpsWorks 則Stacks 會自動指派地址。
如果您啟用公有 IP 地址的自動指派，它僅適用於新的執行個體。 OpsWorks Stacks 無法更新現有執行個體的公有 IP 地址。
如果您的堆疊在 VPC 中執行，則您可以對公有 IP 地址和彈性 IP 地址進行個別設定。下表說明這些互動方式：  

![\[Table showing interactions between public IP addresses, Elastic IP addresses, and instance network configurations.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/ip-address.png)

執行個體必須能夠與 OpsWorks Stacks 服務、Linux 套件儲存庫和技術指南儲存庫進行通訊。如果未指定公有或彈性 IP 地址，則 VPC 必須包含允許 layer 的執行個體與外部網站通訊之元件 (如 NAT)。如需詳細資訊，請參閱[在 VPC 中執行堆疊](workingstacks-vpc.md)。
如果您的堆疊不是在 VPC 中執行，則 **Elastic IP addresses (彈性 IP 地址)** 是您唯一的設定：  
+ **Yes (是)**：執行個體在第一次啟動時會收到彈性 IP 地址，而如果無法指派彈性 IP 地址則會收到公有 IP 地址。
+ **No (否)**：執行個體在每次啟動時都會收到公有 IP 地址。

## EBS 磁碟區
<a name="workinglayers-basics-edit-ebs"></a>

**EBS Volumes (EBS 磁碟區)** 標籤包含下列設定。

EBS 最佳化執行個體  
是否應為 Amazon Elastic Block Store (Amazon EBS) 最佳化 layer 的執行個體。如需詳細資訊，請參閱 [Amazon EBS 最佳化執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)。

**額外的 EBS 磁碟區**  
（僅限 Linux) 您可以將 [Amazon EBS 磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)新增至 layer 執行個體或從中移除它們。當您啟動執行個體時， OpsWorks Stacks 會自動建立磁碟區並將其連接至執行個體。您可以使用 **Resources (資源)** 頁面來管理堆疊的 EBS 磁碟區。如需詳細資訊，請參閱[資源管理](resources.md)。  
+ **掛載點** – （必要） 指定要掛載 EBS 磁碟區的掛載點或目錄。
+ **\$1 磁碟** – （選用） 如果您指定 RAID 陣列，則為陣列中的磁碟數量。

  每個 RAID 層級都有預設的磁碟數目，但您可以從清單中選取更大的數目。
+ **大小總計 (GiB)** – （必要） 磁碟區的大小，以 GiB 為單位。

  對於 RAID 陣列，此設定會指定陣列的總大小，而不是每個磁碟的大小。

  下表說明每種磁碟區類型允許的磁碟區大小下限和上限。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/workinglayers-basics-edit.html)
+ **磁碟區類型** – （選用） 指定要建立磁性、一般用途 SSD、輸送量最佳化 HDD、冷 HDD 或 PIOPS 磁碟區。

  預設值為 **Magnetic (磁帶)**。
+ **加密 – **（選用） 指定是否加密 EBS 磁碟區的內容。
+ **每個磁碟的 IOPS** – （佈建 IOPS SSD 和一般用途 SSD 磁碟區需要） 如果您指定佈建 IOPS SSD 或一般用途 SSD 磁碟區，您也必須指定**每個磁碟的 IOPS**。

  在建立磁碟區時，您可以指定佈建 IOPS 磁碟區的 IOPS 速率。已佈建的 IOPS 和所請求的磁碟區大小之比例最高為 30 (換言之，一個 3000 IOPS 的磁碟區必須至少有 100 GB)。一般用途 (SSD) 磁碟區類型的基準 IOPS 為磁碟區大小乘以 3，上限為 10000 IOPS，並可突發最高 3000 IOPS 達 30 分鐘。

當您將磁碟區新增至 layer，或是從 layer 移除磁碟區時，請注意以下事項：
+ 如果您新增磁碟區，每個新執行個體都會取得新的磁碟區，但 OpsWorks Stacks 不會更新現有的執行個體。
+ 如果您移除某個磁碟區，則僅會套用於新的執行個體；現有的執行個體會保留其磁碟區。

### 指定掛載點
<a name="workinglayers-basics-edit-ebs-mount"></a>

您可以指定您喜歡的任何掛載點。不過，請注意，某些掛載點保留供 OpsWorks Stacks 或 Amazon EC2 使用，不應用於 Amazon EBS 磁碟區。請勿使用典型的 Linux 系統資料夾，例如 `/home` 或 `/etc`。

下列掛載點保留供 Stacks OpsWorks 使用。
+ `/srv/www`
+ `/var/log/apache2` (Ubuntu)
+ `/var/log/httpd` (Amazon Linux)
+ `/var/log/mysql`
+ `/var/www` 

當執行個體啟動或重新啟動時，autofs (自動掛載協助程式) 會使用臨時裝置掛載點，例如 `/media/ephemeral0` 用於綁定掛載。此操作會在掛載 Amazon EBS 磁碟區之前進行。為了確保 Amazon EBS 磁碟區的掛載點不會與 autofs 衝突，請勿指定暫時性裝置掛載點。可能的暫時性裝置掛載點取決於特定的執行個體類型，以及它是執行個體後端還是 Amazon EBS 後端。為了避免與 autofs 衝突，請執行下列作業：
+ 驗證您希望使用之特定執行個體類型與備用存放區的臨時裝置掛載點。
+ 請注意，如果您切換到 Amazon EBS 支援的執行個體，則適用於執行個體後端執行個體的掛載點可能會與 autofs 衝突，反之亦然。

**注意**  
如果您想要變更執行個體存放區塊型設備映射，您可以建立自訂 AMI。如需詳細資訊，請參閱 [Amazon EC2 執行個體存放區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)。如需如何為 Stacks 建立自訂 AMI OpsWorks 的詳細資訊，請參閱 [使用自訂 AMI](workinginstances-custom-ami.md)。

下列範例說明如何使用自訂配方來確保磁碟區的掛載點不與 autofs 衝突。您可以依照特定使用案例來調整。

**避免衝突的掛載點**

1. 將 Amazon EBS 磁碟區指派給所需的 layer，但使用掛載點，例如 `/mnt/workspace` 永遠不會與 autofs 衝突。

1. 實作下列自訂配方，該配方會在 Amazon EBS 磁碟區上建立應用程式目錄，並從 連結至該目錄`/srv/www/`。如需如何實作和自訂配方的詳細資訊，請參閱 [技術指南和配方](workingcookbook.md) 和 [自訂 OpsWorks Stacks](customizing.md)。

   ```
   mount_point = node['ebs']['raids']['/dev/md0']['mount_point'] rescue nil
   
   if mount_point
     node[:deploy].each do |application, deploy|
       directory "#{mount_point}/#{application}" do
         owner deploy[:user]
         group deploy[:group]
         mode 0770
         recursive true
       end
   
       link "/srv/www/#{application}" do
         to "#{mount_point}/#{application}"
       end
     end
   end
   ```

1. 新增 `depends 'deploy'` 行到自訂技術指南的 `metadata.rb` 檔案。

1. [將此配方指派至 layer 的設定事件。](workingcookbook-executing.md)

## 安全
<a name="workinglayers-basics-edit-security"></a>

**Security (安全性)** 標籤包含下列設定。

**安全群組**  
Layer 必須至少具有一個相關聯的安全群組。您可以指定如何在[建立](workingstacks-creating.md)或[更新](workingstacks-edit.md)堆疊時關聯安全群組。 OpsWorks Stacks 提供一組標準內建安全群組。  
+ 預設選項是讓 OpsWorks Stacks 自動將適當的內建安全群組與每個 layer 建立關聯。
+  您也可以選擇不自動為內建安全群組建立關聯，而在建立 layer 時將自訂安全群組與每個 layer 建立關聯。
如需安全群組的詳細資訊，請參閱 [使用安全群組](workingsecurity-groups.md)。  
建立 layer 後，您可以使用 **Security Groups (安全群組)** 來將更多安全群組新增至 layer，藉由從 **Custom security groups (自訂安全群組)** 清單中選取這些安全群組。將安全群組新增至 layer 之後， OpsWorks Stacks 會將其新增至所有新的執行個體。（請注意，重新啟動的執行個體存放區執行個體會變成新的執行個體，因此也會有新的安全群組。) OpsWorks Stacks 不會將安全群組新增至線上執行個體。  
您可以按一下 **x** 來刪除現有的安全群組，如下所示：  
+ 如果您選擇讓 OpsWorks Stacks 自動關聯內建安全群組，您可以按一下 **x** 來刪除先前新增的自訂安全群組，但無法刪除內建群組。
+ 如果您選擇不自動為內建安全群組建立關聯，則可以刪除任何現有安全群組 (包括原始安全群組)，只要該 layer 至少保留一個群組即可。
從 layer 移除安全群組之後， OpsWorks Stacks 不會將其新增至任何新的或重新啟動的執行個體。 OpsWorks Stacks 不會從線上執行個體移除安全群組。  
如果您的堆疊是在 VPC 中執行，您可以使用 Amazon EC2 主控台、API 或 CLI 來新增或移除線上執行個體的安全群組。不過，此安全群組不會在 Stacks OpsWorks 主控台中顯示。如果您想要移除安全群組，您還必須使用 Amazon EC2。如需詳細資訊，請參閱[安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)。
注意下列事項：  
+ 您無法藉由新增更嚴格的安全群組，來限制內建安全群組的連接埠存取設定。有多個安全群組時，Amazon EC2 會使用最寬鬆的設定。
+ 您不應修改內建安全群組的組態。當您建立堆疊時， OpsWorks Stacks 會覆寫內建安全群組的組態，因此您所做的任何變更都會在您下次建立堆疊時遺失。
如果您發現一或多個 layer 需要更嚴格的安全群組設定，請執行下列步驟：  

1. 使用適當的設定來建立自訂安全群組，並將其新增至適當的 layer。

   除了內建群組之外，堆疊中的每個 layer 都必須至少具有一個安全群組，即使只有一個 layer 需要自訂設定。

1. [編輯堆疊組態](workingstacks-edit.md)並將 **Use OpsWorks security groups (使用 OpsWorks 安全群組)** 設定切換至 **No (否)**。

   OpsWorks Stacks 會自動從每一層移除內建的安全群組。
如需安全群組的詳細資訊，請參閱 [Amazon EC2 安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)。

**EC2 執行個體描述檔**  
您可以為 layer 的執行個體變更 EC2 描述檔。如需詳細資訊，請參閱[指定在 EC2 執行個體上執行之應用程式的許可](opsworks-security-appsrole.md)。

## CloudWatch Logs
<a name="w2ab1c14c53c21c11c23"></a>

**CloudWatch Logs** 索引標籤可讓您啟用或停用 Amazon CloudWatch Logs。CloudWatch Logs 整合適用於 Chef 11.10 和 Chef 12 Linux 型堆疊。如需啟用 CloudWatch Logs 整合和指定要在 CloudWatch Logs 主控台中管理之日誌的詳細資訊，請參閱 [搭配 Stacks OpsWorks 使用 Amazon CloudWatch Logs](monitoring-cloudwatch-logs.md)。

## Tags (標籤)
<a name="w2ab1c14c53c21c11c25"></a>

**Tags (標籤)** 標籤可讓您將成本分配標籤套用至您的 layer。新增標籤後，您可以在 AWS 帳單與成本管理 主控台中啟用標籤。建立標籤時，您會將標籤套用於已加上標籤的結構中每項資源。例如，如果您將標籤套用至 layer，您要將標籤套用至 layer 中的每個執行個體、Amazon EBS 磁碟區或 Elastic Load Balancing 負載平衡器。如需如何啟用標籤並使用它們來追蹤和管理 OpsWorks Stacks 資源成本的詳細資訊，請參閱 *帳單與成本管理使用者指南*中的[使用成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)和[啟用使用者定義的成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html)。如需 OpsWorks Stacks 中標記的詳細資訊，請參閱[Tags (標籤)](tagging.md)。