問AWS NLB如何調整才能使兩EC2所獲得請求一致

更新 發佈閱讀 6 分鐘

如果在AWS上設置了兩台EC2實例,分別位於不同的可用區(Availability Zone),並配置了NLB(網路負載均衡器)來進行流量分配。目前注意到,當在兩台EC2實例上分別執行Linux指令 netstat -tunlpa | wc -l 來檢查網路連接數時,發現兩邊的結果並不一致。更具體地說,流量似乎大多集中在其中一台EC2實例上,這引發了相關的疑問。

vocus|新世代的創作平台


目前使用的指令 netstat 是Linux中用來查看網路連線、路由表、連接埠狀態及相關統計資訊的工具。netstat -tunlpa 用於顯示所有監聽和非監聽的Socket連線,並顯示由程式佔用的TCP/UDP端口,通常會顯示多組數字。wc -l 是用來統計結果中顯示行數,即統計符合條件的連線數量。


可能的原因:

在這種情況下,造成結果不一致的原因可能有多方面,以下是幾個可能的方向:

1.NLB健康檢查設置:若NLB健康檢查設置不當,可能會影響流量分配,導致流量不均勻。

2.跨區負載均衡設定:默認情況下,NLB會將流量均勻分配到所有健康的目標EC2實例。如果未啟用跨區負載均衡(Cross-Zone Load Balancing),則流量將僅在每個可用區內的EC2實例之間進行分配。如果EC2實例分佈在不同可用區,可能會導致某區域接收更多流量,特別是在某可用區存在的EC2實例較少的情況下。

3.EC2實例配置問題: 目前所提到的 netstat 結果不一致,可能與EC2實例本身的配置或狀況有關, 比如某些實例處於高負載狀態,或者未能正確處理來自NLB的流量。

建議的步驟:

  1. 檢查NLB健康狀態
    如圖所示,確認NLB的健康檢查結果是否為「健康」(Healthy)。如果健康檢查顯示正常,則可以進一步排查其他可能的原因。


vocus|新世代的創作平台




    2.檢查NLB是否開啟跨區負載均衡(Cross-zone Load Balancing)


        如圖所示,跨區負載均衡功能目前處於關閉狀態。


vocus|新世代的創作平台




NLB結論:

  1. NLB設置正常
    經過檢查,相關設置和配置均顯示正常,且健康檢查結果顯示為「健康」(Healthy),這表示NLB的負載均衡功能正常運作,並且在將流量分配到目標EC2實例時沒有問題。
  2. 跨區負載均衡未啟用
    由於跨區負載均衡功能未開啟,而情境中並未提到有配置EC2集群,因此流量僅會在當前可用區內的目標EC2實例之間進行均衡分配。這並不影響負載均衡的運作,因為該功能僅限於跨可用區進行負載分配。
  3. 問題可能出在EC2設置,而非NLB
    根據目前的檢查結果,問題並不在於NLB的配置,而可能是在設置的EC2實例上。如果需要進一步分析,就需要檢查EC2的相關日誌和配置資料,以便進行更詳細的排查。

檢查 EC2 實例的資源使用情況

EC2 實例的資源使用情況,如 CPU、內存、網路帶寬等,會直接影響其處理流量的能力。如果某台 EC2 實例的資源處於高負載狀態,它可能無法處理更多的連線請求。

  • CPU 和內存使用率:檢查 EC2 實例的 CPU 和內存使用率。使用 tophtopfree 等工具來監控資源的使用情況。若某一台實例的資源消耗過高,則需要調整應用配置,或考慮升級實例類型。
  • 網路帶寬使用:檢查 EC2 實例的網路流量,確保其網路帶寬未達到瓶頸。使用 ifstatnetstat 等工具來監控網路帶寬使用情況。如果某台實例的網路帶寬達到限制,可能會影響其處理連線的能力。
  • 負載均衡設置(應用層):如果 EC2 上運行的是應用程式(如 Web 伺服器、API 伺服器等),需要確保這些應用層的負載均衡設置是合理的。例如,若使用 Nginx、Apache 或其他反向代理服務,應確保其配置允許跨可用區均衡地處理流量。

檢查應用層的負載均衡配置

如果 EC2 實例上運行的是 Web 服務或應用服務,這些服務的負載均衡設置也會影響流量的分配。

  • 應用層的負載均衡:如果使用 Nginx、HAProxy、或其他反向代理,檢查這些應用層負載均衡工具的設置,確保它們能夠均衡分配流量,並且不會因為配置錯誤導致不均衡的流量分配。
  • Session Stickiness(會話黏性):檢查是否開啟了會話黏性(Session Stickiness)設置,這會讓同一用戶的所有請求被定向到同一台 EC2 實例。如果開啟了會話黏性,則可能導致某台 EC2 實例的流量過高,另一台過低。可以根據需要調整會話黏性策略。

監控與性能調整

  • CloudWatch 監控:利用 CloudWatch 監控 EC2 實例的 CPU 使用率、網路流量、磁碟 IO 等指標,這可以幫助你發現性能瓶頸,進而調整實例配置或應用設置。
  • 性能調整:如果發現某台實例處於高負載狀態,可以考慮升級 EC2 實例類型,增加 CPU、內存、網路帶寬等資源,來提高其處理能力。也可以使用 Auto Scaling(自動擴容)來根據需求自動增加或減少 EC2 實例。

檢查應用程式或服務的配置

如果你的 EC2 實例運行的是需要長時間保持連接的應用程式(例如 Web 伺服器、數據庫服務等),需要檢查是否有不合理的配置,導致某一台實例的資源被過度消耗,或是某些連線未被正確關閉。

  • TCP 連線數量:檢查是否有大量的半開或掛起的 TCP 連線,這可能會導致某一台實例的負載過高。可以通過 netstatss 命令來檢查 TCP 連線狀態。
  • Keep-Alive 設置:如果應用程式使用了 HTTP Keep-Alive 連接,確保設置合理。過長的 Keep-Alive 連線時間可能會導致不必要的資源佔用。

檢查網路拓撲與延遲

在某些情況下,網路延遲也可能影響負載均衡的效果。雖然 NLB 會根據健康檢查將流量分配到健康的 EC2 實例,但如果某一台 EC2 實例所處的可用區(AZ)出現延遲或網路問題,可能會導致流量分配不均。

  • 檢查 VPC 和子網配置:確認 EC2 實例所在的 VPC 和子網設置沒有問題。網路瓶頸或錯誤的路由配置可能會影響流量分配。


若發現


關於NLB健康檢查相關操作可參考AWS原廠文件

https://docs.aws.amazon.com/zh_tw/elasticloadbalancing/latest/network/check-target-health.html





留言
avatar-img
手把手玩IT!
2會員
108內容數
手把手玩IT!的其他內容
2025/01/03
 Azure 平台中的子網路(Subnet)是虛擬網路(Virtual Network,VNet)中的一部分,它允許用戶將虛擬網路劃分為更小的區域,以便進行網路隔離和更精細的流量管理。本教學將詳細介紹如何在 Azure 入口網站中建立子網路,過程簡單易懂,適合初學者。 前置條件 已有 Azur
Thumbnail
2025/01/03
 Azure 平台中的子網路(Subnet)是虛擬網路(Virtual Network,VNet)中的一部分,它允許用戶將虛擬網路劃分為更小的區域,以便進行網路隔離和更精細的流量管理。本教學將詳細介紹如何在 Azure 入口網站中建立子網路,過程簡單易懂,適合初學者。 前置條件 已有 Azur
Thumbnail
2025/01/03
AWS ADS 和 MGN遷移應用  在進行地端伺服器(on-premises servers)遷移到 AWS 雲端的過程中,AWS 提供了多種工具來協助遷移工作,兩個常見的選擇是 AWS Application Discovery Service (ADS) 和 AWS Applicatio
Thumbnail
2025/01/03
AWS ADS 和 MGN遷移應用  在進行地端伺服器(on-premises servers)遷移到 AWS 雲端的過程中,AWS 提供了多種工具來協助遷移工作,兩個常見的選擇是 AWS Application Discovery Service (ADS) 和 AWS Applicatio
Thumbnail
2025/01/03
CSP類型的Azure訂用帳戶需開啟Cost Management相關權限才可看見預估費用 Azure Cost Management是Azure所提供的一套雲端成本控制和優化工具,重點在幫助用戶們有效管理在Azure平台上的支出。其中的功能包含了費用監控、預算管理、成本預測各個方面,可以讓用
Thumbnail
2025/01/03
CSP類型的Azure訂用帳戶需開啟Cost Management相關權限才可看見預估費用 Azure Cost Management是Azure所提供的一套雲端成本控制和優化工具,重點在幫助用戶們有效管理在Azure平台上的支出。其中的功能包含了費用監控、預算管理、成本預測各個方面,可以讓用
Thumbnail
看更多
你可能也想看
Thumbnail
在著陸區(Landing Zone)在規劃時,在上一篇文章[1]的網路架構分享是以Shared VPC為例,但是在現實生活中,總是有各種前人留下的歷史共業或公司規範、作業考量而不能使用Shared VPC來集中管理雲端環境的網路架構。 因此分享常見的網路架構設計和設計架構時參考的因素!
Thumbnail
在著陸區(Landing Zone)在規劃時,在上一篇文章[1]的網路架構分享是以Shared VPC為例,但是在現實生活中,總是有各種前人留下的歷史共業或公司規範、作業考量而不能使用Shared VPC來集中管理雲端環境的網路架構。 因此分享常見的網路架構設計和設計架構時參考的因素!
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
當大量的網路封包在有限的頻寬中傳輸,總有一些服務的封包會因為搶不過其他封包而造成卡頓,例如玩遊戲時,若同時也在下載其他大型檔案,就會造成遊戲卡頓甚至斷線。這時候客製化QOS來決定哪些封包能優先被傳送,就能有效地提升指定服務的順暢度,進而提升使用者在網路上的體驗。 本篇文章接介紹如何在OpenW
Thumbnail
當大量的網路封包在有限的頻寬中傳輸,總有一些服務的封包會因為搶不過其他封包而造成卡頓,例如玩遊戲時,若同時也在下載其他大型檔案,就會造成遊戲卡頓甚至斷線。這時候客製化QOS來決定哪些封包能優先被傳送,就能有效地提升指定服務的順暢度,進而提升使用者在網路上的體驗。 本篇文章接介紹如何在OpenW
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
新加入的指標 VolumeStalledIOCheck: 此指標是二進位值,將根據 EBS 磁碟區是否可以完成 I/O 操作傳回 0(通過)或 1(失敗)狀態。 可能原因: EBS 磁碟區底層儲存子系統的硬體或軟體問題 實體主機上的硬體問題會影響 EC2 執行個體中的 EBS 磁碟區
Thumbnail
新加入的指標 VolumeStalledIOCheck: 此指標是二進位值,將根據 EBS 磁碟區是否可以完成 I/O 操作傳回 0(通過)或 1(失敗)狀態。 可能原因: EBS 磁碟區底層儲存子系統的硬體或軟體問題 實體主機上的硬體問題會影響 EC2 執行個體中的 EBS 磁碟區
Thumbnail
1.首先 這是 “AWS 上的工作負載發現” 的解決方案,我嘗試了一下,覺得很方便,所以介紹一下~ https://aws.amazon.com/tw/solutions/implementations/workload-discovery-on-aws/ 2. 部署 官方提供 CloudF
Thumbnail
1.首先 這是 “AWS 上的工作負載發現” 的解決方案,我嘗試了一下,覺得很方便,所以介紹一下~ https://aws.amazon.com/tw/solutions/implementations/workload-discovery-on-aws/ 2. 部署 官方提供 CloudF
Thumbnail
AWS AMI Oracle Linux 7 包成 AMI 後,使用 AMI 啟動新 EC2 會遇到 Instance status checks fail 的問題 查看 system log 看到 EC2 開機時沒有抓到 eth0 ,導致 Instance status checks fai
Thumbnail
AWS AMI Oracle Linux 7 包成 AMI 後,使用 AMI 啟動新 EC2 會遇到 Instance status checks fail 的問題 查看 system log 看到 EC2 開機時沒有抓到 eth0 ,導致 Instance status checks fai
Thumbnail
接續上一篇文章,本文再深入一點關於ETCD基本操作以及在其他文章中關於ETCD節點資料不一致情況的除錯內容分享
Thumbnail
接續上一篇文章,本文再深入一點關於ETCD基本操作以及在其他文章中關於ETCD節點資料不一致情況的除錯內容分享
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
實驗目的:Lambda@Edge (L@E) 讓 CLoudFront (CF) 回源時,自動選擇較近的 S3 region 回源
Thumbnail
實驗目的:Lambda@Edge (L@E) 讓 CLoudFront (CF) 回源時,自動選擇較近的 S3 region 回源
Thumbnail
Cloud Run 允許您指定哪些修訂版應該接收流量,並指定不同版本接收的流量比例。Revisions 也能使您能夠回滾到先前的版本、逐步增加新版本的流量比例,或在多個修訂版之間拆分流量。
Thumbnail
Cloud Run 允許您指定哪些修訂版應該接收流量,並指定不同版本接收的流量比例。Revisions 也能使您能夠回滾到先前的版本、逐步增加新版本的流量比例,或在多個修訂版之間拆分流量。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News