整合應用程式負載平衡器與安全群組
IBM Cloud® Application Load Balancer for VPC (ALB) 允許您綁定 安全群組,以強化應用程式的安全性。
安全群組是保護 ALB 實例安全的便利方式。 使用連接至負載平衡器的安全群組,您可以完全控制進出負載平衡器的接聽器及其後端目標的入埠及出埠資料流量。 此特性也可方便您加強負載平衡器後端目標的安全狀態。 後端目標可以直接使用負載平衡器的安全群組作為其自己安全群組定義中的來源,而不是使用其 IP 位址或 CIDR 範圍來識別負載平衡器。 這可確保自動容許來自所有負載平衡器應用裝置的資料流量,而不論其 IP 位址為何。
網路資料流量規則
下表提供公用及專用應用程式負載平衡器的入埠及出埠資料流量的最佳作法。
公用應用程式負載平衡器
入埠規則
| 通訊協定 | 來源類型 | 來源 | 值 |
|---|---|---|---|
| TCP | IP 位址 | 0.0.0.0/0 | Listener port |
在一般使用案例中,一般會容許從所有來源到公用負載平衡器上接聽器埠的入埠資料流量。
| 通訊協定 | 來源類型 | 來源 | 值 |
|---|---|---|---|
| TCP | IP 位址 | 209.173.53.167/20 | Listener port |
不過,如果您的需求需要限制入埠資料流量,您可以指定來源 CIDR,例如 209.173.53.167/20。 這將容許 IP 範圍內的所有公用 IP 位址到達公用負載平衡器。
出埠規則
| 通訊協定 | 目的地類型 | 目的地 | 值 |
|---|---|---|---|
| TCP | 安全群組 | Back-end target |
Back-end target port |
| TCP | 安全群組 | Back-end target |
Health check port |
請確保後端目標位於安全群組中,並在出埠規則中配置為目的地。 使用巢狀安全群組可讓您的 ALB 僅容許對後端目標及性能檢查埠的出埠資料流量。
您可以將出埠規則配置成比顯示的更寬鬆 (例如,容許所有資料流量傳送至任何目的地)。 不過,基於安全理由,不建議這樣做。
專用應用程式負載平衡器
入埠規則
| 通訊協定 | 來源類型 | 來源 | 值 |
|---|---|---|---|
| TCP | IP 位址 | Subnet CIDR or VPC security group |
Listener port |
一般會將專用負載平衡器的入埠規則限制為您自己的工作量。 請確定您指定來自特定子網路 CIDR 的來源,或來源裝置所屬的安全群組。 偏好使用特定的 CIDR 或巢狀安全群組; 不過,個別 IP 位址也可以運作。
只有在用戶端位於相同的 VPC 中時,巢狀安全群組才是選項。 如果客戶端位於不同的 VPC 或本地環境中,並透過 Transit Gateway 或 Direct Link 連接到負載平衡器的 VPC,則必須使用 IP 位址或 CIDR 來識別這些客戶端。
出埠規則
| 通訊協定 | 目的地類型 | 目的地 | 值 |
|---|---|---|---|
| TCP | 安全群組 | Back-end target security group |
Back-end target port |
| TCP | 安全群組 | Back-end target security group |
Health check port(如果不同於後端目標埠) |
請確保後端目標位於安全群組中,並在出埠規則中配置為目的地。 使用巢狀安全群組可讓您的 ALB 只容許對後端目標及性能檢查埠的出埠資料流量。
此外,您的後端目標必須具有 DNS 解析器的連線功能,才能解析負載平衡器的名稱。 這是因為負載平衡器是透過其 DNS 名稱來存取。
在負載平衡器佈建期間連接安全群組
建立應用程式負載平衡器時,您最多可以連接五個安全群組。 如果在建立負載平衡器期間未指定安全群組,則會使用 VPC 的預設安全群組。
如果您未選取至少一個安全群組,建議您更新預設安全群組規則,以將新建立的應用程式負載平衡器上負載平衡器資料流量的毀壞降至最低。
必要條件: 配置安全群組和規則
請確定您要連接至 ALB 的安全群組存在。 也請確定已針對負載平衡器資料流量配置其規則。 如果您需要建立安全群組,請遵循下列步驟。 或者,您可以使用 IBM Cloud VPC APIDOCS 建立安全性群組。
若要使用使用者介面來建立安全群組,請執行下列動作:
-
請在瀏覽器中開啟 IBM Cloud 控制台,並登入您的帳戶。
-
選取導覽功能表
,然後按一下基礎結構
> 網路 > 安全群組。
-
按一下建立。
-
請為您的安全群組指定一個唯一的名稱。
-
選取安全群組的 VPC。 必須在與負載平衡器相同的 VPC 中建立安全群組。
-
按一下「新增」以設定入站與出站規則,用以定義允許哪些類型的流量進出該安全群組。 針對每項規則,請填寫以下資訊:
- 為允許的資料流量指定 CIDR 區塊或 IP 位址。 此外,您也可以在同一 VPC 中指定一個安全群組,以允許與該安全群組關聯的所有來源之間的流量進出。
- 選取要套用規則的通訊協定及埠。 如需網路規則的最佳作法,請參閱 網路資料流量規則。
提示:
- 無論所有規則的新增次序為何,都會對它們進行評估。
- 規則是有狀態的,表示會自動允許回應所容許資料流量的傳回資料流量。 舉例來說,若您建立了一條允許透過 80 號埠接收來自 TCP 的傳入流量的規則,該規則同時也會允許透過 80 號埠發送回傳至原始主機的 TCP 傳出流量,而無需另行建立規則。
-
選用項目: 如果您計劃將此安全群組套用至其他實例,請編輯介面。 在負載平衡器區段中執行連接安全群組。
-
完成建立規則之後,請按一下 建立安全群組。
安全群組範例
例如,請設定以下進站規則,以允許 HTTP 監聽器( TCP 埠 80)上的所有流量。
| 通訊協定 | 來源類型 | 來源 | 值 |
|---|---|---|---|
| TCP | 全部 | 0.0.0.0/0 |
埠 80 |
接著,請設定出站規則,允許 TCP 的流量傳輸至您的後端目標:
| 通訊協定 | 目的地類型 | 目的地 | 值 |
|---|---|---|---|
| TCP | 全部 | 10.11.12.13/32 (後端目標 IP 位址) |
80 (後端目標埠) |
| TCP | 全部 | 10.11.12.14/32 (後端目標 IP 位址) |
80 (後端目標性能檢查埠) |
程序: 在 ALB 建立期間連接安全群組
若要在 建立應用程式負載平衡器 時連接安全群組,請遵循下列步驟:
- 請在瀏覽器中開啟 IBM Cloud 控制台,並登入您的帳戶。
- 選取導覽功能表
,然後按一下 Infrastructure
> Network > Load balancers。
- 按一下建立。
- 視需要配置名稱、VPC、類型、子網路、接聽器及儲存區。
- 從安全群組表格中選取您要附加的安全群組的勾選框。
- 按一下 建立 以佈建負載平衡器。
請確定您的安全群組規則容許負載平衡器資料流量。 請確保安全群組中容許您的接聽器、儲存區及性能檢查埠。
連接及分離安全群組
若要將安全群組連接至現有負載平衡器,請遵循下列步驟:
2021 年 2 月 25 日之前建立的負載平衡器未連接安全群組,且容許所有入埠及出埠資料流量。 如果您將安全群組連接至沒有安全群組的負載平衡器,則無法回復為沒有安全群組。 您可以透過附加具有容許所有入埠及出埠資料流量之規則的安全群組,來回復先前的「容許所有入埠及出埠資料流量」行為。 不過,這類規則本質上較具有更嚴格的安全群組更不安全,因此不建議這樣做。
- 請在瀏覽器中開啟 IBM Cloud 控制台,並登入您的帳戶。
- 選取導覽功能表
,然後按一下 Infrastructure
> Network > Load balancers。
- 從負載平衡器清單中,選取負載平衡器以檢視其詳細資料頁面。
- 按一下 附加的安全群組 標籤,以檢視附加的安全群組。
- 若要連接一或多個安全群組,請按一下 連接。 您最多可以選取五個安全群組來連接至 ALB。
- 選取要連接的安全群組。
- 按一下連接。
若要從負載平衡器分離安全群組,請遵循下列步驟:
- 請在瀏覽器中開啟 IBM Cloud 控制台,並登入您的帳戶。
- 選取導覽功能表
,然後按一下 Infrastructure
> Network > Load balancers。
- 從負載平衡器清單中,選取負載平衡器以檢視其詳細資料頁面。
- 按一下 附加的安全群組 標籤,以檢視附加的安全群組。
- 若要分離安全群組,請按一下安全群組的「動作」功能表
。
- 按一下分離。