本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS OpsWorks 堆疊
重要
所以此 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請聯絡 AWS Support 團隊上 AWS Re: 郵寄
雲端運算通常涉及一組AWS資源,例如 Amazon EC2 執行個體和 Amazon Relational Database Service (RDS) 執行個體,這些執行個體必須共同建立和管理。例如,web 應用程式通常需要應用程式伺服器、資料庫伺服器、負載平衡器等。這個執行個體群組通常稱為「堆疊」。一個簡易的應用程式伺服器堆疊看起來可能會如下。
除了建立執行個體和安裝必要的套件之外,您通常需要一種將應用程式分佈到應用程式伺服器、監控堆疊效能、管理安全及許可等的方式。
AWS OpsWorks Stacks 提供了一種簡單而靈活的方式來建立和管理堆疊和應用程式。
以下是基本應用程序服務器堆棧的外觀 AWS OpsWorks 堆疊。它由一組在 Elastic Load Balancing 負載平衡器後面執行的應用程式伺服器組成,以及後端 Amazon RDS 資料庫伺服器。
儘管相對簡單,但此堆棧顯示了所有密鑰 AWS OpsWorks 堆疊功能。以下是它構成的方式。
主題
- 堆疊
- 圖層
- 食譜與 LifeCycle 活動
- 執行個體
- 應用程式
- 自訂您的 Stack
- 資源管理
- 安全與許可
- 監控和記錄
- CLISDK、和 AWS CloudFormation 範本
- AWS OpsWorks Stacks 壽命終止常見問題
- 將應用程式移轉至 AWS OpsWorks Stacks 應用 AWS Systems Manager 程式管
- 使用現地 AWS OpsWorks Stacks 分離工具
- 開始使用 AWS OpsWorks 堆疊
- AWS OpsWorks 堆疊最佳做法
- 堆疊
- 圖層
- 執行個體
- 應用程式
- 技術指南和配方
- 資源管理
- 標籤
- 監控
- 安全與許可
- AWS OpsWorks 堆棧 Support 廚師 12
- 對以前的廚師版本的 Support AWS OpsWorks 堆疊
- 搭配其他 AWS 服務使用 AWS OpsWorks 堆疊
- 使用 AWS OpsWorks 堆疊 CLI
- 偵錯和故障診斷指南
- AWS OpsWorks 堆疊代理 CLI
- AWS OpsWorks 堆疊資料袋參考
- OpsWorks 代理變更
堆疊
堆棧是核心 AWS OpsWorks 堆疊元件。它基本上是AWS資源 (Amazon EC2 執行個體、Amazon 資RDS料庫執行個體等) 的容器,它們具有共同目的且應該在邏輯上一起管理。堆疊可協助您以群組的形式管理這些資源,並定義一些預設的組態設定,例如執行個體的作業系統和AWS區域。如果您想要將某些堆疊元件與直接使用者互動隔離,您可以在VPC.
圖層
您可以藉由新增一或多個 layer 來定義堆疊的組成內容。層代表一組用於特定用途的 Amazon EC2 執行個體,例如為應用程式提供服務或託管資料庫伺服器。
您可以透過修改套件的預設組態,新增 Chef 配方以執行像是安裝額外套件等的任務,來自訂或延伸 layer。
對於所有堆棧, AWS OpsWorks 堆疊包含代表下列服務的AWS服務層。
-
Amazon Relational Database Service
-
Elastic Load Balancing
-
Amazon Elastic Container Service
Layer 可讓您完全控制要安裝的套件、其設定的方式、部署應用程式的方式等。
食譜與 LifeCycle 活動
Layer 會根據 Chef 配方
每一 layer 都可以為每個生命週期事件指派一組配方,處理該事件和 layer 的各種任務。例如,屬於 Web 伺服器層的執行個體完成開機後, AWS OpsWorks 堆棧執行以下操作。
-
執行 layer 的安裝配方,執行像是安裝和設定 web 伺服器等的任務。
-
執行 layer 的部署配方,將 layer 的應用程式從儲存庫部署到執行個體,並執行相關任務 (例如重新啟動服務)。
-
在堆疊中的每個執行個體上執行設定配方,使每個執行個體可視需要調整自身的組態,以適應新的執行個體。
例如,在執行負載平衡器的執行個體上,設定配方可能會修改負載平衡器的組態,以包含新的執行個體。
如果一個例證屬於多個圖層, AWS OpsWorks Stack 會針對每個圖層執行方法,例如,您可以擁有支援PHP應用程式伺服器和我的SQL資料庫伺服器的執行個體。
如果您已經實現了配方,則可以將每個配方分配給適當的層和事件 AWS OpsWorks 堆疊會在適當的時間自動為您執行。您也可以隨時手動執行配方。
執行個體
執行個體代表單一運算資源,例如 Amazon EC2 執行個體。它定義了資源的基本組態,例如作業系統和大小。其他組態設定 (例如彈性 IP 地址或 Amazon EBS 磁碟區) 由執行個體的層定義。layer 的配方會透過執行像是安裝和設定套件及部署應用程式等任務,來完成組態。
您可以使用... AWS OpsWorks 堆疊以建立實體並將其新增至圖層。當您啟動執行個體時, AWS OpsWorks Stacks 會使用EC2執行個體及其層指定的組態設定來啟動 Amazon 執行個體。Amazon EC2 執行個體完成啟動後, AWS OpsWorks Stacks 會安裝代理程式來處理執行個體與服務之間的通訊,並執行適當的方法來回應生命週期事件。
AWS OpsWorks 堆疊支援下列執行個體類型,其特點是如何啟動和停止。
-
全年無休執行個體為手動啟動,並會持續執行到您停止他們。
-
以時間為基礎的執行個體由 AWS OpsWorks 在指定的每日和每週排程上堆疊。
他們可讓您的堆疊自動調整執行個體的數目,以適應可預測的用量模式。
-
以負載為基礎的執行個體會自動啟動和停止 AWS OpsWorks 堆疊,根據指定的負載指標,例如CPU使用率。
他們可讓您的堆疊自動調整執行個體的數目,以適應傳入流量的變化。負載式執行個體僅適用於 Linux 式的堆疊。
AWS OpsWorks 堆疊支援執行個體自動修復。如果代理程式停止與服務通訊, AWS OpsWorks 堆疊會自動停止執行個體並重新啟動。
您也可以將以 Linux 為基礎的運算資源整合到以外建立的堆疊中 AWS OpsWorks 堆疊。
-
您使用 EC2 Amazon EC2 主控台、CLI或直接建立的 Amazon 執行個體API。
-
在您自己的硬體上執行的「現場部署」執行個體,包括在虛擬機器中執行的執行個體。
註冊其中一個執行個體之後,它就會變成一個 AWS OpsWorks 堆棧實例,您可以以與創建實例大致相同的方式進行管理 AWS OpsWorks 堆疊。
應用程式
您可以將應用程式和相關檔案存放在儲存庫中,例如 Amazon S3 儲存貯體。每個應用程式都由一個應用程式表示,該應用程式會指定應用程式類型,並包含將應用程式從儲存庫部署至執行個體所需的資訊,例如儲存庫URL和密碼。當您部署應用程式時, AWS OpsWorks 堆疊會觸發 Deploy 事件,該事件會在堆疊的執行個體上執行 Deploy 方法。
您可採用以下方式來部署應用程式:
-
自動 — 當您啟動執行個體時, AWS OpsWorks 堆疊會自動執行執行個體的部署方法。
-
手動 – 若您有新的應用程式,或希望更新現有的應用程式,您可以手動執行線上執行個體的部署配方。
你通常有 AWS OpsWorks 堆疊會在整個堆疊上執行 Deploy 方法,讓其他層的執行個體適當地修改其組態。但是,舉例來說,若您希望在將應用程式部署到每個應用程式伺服器執行個體前測試新的應用程式,您可以將部署限制在執行個體一部分的子集。
自訂您的 Stack
AWS OpsWorks 堆疊提供多種自訂圖層的方式,以符合您的特定需求:
-
您可以修改方式 AWS OpsWorks Stack 會覆寫代表各種組態設定的屬性,或甚至覆寫用來建立組態檔案的範本,藉此設定套件。
-
您可以透過提供您自己的配方,執行像是執行指令碼或安裝和設定非標準套件等任務來延伸現有的 layer。
所有堆疊可包含一或多個 layer。一開始的 layer 只會有最小的配方組。您透過實作配方,處理像是安裝套件、部署應用程式等任務,來將功能新增到 layer。您可以將自訂配方和相關檔案封裝在一或多本食譜中,並將食譜存放在 Amazon S3 或 Git 等儲存庫中。
您可以手動運行配方,但是 AWS OpsWorks Stacks 還可以通過支持一組五個生命週期事件來自動化流程:
-
Setup (安裝) 會在新的執行個體成功開機之後發生。
-
Configure (設定) 會在執行個體進入或離開線上狀態時,在所有堆疊的執行個體上發生。
-
Deploy (部署) 會在您部署應用程式時發生。
-
Undeploy (解除部署) 會在您刪除應用程式時發生。
-
Shutdown (關機) 會在您停止執行個體時發生。
每個 layer 都可以將任何數目的配方指派給每個事件。當生命週期事件發生在圖層的實例上時, AWS OpsWorks 堆棧運行相關的配方。例如,當應用程式伺服器執行個體上發生 Deploy 事件時, AWS OpsWorks 堆疊會執行圖層的部署配方,以下載應用程式或執行相關工作。
資源管理
您可以將其他AWS資源(例如彈性 IP 地址)合併到堆棧中。您可以使用 AWS OpsWorks Stack 主控台或API是在堆疊中註冊資源、將已註冊的資源附加至執行個體或從執行個體中分離,以及將資源從一個執行個體移至另一個執行
安全與許可
AWS OpsWorks 堆疊整合 AWS Identity and Access Management (IAM)提供控制用戶訪問方式的可靠方式 AWS OpsWorks 堆疊,包括下列項目:
-
個別使用者如何與每個堆疊互動,例如他們是否可以建立堆疊資源 (例如層和執行個體),或是否可以使用SSH或連接RDP到堆疊的 Amazon EC2 執行個體。
-
方法 AWS OpsWorks 堆疊可代表您採取行動,與 Amazon EC2 執行個體等AWS資源互動。
-
應用程序如何運行 AWS OpsWorks 堆疊執行個體可以存取 Amazon S3 儲存貯體等AWS資源。
-
如何管理使用者的公開SSH金鑰和RDP密碼,以及連線至執行個體。
監控和記錄
AWS OpsWorks Stacks 提供多種功能,可協助您監控堆疊,並針對堆疊和任何配方進行疑難排解問題。針對所有堆疊:
-
AWS OpsWorks 堆疊提供一組 Linux 堆疊的自訂 CloudWatch 指標,為了方便您在監控頁面上進行摘要。
AWS OpsWorks 堆疊支援 Windows 堆疊的 CloudWatch 標準度量。您可以使用 CloudWatch 控制台監視它們。
-
CloudTrail 日誌, 其中記錄API通過或代表作出的呼叫 AWS OpsWorks 堆疊在您的AWS帳戶中。
-
事件日誌會列出您堆疊中的所有事件。
-
Chef 日誌會詳細記載針對每個執行個體上每個生命週期事件進行的行為,例如執行了哪些配方,以及發生了哪些錯誤。
以 Linux 為基礎的堆疊也可以包含 Ganglia 主要層,您可以使用它來收集並顯示堆疊中執行個體的詳細監視資料。
CLISDK、和 AWS CloudFormation 範本
除了控制台之外, AWS OpsWorks Stacks 也支援命令列介面 (CLI),以及SDKs可用來執行任何作業的多種語言。考量這些功能:
-
所以此 AWS OpsWorks 堆疊CLI是的一部分 AWSCLI
,可用來從命令列執行任何作業。 AWSCLI支援多種AWS服務,可以安裝在視窗、Linux 或 OS X 系統上。
-
AWS OpsWorks 堆疊包含在 Windows AWS 工具
中 PowerShell,可用來從 Windows PowerShell 命令列執行任何作業。 -
所以此 AWS OpsWorks 堆疊包含SDK在中 AWSSDKs,可由下列項目中實作的應用程式使用:Java JavaScript
(以瀏覽器為基礎和 Node.js)、. NET , PHP , Python (博托) , 或紅寶石 .
您也可以使用 AWS CloudFormation 用於佈建堆疊的範本。如需一些範例,請參閱AWS OpsWorks 片段。