本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 a 中運行堆棧 VPC
重要
所以此 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請聯絡 AWS Support 團隊上 AWS Re: 郵寄
您可以透過在虛擬私有雲 (VPC) 中建立堆疊執行個體,來控制使用者對堆疊執行個體的存取。例如,您可能不想讓使用者直接存取您堆疊的應用程式伺服器或資料庫,而要求所有公有流量都經由 Elastic Load Balancer 導引。
在 a 中運行堆棧的基本過程VPC是:
-
使用 Amazon VPC 主控台建立適當設定 VPCAPI,或 AWS CloudFormation 範本。
-
在建立堆疊時指定 VPC ID。
-
在適當子網路中,啟動堆疊的執行個體。
下面簡要描述了如何VPCs工作 AWS OpsWorks 堆疊。
重要
如果您使用VPC端點功能,請注意,堆疊中的每個執行個體都必須能夠從 Amazon Simple Storage Service (Amazon S3) 完成以下動作:
-
安裝執行個體代理程式。
-
安裝 Ruby 這類資產。
-
上傳 Chef 執行日誌。
-
擷取堆疊命令。
若要啟用這些動作,您必須確保堆疊的執行個體可以存取下列符合堆疊區域的儲存貯體。否則,上述動作將會失敗。
對於廚師 12 Linux 和廚師 12.2 視窗,桶如下。
代理程式儲存貯體 | 資產儲存貯體 | 日誌儲存貯體 | DNA鏟斗 |
---|---|---|---|
|
|
|
|
若是 Linux 的 Chef 11.10 和更早版本,儲存貯體如下所示。美國東部 (維吉尼亞北部) 區域以外的區域端點不支援 Chef 11.4 堆疊。
代理程式儲存貯體 | 資產儲存貯體 | 日誌儲存貯體 | DNA鏟斗 |
---|---|---|---|
|
|
|
|
如需詳細資訊,請參閱 VPC 端點。
注意
用於 AWS OpsWorks 堆棧連接到您啟用的VPC端點,您還必須配置您的NAT或公共 IP 的路由, AWS OpsWorks 堆疊代理程式仍需要存取公用端點。
VPC基礎
如需詳細討論VPCs,請參閱 Amazon 虛擬私有雲。簡而言之,a VPC 由一或多個子網路組成,每個子網路都包含一或多個執行個體。每個子網路都有一個相關聯的路由表,以根據其目標 IP 地址指示傳出流量。
-
根據預設,無論子網路為何,內的執行個體都VPC可以相互通訊。不過,變更網路存取控制清單 (ACLs)、安全性群組原則或使用靜態 IP 位址可能會中斷此通訊。
-
如果子網路的執行個體可以與網際網路通訊,則這種子網路稱為「公有子網路」。
-
其執行個體只能與中的其他執行個體通訊VPC且無法直接與網際網路通訊的子網路稱為私有子網路。
AWS OpsWorks 堆疊需要設定,以便堆疊中的每個執行個體 (包括私有子網路中的執行個體) 都可以存取下列端點:VPC
-
其中之一 AWS OpsWorks 堆疊列於的「區域 Support」一節中的服務端點開始使用 AWS OpsWorks 堆疊。
-
下列其中一個執行個體服務端點,由 AWS OpsWorks 堆棧代理。受管的客戶執行個體上執行的代理程式會與服務交換資料。
-
opsworks-instance-service. 美東 2. 亞馬遜
-
opsworks-instance-service.us-east-1.amazonaws.com
-
opsworks-instance-service. 美國西部-1. 亞馬遜
-
opsworks-instance-service.us-west-2.amazonaws.com
-
opsworks-instance-service. 阿勒南 1. 亞馬遜
-
opsworks-instance-service.pt-東北部-1. 亞馬遜
-
opsworks-instance-service.pt-東北部-2. 亞馬遜
-
opsworks-instance-service.pt-東南部-1. 亞馬遜
-
opsworks-instance-service.pt-東南部 2. 亞馬遜
-
opsworks-instance-service.ca-中央-1. 亞馬遜
-
opsworks-instance-service.eu-central-1.amazonaws.com
-
opsworks-instance-service. 歐盟-西部-1. 亞馬遜
-
opsworks-instance-service. 歐洲西部 2. 亞馬遜
-
opsworks-instance-service. 歐盟-西部-3. 亞馬遜
-
-
Amazon S3
-
作業系統仰賴的任何套件儲存庫,例如 Amazon Linux 或 Ubuntu Linux 儲存庫。
-
您的應用程式和自訂技術指南儲存庫。
有多種方法可以配置 a VPC 以提供此連接。下面是一個簡單的例子,說明如何配置 VPC AWS OpsWorks 堆棧應用服務器堆棧。
這VPC有幾個組成部分:
- 子網
-
VPC有兩個子網路,一個公用和一個私有。
-
公用子網路包含負載平衡器和網路位址轉譯 (NAT) 裝置,可與外部位址以及私有子網路中的執行個體進行通訊。
-
私有子網路包含應用程式伺服器,這些伺服器可以與公用子網路中的NAT和負載平衡器通訊,但無法直接與外部位址通訊。
-
- 網際網路閘道
-
網際網路閘道可讓具有公用 IP 位址的執行個體 (例如負載平衡器) 與VPC.
- 負載平衡器
-
Elastic Load Balancing 負載平衡器會接收來自使用者的傳入流量,將它分發至私有子網路中的應用程式伺服器,並將回應傳回給使用者。
- NAT
-
(NAT) 裝置為應用程式伺服器提供有限的網際網路存取權,通常用於從外部儲存庫下載軟體更新等目的。全部 AWS OpsWorks 堆疊執行個體必須能夠與之通訊 AWS OpsWorks 堆疊並搭配適當的 Linux 儲存庫。處理此問題的一種方法是將具有關聯彈性 IP 地址的NAT設備放在公共子網中。然後,您可以透過路由私有子網路中執行個體的輸出流量NAT。
注意
單一NAT執行個體會在私有子網路的輸出流量中建立單一故障點。您可以透過設定一對執行個體 (如果其中VPC一個NAT執行個體發生故障時會接管彼此接管) 來提高可靠性。如需詳細資訊,請參閱 Amazon VPC NAT 執行個體的高可用性
。您也可以使用NAT閘道。如需詳細資訊,請參閱 Amazon 使VPC用者指南NAT中的。
最佳VPC配置取決於您的 AWS OpsWorks 堆疊堆疊。以下是一些您可能使用特定VPC組態的範例。如需其他VPC案例的範例,請參閱使用 Amazon 的案例VPC。
- 使用公有子網路中的一個執行個體
-
如果您的單一執行個體堆疊沒有關聯的私有資源 (例如不可公開存取的 Amazon RDS 執行個體),您可以建立VPC具有一個公有子網路的執行個體,然後將執行個體放在該子網路中。如果您未使用預設值VPC,則必須讓執行個體的層指派彈性 IP 位址給執行個體。如需詳細資訊,請參閱OpsWorks 圖層基礎。
- 使用私有資源
-
如果您有不應公開存取的資源,您可以建立具有一個公VPC用子網路和一個私有子網路。例如,在負載平衡的自動擴展環境中,您可以將所有 Amazon EC2 執行個體放在私有子網路中,並將負載平衡器放在公有子網路中。如此一來,Amazon EC2 執行個體就無法直接從網際網路存取;所有傳入流量都必須透過負載平衡器路由。
私有子網路會將執行個體AWS與 Amazon EC2 直接使用者存取隔離,但它們仍必須將輸出請求傳送至適當的 Linux 套件儲存庫。例如,若要允許此類要求,您可以使用具有自己彈性 IP 位址的網路位址轉譯 (NAT) 裝置,然後透過. NAT 您可以將 the 放NAT在與負載平衡器相同的公用子網路中,如前面的範例所示。
-
如果您使用的是後端資料庫 (例如 Amazon RDS 執行個體),則可以將這些執行個體放在私有子網路中。對於 Amazon RDS 執行個體,您必須在不同的可用區域中指定至少兩個不同的子網路。
-
如果您需要直接存取私有子網路中的執行個體 (例如,您想要用SSH來登入執行個體),您可以將防禦主機放在公用子網路中,以代理來自網際網路的要求。
-
- 將您自己的網絡擴展到 AWS
-
如果您想要將自己的網路延伸到雲端,也可以從您的網路直接存取網際網路VPC,您可以建立VPN閘道。如需詳細資訊,請參閱案例 3:使VPC用公用和私有子網路以及硬體VPN存取。
創建VPC一個 AWS OpsWorks 堆疊堆疊
本節說明如何VPC建立 AWS OpsWorks 使用範例AWS CloudFormation範本堆疊堆疊。您可以在 OpsWorksVPCtemplates.zip 檔案中下載範本。如需有關如何手動建立與本主題中討論之VPC類似項目的詳細資訊,請參閱案例 2:VPC使用公用和私有子網路。如需如何設定路由表、安全群組等,請參閱範本範例。
注意
默認情況下, AWS OpsWorks 堆棧通過連接其CIDR範圍和可用區域來顯示子網路名稱,例如10.0.0.1/24 - us-east-1b
。為了讓名稱更易讀,請為每個子網路建立標籤,方法是將 Key (索引鍵) 設定為 Name
,將 Value (值) 設定為子網路名稱。 AWS OpsWorks 堆疊接著會將子網路名稱附加至預設名稱。例如,下列範例中的私有子網路具有將 Name 設定為的標籤Private
,其 OpsWorks 顯示為10.0.0.1/24
us-east - 1b - Private
。
您可以VPC使用 AWS CloudFormation 控制台只需幾個步驟。下列程序使用範例範本VPC在美國東部 (維吉尼亞北部) 區域建立。如需有關如何使用範本VPC在其他區域建立的指示,請參閱程序後面的注意事項。
若要建立 VPC
-
開啟 AWS CloudFormation 主控台中
,選取美國東部 (維吉尼亞北部) 區域,然後選擇建立堆疊。 -
在 Select Template (選取範本) 頁面上,選取 Upload a template (上傳範本)。瀏覽尋找您在 OpsWorksVPCtemplates.zip
OpsWorksinVPC.template
檔案中下載的檔案。選擇「繼續」。您也可以透過開啟範AWS CloudFormation 例範本
來啟動此堆疊,找出 AWS OpsWorks 堆疊VPC範本,然後選擇啟動堆疊。 -
接受 Specify Parameters (指定參數) 頁面中的預設值,然後選擇 Continue (繼續)。
-
在「新增標記」頁面上,建立一個標籤,並將「金鑰」設定為
Name
並將「值」設定為VPC名稱。此標籤將使您在創建VPC時更容易識別您的 AWS OpsWorks 堆疊堆疊。 -
選擇 Continue (繼續),然後選擇 Close (關閉) 以啟動堆疊。
注意:您可以使用下列其VPC中一種方法在其他區域中建立。
-
轉到在不同區域中使用模板
,選擇適當的區域,找到 AWS OpsWorks 堆疊VPC範本,然後選擇 [啟動堆疊]。 -
將範本檔案複製到您的系統中,然後在 AWS CloudFormation 主控台
,然後使用「建立堆疊」精靈的「將範本上傳到 Amazon S3」選項,從系統上傳範本。
範例範本包括提供建立所需的VPC、子網路和負載平衡器IDs的輸出 AWS OpsWorks 堆疊堆疊。您可以通過選擇底部的「輸出」選項卡來查看它們 AWS CloudFormation 控制台窗口。