編輯圖 OpsWorks 層的組態 - AWS OpsWorks

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

編輯圖 OpsWorks 層的組態

重要

AWS OpsWorks Stacks不再接受新客戶。現有客戶可以正常使用 OpsWorks 主控台、API、CLI 和 CloudFormation 資源,直到 2024 年 5 月 26 日為止,屆時他們將停止使用。為了為此轉換做好準備,我們建議您AWS Systems Manager盡快將堆疊轉換為。如需詳細資訊,請參閱 AWS OpsWorks Stacks壽命終止常見問題將應用程式移轉至AWS OpsWorks Stacks應用AWS Systems Manager程式管

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

編輯 OpsWorks 圖層的步驟
  1. 在導覽窗格中,按一下 Layers (Layer)

  2. Layers (Layer) 頁面上,選擇 layer 名稱以開啟詳細資訊頁面,會顯示目前的組態。

    注意

    選擇 layer 名稱下的其中一個名稱,會直接帶您到詳細資訊頁面上的相關聯標籤。

  3. 按一下 Edit (編輯),然後選取適當的標籤:General Settings (一般設定)Recipes (配方)Network (網路)EBS Volumes (EBS 磁碟區)Security (安全性)

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

一般設定

所有 layer 都具有以下設定:

已啟用自動修復

Layer 的執行個體是否已啟用自動修復。預設設定為 Yes (是)

自訂 JSON

JSON 格式資料,傳遞給此 layer 中所有執行個體的 Chef 配方。例如,您可以使用此配方將資料傳遞至您自己的配方。如需詳細資訊,請參閱使用自訂 JSON

注意

您可以在部署、layer 和堆疊層級宣告自訂 JSON。如果您希望在堆疊中顯示某些自訂 JSON 或僅在個別的部署中顯示,則建議您執行此作業。或者,例如,您可能希望使用在部署層級宣告的自訂 JSON,暫時覆寫在 layer 層級宣告的自訂 JSON。如果您在多個層級宣告自訂 JSON,則在部署層級宣告的自訂 JSON,會覆寫在 layer 和堆疊層級宣告的任何自訂 JSON。在 layer 層級宣告的自訂 JSON,將會覆寫僅在堆疊層級宣告的任何自訂 JSON。

若要使用 AWS OpsWorks Stacks 主控台為部署指定自訂 JSON,請在 Deploy App (部署應用程式) 頁面上,選擇 Advanced (進階)。在 Custom Chef JSON (自訂 Chef JSON) 方塊中輸入自訂的 JSON,然後選擇 Save (儲存)

若要使用 AWS OpsWorks Stacks 主控台來為堆疊指定自訂 JSON,請在堆疊設定頁面的 Custom JSON (自訂 JSON) 方塊中輸入自訂 JSON,然後選擇 Save (儲存)

如需詳細資訊,請參閱 使用自訂 JSON部署應用程式

執行個體關機逾時

指定在停止或終止 Amazon EC2 執行個體之前觸發關機生命週期事件後,AWS OpsWorks堆疊等待的時間長度 (以秒為單位)。預設設定為 120 秒。設定的目的是在終止執行個體之前,為執行個體的關機配方提供足夠時間來完成其任務。如果您的自訂關機可能會需要更多時間,則請視情況修改設定。如需執行個體關機的詳細資訊,請參閱停止執行個體

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

配方

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

自訂 Chef 配方

您可以將自訂 Chef 配方指派給 layer 的生命週期事件。如需詳細資訊,請參閱執行配方

網路

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

Elastic Load Balancing

您可以將 Elastic Load Balancing 負載平衡器連接到任何層。 AWS OpsWorks然後,Stacks 會自動向負載平衡器註冊層的線上執行個體,並在離線時取消註冊。若您已啟用負載平衡器的連接耗盡功能,您可以指定 AWS OpsWorks Stacks 是否予以支援。如需詳細資訊,請參閱Elastic Load Balancing 層

自動指派 IP 地址

您可以控制 AWS OpsWorks Stacks 是否自動為 layer 的執行個體指派公有或彈性 IP 地址。以下是當您啟用此選項時會發生的情況:

  • 例如,對於執行個體後端執行個體,在每次啟動該執行個體時,AWS OpsWorks Stacks 都會自動指派一個地址。

  • 對於 Amazon EBS 支援的執行個體,AWS OpsWorksStacks 會在執行個體首次啟動時自動指派地址。

  • 如果某個執行個體屬於多個 layer,而如果您為至少一個圖 layer 啟用了自動指派,則 AWS OpsWorks Stacks 會自動指派地址,

注意

如果您啟用自動指派公用 IP 位址,則只會套用至新執行個體。 AWS OpsWorks堆疊無法更新現有執行個體的公用 IP 位址。

如果您的堆疊在 VPC 中執行,則您可以對公有 IP 地址和彈性 IP 地址進行個別設定。下表說明這些互動方式:

注意

執行個體必須可以與 AWS OpsWorks Stacks 服務、Linux 套件、技術指南及應用程式儲存庫進行通訊。如果未指定公有或彈性 IP 地址,則 VPC 必須包含允許 layer 的執行個體與外部網站通訊之元件 (如 NAT)。如需詳細資訊,請參閱在 VPC 中執行堆疊

如果您的堆疊不是在 VPC 中執行,則 Elastic IP addresses (彈性 IP 地址) 是您唯一的設定:

  • Yes (是):執行個體在第一次啟動時會收到彈性 IP 地址,而如果無法指派彈性 IP 地址則會收到公有 IP 地址。

  • No (否):執行個體在每次啟動時都會收到公有 IP 地址。

EBS 磁碟區

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

EBS 最佳化執行個體

是否應針對亞馬遜 Elastic Block Store (Amazon EBS) 優化層的執行個體。如需詳細資訊,請參閱 Amazon EBS 最佳化執行個體

額外的 EBS 磁碟區

(僅限 Linux) 您可以將 Amazon EBS 磁碟區新增至層的執行個體,或從該層的執行個體中移除這些磁碟區。當您啟動執行個體,AWS OpsWorks Stacks 會自動建立磁碟區並將其連接至執行個體。您可以使用 Resources (資源) 頁面來管理堆疊的 EBS 磁碟區。如需詳細資訊,請參閱資源管理

  • 掛載點 — (必要) 指定將掛載 EBS 磁碟區的掛載點或目錄。

  • # 磁碟 — (選擇性) 如果您指定 RAID 陣列,則表示陣列中的磁碟數目。

    每個 RAID 層級都有預設的磁碟數目,但您可以從清單中選取更大的數目。

  • 大小總計 (GiB) — (必要) 磁碟區的大小 (以 GiB 為單位)。

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

    下表說明每種磁碟區類型允許的磁碟區大小下限和上限。

    磁碟區類型 大小下限 (GiB) 大小上限 (GiB)
    磁帶 1 1024
    佈建 IOPS (SSD) 4 16384
    一般用途 (SSD) 1 16384
    輸送量最佳化 (HDD) 500 16384
    Cold HDD 500 16384
  • 碟區類型 — (選擇性) 指定是否要建立磁性、一般用途 SSD、輸送量最佳化硬碟、冷硬碟或 PIOPS 磁碟區。

    預設值為 Magnetic (磁帶)

  • 已加密 — (選擇性) 指定是否加密 EBS 磁碟區的內容。

  • 每個磁碟的 IOPS — (佈建 IOPS SSD 和一般用途 SSD 磁碟區是必要的) 如果您指定佈建的 IOPS SSD 或一般用途 SSD 磁碟區,您也必須指定每個磁碟的 IO PS。

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

當您將磁碟區新增至 layer,或是從 layer 移除磁碟區時,請注意以下事項:

  • 如果您新增磁碟區,每個新執行個體都會取得新的磁碟區,但 AWS OpsWorks Stacks 不會更新現有的執行個體。

  • 如果您移除某個磁碟區,則僅會套用於新的執行個體;現有的執行個體會保留其磁碟區。

指定掛載點

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

下列掛載點會保留給 AWS OpsWorks Stacks 使用。

  • /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 執行個體存放區。如需如何為 AWS OpsWorks Stacks 建立自訂 AMI 的詳細資訊,請參閱使用自訂 AMI

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

避免衝突的掛載點
  1. 將 Amazon EBS 磁碟區指派到所需的層,但使用掛接點之類的掛接點永遠不/mnt/workspace會與 autofs 發生衝突。

  2. 實作下列自訂方案,該方案會在 Amazon EBS 磁碟區上建立應用程式目錄,並從中/srv/www/連結至該目錄。如需如何實作和自訂配方的詳細資訊,請參閱 技術指南和配方自訂 AWS OpsWorks Stacks

    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
  3. 新增 depends 'deploy' 行到自訂技術指南的 metadata.rb 檔案。

  4. 將此配方指派至 layer 的設定事件。

安全性

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

安全群組

Layer 必須至少具有一個相關聯的安全群組。您可以指定建立更新堆疊時如何關聯安全性群組。 AWS OpsWorks堆疊提供一組標準的內建安全性群組。

  • 預設選項會讓 AWS OpsWorks Stacks 自動將適當的內建安全群組與每個堆疊 layer 建立關聯。

  • 您也可以選擇不自動為內建安全群組建立關聯,而在建立 layer 時將自訂安全群組與每個 layer 建立關聯。

如需安全群組的詳細資訊,請參閱 使用安全群組

建立 layer 後,您可以使用 Security Groups (安全群組) 來將更多安全群組新增至 layer,藉由從 Custom security groups (自訂安全群組) 清單中選取這些安全群組。將安全群組新增至 layer 之後,AWS OpsWorks Stacks 會將其新增至所有新執行個體。(請注意,重新啟動的執行個體儲存執行個體將會顯示為新執行個體,因此它們也會有新的安全群組。) AWS OpsWorks 堆疊不會將安全群組新增至線上執行個體。

您可以按一下 x 來刪除現有的安全群組,如下所示:

  • 如果您選擇讓 AWS OpsWorks Stacks 自動為內建安全群組建立關聯,則可以按一下 x 來刪除先前新增的自訂安全群組,但無法刪除內建群組。

  • 如果您選擇不自動為內建安全群組建立關聯,則可以刪除任何現有安全群組 (包括原始安全群組),只要該 layer 至少保留一個群組即可。

從圖層移除安全性群組後,AWS OpsWorksStack 並不會將其新增至任何新的或重新啟動的執行個體。 AWS OpsWorks堆疊不會從線上執行個體移除安全群組。

注意

如果您的堆疊在 VPC 中執行 (包括預設 VPC),您可以使用 Amazon EC2 主控台、API 或 CLI 新增或移除線上執行個體的安全群組。不過,這個安全群組不會顯示於 AWS OpsWorks Stacks 主控台。如果您想要移除安全群組,也必須使用 Amazon EC2。如需詳細資訊,請參閱安全群組

注意下列事項:

  • 您無法藉由新增更嚴格的安全群組,來限制內建安全群組的連接埠存取設定。如果有多個安全群組,Amazon EC2 會使用最寬鬆的設定。

  • 您不應修改內建安全群組的組態。當您建立堆疊時,AWS OpsWorks Stacks 會覆寫內建安全群組的組態,因此您所做的任何變更都會在下次建立堆疊時遺失。

如果您發現一或多個 layer 需要更嚴格的安全群組設定,請執行下列步驟:

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

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

  2. 編輯堆疊組態,並將 [使用 OpsWorks安全群組] 設定切換為 []。

    AWS OpsWorks Stacks 會自動從每個 layer 移除內建安全群組。

如需安全群組的詳細資訊,請參閱 Amazon EC2 安全群組

EC2 執行個體描述檔

您可以為 layer 的執行個體變更 EC2 描述檔。如需詳細資訊,請參閱指定在 EC2 執行個體上執行之應用程式的許可

CloudWatch 日誌

CloudWatch 日誌」標籤可讓您啟用或停用 Amazon CloudWatch 日誌。 CloudWatch 日誌集成與廚師 11.10 和廚師 12 基於 Linux 的堆棧一起使用。如需啟用 CloudWatch 記錄檔整合並指定您要在記錄主控台中管理之 CloudWatch 記錄的詳細資訊,請參閱使用亞馬遜CloudWatch日誌與AWS OpsWorks堆棧

Tags (標籤)

Tags (標籤) 標籤可讓您將成本分配標籤套用至您的 layer。新增標籤後,您可以在 AWS Billing and Cost Management 主控台將其啟用。建立標籤時,您會將標籤套用於已加上標籤的結構中每項資源。例如,如果您將標籤套用至層,則會將標籤套用至層中的每個執行個體、Amazon EBS 磁碟區或 Elastic Load Balancing 負載平衡器。有關如何激活標籤並使用它們來跟踪和管理 AWS OpsWorks Stack 資源成本的更多信息,請參閱 B illing and Cost Management 用戶指南中的使用成本分配標籤和激活用戶定義的成本分配標籤。如需 AWS OpsWorks Stacks 中標記的詳細資訊,請參閱Tags (標籤)