<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>分流 - 東東 GCP 教學 - GCP 實戰講師 - 雲上星辰有限公司</title>
	<atom:link href="https://dongdonggcp.com/tag/%e5%88%86%e6%b5%81/feed/" rel="self" type="application/rss+xml" />
	<link>https://dongdonggcp.com</link>
	<description>助你考取證照，轉職成功</description>
	<lastBuildDate>Tue, 28 Oct 2025 09:21:40 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://dongdonggcp.com/wp-content/uploads/2025/04/cropped-340838097_121391010914395_5443948698124160121_n-32x32.jpg</url>
	<title>分流 - 東東 GCP 教學 - GCP 實戰講師 - 雲上星辰有限公司</title>
	<link>https://dongdonggcp.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">243235092</site>	<item>
		<title>[GCP 線上課程] GCP 負載平衡依照權重分流 Load Balancer weight-based traffic splitting</title>
		<link>https://dongdonggcp.com/2024/03/30/gcp-load-balancer-weight-based-traffic-splitting/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gcp-load-balancer-weight-based-traffic-splitting</link>
					<comments>https://dongdonggcp.com/2024/03/30/gcp-load-balancer-weight-based-traffic-splitting/#respond</comments>
		
		<dc:creator><![CDATA[東東]]></dc:creator>
		<pubDate>Sat, 30 Mar 2024 05:20:22 +0000</pubDate>
				<category><![CDATA[Google Cloud Platform]]></category>
		<category><![CDATA[Load Balancer]]></category>
		<category><![CDATA[GCP]]></category>
		<category><![CDATA[分流]]></category>
		<category><![CDATA[負載平衡]]></category>
		<guid isPermaLink="false">https://dongdonggcp.wordpress.com/?p=6019</guid>

					<description><![CDATA[<p>在 GCP 上要做到依權重分流的方法很多 [&#8230;]</p>
<p>The post <a href="https://dongdonggcp.com/2024/03/30/gcp-load-balancer-weight-based-traffic-splitting/">[GCP 線上課程] GCP 負載平衡依照權重分流 Load Balancer weight-based traffic splitting</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師 - 雲上星辰有限公司</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>在 GCP 上要做到依權重分流的方法很多，</p>



<p>如下：</p>



<p>1.Cloud DNS 依權重解析到不同 IP (超簡單)</p>



<p>2.Google App Engine 不同版本分流 (超簡單)</p>



<p>3.Cloud Function 不同版本分流 (超簡單)</p>



<p>4.Cloud Run 不同版本分流 (超簡單)</p>



<p>5.Nginx 設定檔 (非GCP但也很簡單)</p>



<p>6.HTTP(S) Load Balancer 依權重分流 </p>



<p>偏偏 Load Balancer 是最複雜的，</p>



<p>明明就很單純的功能，</p>



<p>不知道 GCP 為什麼要搞得這麼複雜？</p>



<p>這裡快速分享一下步驟。</p>



<p>目標：依照 70%，30%的權重，分配流量到2個後端。</p>



<p>為了簡化，我在後端都用非代管執行個體群組，</p>



<p>各自接到一台 VM，hello-world-a 和 hello-world-b</p>



<p>Load Balancer 部分，</p>



<p>前端通訊協定就用 HTTP，</p>



<p>接2個後端，分別接到2個非代管執行個體群組。</p>



<p>架構圖如下：</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="2082" height="940" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.42.42.png?w=1024" alt="" class="wp-image-6023" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.42.42.png 2082w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.42.42-300x135.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.42.42-1024x462.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.42.42-768x347.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.42.42-1536x693.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.42.42-2048x925.png 2048w" sizes="(max-width: 2082px) 100vw, 2082px" /></figure>



<p>一、上述建立主機、執行個體群組的部分省略，兩張網頁呈現如下：</p>



<p>vm: hello-world-a</p>



<figure class="wp-block-image size-large"><img decoding="async" width="480" height="192" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.45.13.png?w=480" alt="" class="wp-image-6025" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.45.13.png 480w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.45.13-300x120.png 300w" sizes="(max-width: 480px) 100vw, 480px" /></figure>



<p>vm: hello-world-b</p>



<figure class="wp-block-image size-large"><img decoding="async" width="518" height="178" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.45.17.png?w=518" alt="" class="wp-image-6026" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.45.17.png 518w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.45.17-300x103.png 300w" sizes="(max-width: 518px) 100vw, 518px" /></figure>



<p>二、接下來要建立負載平衡了，要注意，</p>



<p>前端先不要建，建立兩個後端，接到兩個執行個體群組。</p>



<p>完成如下：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="538" height="222" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.49.51.png?w=538" alt="" class="wp-image-6028" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.49.51.png 538w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.49.51-300x124.png 300w" sizes="(max-width: 538px) 100vw, 538px" /></figure>



<p>三、接下來要打指令了，</p>



<p>分流的關鍵物件叫做 urm-map</p>



<p>先寫好一個 YAML 檔，我取名 map，</p>



<p>紅色部分請各位自行替換。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1318" height="658" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.51.27.png?w=1024" alt="" class="wp-image-6030" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.51.27.png 1318w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.51.27-300x150.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.51.27-1024x511.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d8812.51.27-768x383.png 768w" sizes="(max-width: 1318px) 100vw, 1318px" /></figure>



<p>為了方便大家複製貼上，我就貼在這裡，語法我就不解釋了。</p>



<pre class="wp-block-code alignwide"><code>defaultService: https://www.googleapis.com/compute/v1/projects/dong-dong-gcp-2-bigquery/global/backendServices/bk-a
kind: compute #urlMap
name: web-map-http
hostRules:
- hosts:
  - '*'
  pathMatcher: matcher1
pathMatchers:
- defaultService: https://www.googleapis.com/compute/v1/projects/dong-dong-gcp-2-bigquery/global/backendServices/bk-a
  name: matcher1
  routeRules:
  - matchRules:
    - prefixMatch: /
    priority: 2
    routeAction:
        weightedBackendServices:
        - backendService: https://www.googleapis.com/compute/v1/projects/dong-dong-gcp-2-bigquery/global/backendServices/bk-a
          weight: 70
        - backendService: https://www.googleapis.com/compute/v1/projects/dong-dong-gcp-2-bigquery/global/backendServices/bk-b
          weight: 30</code></pre>



<p>四、YAML 檔準備好，用指令來建立 url-map：</p>



<p>gcloud beta compute url-maps import web-map-http &#8211;source map &#8211;global</p>



<p>五、再來建立 target-http-proxies</p>



<p>gcloud beta compute target-http-proxies create http-lb-proxy-adv &#8211;url-map=web-map-http</p>



<p>六、在建立前端之前，先保留一個靜態 IP</p>



<p>gcloud compute addresses create lb-ipv4 &nbsp; &nbsp; &#8211;ip-version=IPV4 &nbsp; &nbsp; &#8211;global</p>



<p>七、確認取得 IP</p>



<p>gcloud compute addresses describe lb-ipv4 &nbsp; &nbsp; &#8211;format=&#8221;get(address)&#8221; &nbsp; &nbsp; &#8211;global</p>



<p>八、建立 forwarding-rules</p>



<p>gcloud beta compute forwarding-rules create http-content-rule &nbsp; &nbsp; &#8211;load-balancing-scheme EXTERNAL_MANAGED &nbsp; &nbsp; &#8211;address=lb-ipv4-2 &nbsp; &nbsp; &#8211;global &nbsp; &nbsp; &#8211;target-http-proxy=http-lb-proxy-adv &nbsp; &nbsp; &#8211;ports=80</p>



<p>建立過程截圖如下：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2660" height="820" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.26.47.png?w=1024" alt="" class="wp-image-6034" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.26.47.png 2660w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.26.47-300x92.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.26.47-1024x316.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.26.47-768x237.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.26.47-1536x474.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.26.47-2048x631.png 2048w" sizes="(max-width: 2660px) 100vw, 2660px" /></figure>



<p>接下來點網頁看看，</p>



<p>會發現很多次是 v1，有幾次是 v2。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="411" height="300" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.37.41.png?w=411" alt="" class="wp-image-6035" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.37.41.png 411w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.37.41-300x219.png 300w" sizes="(max-width: 411px) 100vw, 411px" /></figure>



<p>想多打一點流量進去，使用 siege，</p>



<p>在 Cloud Shell 安裝 siege：</p>



<p>sudo apt-get install siege</p>



<p>開始測試，例如打個200下：</p>



<p>siege -c 10 -r 2- -d1 http://34.49.24.227</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1542" height="502" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.31.58.png?w=1024" alt="" class="wp-image-6038" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.31.58.png 1542w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.31.58-300x98.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.31.58-1024x333.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.31.58-768x250.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.31.58-1536x500.png 1536w" sizes="(max-width: 1542px) 100vw, 1542px" /></figure>



<p>然後 Load Balancer 監控頁面可以看到分流的圖：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="591" height="908" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.39.22.png?w=591" alt="" class="wp-image-6044" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.39.22.png 591w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.39.22-195x300.png 195w" sizes="(max-width: 591px) 100vw, 591px" /></figure>



<p>我們去 Cloud Logging 去看結果，</p>



<p>看到2個後端接收 Request 的次數比較，</p>



<p>包含我最初手動點擊網頁的次數，和 siege 200 次，</p>



<p>2個後端分別收到 209 次和 91次，大概是69.67%：30.30%，</p>



<p>如果打更多次，比例會更接近 70%：30%。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1849" height="1038" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.32.27.png?w=1024" alt="" class="wp-image-6040" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.32.27.png 1849w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.32.27-300x168.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.32.27-1024x575.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.32.27-768x431.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-28-e4b88be58d8812.32.27-1536x862.png 1536w" sizes="(max-width: 1849px) 100vw, 1849px" /></figure>



<p>也可以從 Cloud Monitoring 看到兩個後端接收 Reuqest 的圖表：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2478" height="1486" src="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d881.15.04.png?w=1024" alt="" class="wp-image-6042" srcset="https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d881.15.04.png 2478w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d881.15.04-300x180.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d881.15.04-1024x614.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d881.15.04-768x461.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d881.15.04-1536x921.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/03/e688aae59c96-2024-03-30-e4b88be58d881.15.04-2048x1228.png 2048w" sizes="(max-width: 2478px) 100vw, 2478px" /></figure>



<p>以上分享。</p>



<p>來源可參考這份文件：</p>



<p><a href="https://codelabs.developers.google.com/externalhttplb-adv#4">https://codelabs.developers.google.com/externalhttplb-adv#4</a></p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>順便置入一下，關於更多 GCP 負載平衡的概念和實作教學，都在東東的 <a href="https://dongdonggcp.com/gcp-architect-class/" target="_blank" rel="noopener" title="">GCP 線上課程《雲端架構師養成班》</a>，有需要可以進來看喔！</p><p>The post <a href="https://dongdonggcp.com/2024/03/30/gcp-load-balancer-weight-based-traffic-splitting/">[GCP 線上課程] GCP 負載平衡依照權重分流 Load Balancer weight-based traffic splitting</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師 - 雲上星辰有限公司</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2024/03/30/gcp-load-balancer-weight-based-traffic-splitting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6019</post-id>	</item>
	</channel>
</rss>
