<?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/%E7%84%A1%E4%BC%BA%E6%9C%8D%E5%99%A8/feed/" rel="self" type="application/rss+xml" />
	<link>https://dongdonggcp.com</link>
	<description>助你考取證照，轉職成功</description>
	<lastBuildDate>Sun, 20 Jul 2025 07:57:06 +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>上傳程式碼就能跑的微服務 – Cloud Run Functions 簡介與基本操作教學</title>
		<link>https://dongdonggcp.com/2025/07/20/cloud-run-functions-tutorials/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cloud-run-functions-tutorials</link>
					<comments>https://dongdonggcp.com/2025/07/20/cloud-run-functions-tutorials/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 20 Jul 2025 07:57:00 +0000</pubDate>
				<category><![CDATA[無伺服器]]></category>
		<category><![CDATA[Cloud Run]]></category>
		<category><![CDATA[Cloud Run Function]]></category>
		<category><![CDATA[Serverless]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=11162</guid>

					<description><![CDATA[<p>Cloud Run Functions 是 Google Cloud 的 Functions as a Service (FaaS) 平台，讓你可以撰寫小型的、專注於單一任務的函式，不用管理機器。支援的程式語言包含 .Net、Go、Java、Node.js、PHP、Python 和 Ruby。</p>
<p>The post <a href="https://dongdonggcp.com/2025/07/20/cloud-run-functions-tutorials/">上傳程式碼就能跑的微服務 – Cloud Run Functions 簡介與基本操作教學</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>現在我們要介紹和 App Engine 同樣具備「上傳即部署」特性的服務：Cloud Run Functions。</p>



<p>雖然 App Engine 和 Cloud Run Functions 都提供了無需管理基礎設施的便利性，但兩者在應用場景上有著重要差異。App Engine 適合部署完整的 Web 應用程式，而 Cloud Run Functions 則專注於輕量級的函式服務，讓開發人員能夠實現事件驅動的微服務架構。</p>



<h2 class="wp-block-heading">什麼是 Cloud Run Functions？</h2>



<p>Cloud Run Functions 原名叫 Cloud Function，是 Google Cloud 的 Functions as a Service (FaaS) 平台，讓你可以撰寫小型的、專注於單一任務的函式，不用管理機器。支援的程式語言包含 .Net、Go、Java、Node.js、PHP、Python 和 Ruby。</p>



<p>這些函式會在事件發生時自動執行，用完即停，真正實現了「用多少算多少」的理念。</p>



<p>想像一下，你經營一家網路商店，當客戶下單時需要：</p>



<ul class="wp-block-list">
<li>發送確認郵件給客戶</li>



<li>更新庫存數量</li>



<li>記錄銷售資料到分析系統</li>



<li>通知物流部門準備出貨</li>
</ul>



<p>在傳統單體式架構中，這些功能可能都寫在同一個應用程式中。但使用 Cloud Run Functions，你可以為每個任務建立獨立的函式，當訂單事件發生時，這些函式會自動被觸發 (Trigger) 執行，就是所謂的「事件驅動」特性。</p>



<p>另外 Cloud Run Functions 也能 Autoscale，當同時有大量事件需要處理時，平台會自動建立多個函式執行個體 (instance；指輕量級的容器) 來並行處理；當需求降低時，也會自動縮減執行個體數量，甚至降到零。</p>



<p>所以和 App Engine 一樣，你只需為函式實際執行的時間和資源消耗付費，沒有請求時完全不收費。</p>



<h2 class="wp-block-heading">Cloud Run Functions 的觸發機制</h2>



<p>關於觸發機制，Cloud Run Functions 可以透過多種方式被觸發：</p>



<p><strong>HTTP Trigger</strong>：最常見的觸發方式，函式會曝露一個 HTTPS 端點，可以透過 REST API 呼叫。適合建立微服務 API、Webhook 處理器等。</p>



<p><strong>Cloud Storage Trigger</strong>：當 Google Cloud Storage 中的檔案被建立、刪除或修改時觸發。適合檔案處理、圖片縮放、資料備份等場景。</p>



<p><strong>Pub/Sub Trigger</strong>：當 Cloud Pub/Sub Topic 收到訊息時觸發。適合非同步訊息處理、事件串流處理等。</p>



<p><strong>Firebase Trigger</strong>：與 Firebase 服務整合，可以因應 Firestore 資料庫變更、使用者註冊、帳號變更事件等。</p>



<p><strong>Cloud Scheduler 觸發器</strong>：定時執行函式，類似 Cron Job 的功能。</p>



<h2 class="wp-block-heading">建立 Cloud Run Functions 示範</h2>



<p>接著我們來建立一個簡單的函式看看，點擊主選單「Clodu Run 函式」再點擊「編寫函式」：</p>



<figure class="wp-block-image aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="343" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-1-編寫-Cloud-Run-Function-1024x343.png" alt="" class="wp-image-11163" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-1-編寫-Cloud-Run-Function-1024x343.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-1-編寫-Cloud-Run-Function-300x101.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-1-編寫-Cloud-Run-Function-768x257.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-1-編寫-Cloud-Run-Function-1536x515.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-1-編寫-Cloud-Run-Function.png 1880w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">編寫 Cloud Run Function</figcaption></figure>



<p>給函式命名、設定地區和程式語言版本，你看到它有產生一個端點網址，那就是之後對外服務的網址：</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="1012" height="762" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-2-給函式命名、設定地區和程式語言版本.png" alt="" class="wp-image-11164" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-2-給函式命名、設定地區和程式語言版本.png 1012w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-2-給函式命名、設定地區和程式語言版本-300x226.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-2-給函式命名、設定地區和程式語言版本-768x578.png 768w" sizes="(max-width: 1012px) 100vw, 1012px" /><figcaption class="wp-element-caption">給函式命名、設定地區和程式語言版本</figcaption></figure>



<p>往下看到驗證的部分，我們要讓所有網路上的任何人都可以存取，所以要取消「使用 IAM 驗證傳入要求」。另外在服務資源調度的部分，我們要把「執行個體數量下限」改成 0。</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="780" height="790" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-3-取消勾選-IAM-驗證並設定執行個體數是下限.png" alt="" class="wp-image-11165" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-3-取消勾選-IAM-驗證並設定執行個體數是下限.png 780w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-3-取消勾選-IAM-驗證並設定執行個體數是下限-296x300.png 296w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-3-取消勾選-IAM-驗證並設定執行個體數是下限-768x778.png 768w" sizes="(max-width: 780px) 100vw, 780px" /><figcaption class="wp-element-caption">取消勾選 IAM 驗證並設定執行個體數是下限</figcaption></figure>



<p>再來 Ingress 的部分，我們要勾選「全部」，這樣子才能開放外部進來存取喔！然後我們再點擊右下角的展開按鈕，查看進階設定：</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1007" height="391" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-4-設定允許全部流量，並打開進階設定.png" alt="" class="wp-image-11166" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-4-設定允許全部流量，並打開進階設定.png 1007w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-4-設定允許全部流量，並打開進階設定-300x116.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-4-設定允許全部流量，並打開進階設定-768x298.png 768w" sizes="(max-width: 1007px) 100vw, 1007px" /><figcaption class="wp-element-caption">設定允許全部流量，並打開進階設定</figcaption></figure>



<p>大部分內容都可以保持預設，主要看的是資源的部分，在正式的環境當中，你可以調整記憶體和 CPU 的規格，在這裡我們保持預設就好：</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="967" height="805" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-5-可以調整執行個體的規格.png" alt="" class="wp-image-11167" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-5-可以調整執行個體的規格.png 967w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-5-可以調整執行個體的規格-300x250.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-5-可以調整執行個體的規格-768x639.png 768w" sizes="(max-width: 967px) 100vw, 967px" /><figcaption class="wp-element-caption">可以調整執行個體的規格</figcaption></figure>



<p>「執行個體數量上限」預設是 100，如果擔心它真的開到 100 台，可以像我一樣調成 5 就好，其他保持預設，最後按下「建立」：</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="846" height="865" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-6-設定執行個體數量上下限.png" alt="" class="wp-image-11168" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-6-設定執行個體數量上下限.png 846w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-6-設定執行個體數量上下限-293x300.png 293w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-6-設定執行個體數量上下限-768x785.png 768w" sizes="(max-width: 846px) 100vw, 846px" /><figcaption class="wp-element-caption">設定執行個體數量上下限</figcaption></figure>



<p>接下來畫面會自動跳轉到「來源」這個頁籤，你可以在下方編輯程式碼，在這裡我們就保持不變，直接按下「儲存並重新部署」：</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="569" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-7-儲存並重新部署-1024x569.png" alt="" class="wp-image-11169" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-7-儲存並重新部署-1024x569.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-7-儲存並重新部署-300x167.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-7-儲存並重新部署-768x427.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-7-儲存並重新部署.png 1289w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">儲存並重新部署</figcaption></figure>



<p>接著它會在背景作業，將現有程式碼打包成容器，等它幾秒鐘後，就可以點擊網址，並且看到網頁了。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="601" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-8-點擊網址看到網頁內容-1024x601.png" alt="" class="wp-image-11170" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-8-點擊網址看到網頁內容-1024x601.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-8-點擊網址看到網頁內容-300x176.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-8-點擊網址看到網頁內容-768x451.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-8-點擊網址看到網頁內容-1536x902.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-2-8-點擊網址看到網頁內容.png 1782w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">點擊網址看到網頁內容</figcaption></figure>



<p></p><p>The post <a href="https://dongdonggcp.com/2025/07/20/cloud-run-functions-tutorials/">上傳程式碼就能跑的微服務 – Cloud Run Functions 簡介與基本操作教學</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2025/07/20/cloud-run-functions-tutorials/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11162</post-id>	</item>
		<item>
		<title>[Cloud Run 教學] 如何串接 DNS 名稱解析？ 免費 SSL 憑證和HTTP Redirect HTTPS 教學</title>
		<link>https://dongdonggcp.com/2024/06/25/cloud-run-dns-mapping/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cloud-run-dns-mapping</link>
					<comments>https://dongdonggcp.com/2024/06/25/cloud-run-dns-mapping/#respond</comments>
		
		<dc:creator><![CDATA[東東]]></dc:creator>
		<pubDate>Tue, 25 Jun 2024 03:32:55 +0000</pubDate>
				<category><![CDATA[Google Cloud Platform]]></category>
		<category><![CDATA[Cloud Run]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[GCP]]></category>
		<category><![CDATA[SSL憑證]]></category>
		<category><![CDATA[無伺服器]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=6641</guid>

					<description><![CDATA[<p>Cloud Run 接 DNS 的功能非常簡單，<br />
除了幫你把網域解析到 Cloud Run 的網址，<br />
還幫你做 HTTP Redirect 到 HTTPS，<br />
你不需要額外使用 Load Balancer 或 Nginx 來 Redirect，<br />
至於 HTTPS 不是要用憑證嗎？<br />
有的，GCP 一樣提供免費而且自動續約的憑證，<br />
而且是 Google 自己的根憑證機構發行的憑證，<br />
整個超方便！<br />
當然你也可以使用自己的憑證喔！<br />
這裡提供設定 DNS 名稱解析的方法。</p>
<p>The post <a href="https://dongdonggcp.com/2024/06/25/cloud-run-dns-mapping/">[Cloud Run 教學] 如何串接 DNS 名稱解析？ 免費 SSL 憑證和HTTP Redirect HTTPS 教學</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Cloud Run 接 DNS 的功能非常簡單，</p>



<p>除了幫你把網域解析到 Cloud Run 的網址，</p>



<p>還幫你做 HTTP Redirect 到 HTTPS，</p>



<p>你不需要額外使用 Load Balancer 或 Nginx 來 Redirect，</p>



<p>至於 HTTPS 不是要有 SSL 憑證嗎？</p>



<p>有的，GCP 一樣提供免費而且自動續約的憑證，</p>



<p>而且是 Google 自己的根憑證機構發行的憑證，</p>



<p>整個超方便！</p>



<p>當然你也可以使用自己的憑證喔！(不過要使用 Google Load Balancer)</p>



<p>這裡提供設定 DNS 名稱解析的方法。</p>



<p>假設我們已經做好一個 Cloud Run，</p>



<p>就可以直接點擊 Manage Custom Domains：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1832" height="690" src="https://dongdonggcp.com/wp-content/uploads/2024/06/manage-custom-domains.png?w=1024" alt="" class="wp-image-6649" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/manage-custom-domains.png 1832w, https://dongdonggcp.com/wp-content/uploads/2024/06/manage-custom-domains-300x113.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/manage-custom-domains-1024x386.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/manage-custom-domains-768x289.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/manage-custom-domains-1536x579.png 1536w" sizes="(max-width: 1832px) 100vw, 1832px" /></figure>



<p> 然後再點擊 Add Mapping：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1438" height="478" src="https://dongdonggcp.com/wp-content/uploads/2024/06/add-mapping.png?w=1024" alt="" class="wp-image-6650" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/add-mapping.png 1438w, https://dongdonggcp.com/wp-content/uploads/2024/06/add-mapping-300x100.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/add-mapping-1024x340.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/add-mapping-768x255.png 768w" sizes="(max-width: 1438px) 100vw, 1438px" /></figure>



<p>你先選擇要解析的 Cloud Run 服務，</p>



<p>一方會看到有三種方法可以選擇，</p>



<p>我們就直接選 Cloud Run Domain Mappings：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1130" height="1138" src="https://dongdonggcp.com/wp-content/uploads/2024/06/3_ways_domain_mapping.png?w=1017" alt="" class="wp-image-6652" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/3_ways_domain_mapping.png 1130w, https://dongdonggcp.com/wp-content/uploads/2024/06/3_ways_domain_mapping-298x300.png 298w, https://dongdonggcp.com/wp-content/uploads/2024/06/3_ways_domain_mapping-1017x1024.png 1017w, https://dongdonggcp.com/wp-content/uploads/2024/06/3_ways_domain_mapping-150x150.png 150w, https://dongdonggcp.com/wp-content/uploads/2024/06/3_ways_domain_mapping-768x773.png 768w" sizes="(max-width: 1130px) 100vw, 1130px" /></figure>



<p>接下來要選擇解析的網域，</p>



<p>如果你還沒驗證過網域，只會看到 Verify a new domain，</p>



<p>像我這邊有一堆網域，</p>



<p>大多是 blogspot.com 的，是 Google 的部落格服務 Blogger 的網域。</p>



<p>關於網域驗證的說明，可以參考<a href="https://support.google.com/webmasters/answer/9008080?hl=zh-Hant&amp;sjid=14056362060417243655-AP">驗證網站擁有權這篇文章</a>。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1182" height="1054" src="https://dongdonggcp.com/wp-content/uploads/2024/06/select_domain-1.png?w=1024" alt="" class="wp-image-6657" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/select_domain-1.png 1182w, https://dongdonggcp.com/wp-content/uploads/2024/06/select_domain-1-300x268.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/select_domain-1-1024x913.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/select_domain-1-768x685.png 768w" sizes="(max-width: 1182px) 100vw, 1182px" /></figure>



<p>選好主網域之後，再輸入子網域：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1180" height="996" src="https://dongdonggcp.com/wp-content/uploads/2024/06/sub_domain.png?w=1024" alt="" class="wp-image-6658" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/sub_domain.png 1180w, https://dongdonggcp.com/wp-content/uploads/2024/06/sub_domain-300x253.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/sub_domain-1024x864.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/sub_domain-768x648.png 768w" sizes="(max-width: 1180px) 100vw, 1180px" /></figure>



<p>按繼續之後，第三步驟直接按 Done 即可。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1190" height="684" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.29.png?w=1024" alt="" class="wp-image-6660" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.29.png 1190w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.29-300x172.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.29-1024x589.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.29-768x441.png 768w" sizes="(max-width: 1190px) 100vw, 1190px" /></figure>



<p>但是還沒做完喔！</p>



<p>回到 Domain Mappings 的畫面，</p>



<p>你會看到它一直在轉圈圈，</p>



<p>它提示你要去設定 DNS 的對應：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="966" height="430" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.42.png?w=966" alt="" class="wp-image-6662" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.42.png 966w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.42-300x134.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d884.00.42-768x342.png 768w" sizes="(max-width: 966px) 100vw, 966px" /></figure>



<p>但是要怎麼設呢？</p>



<p>你看到右邊 Actions 的三個小點，</p>



<p>有一個 DNS records：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1034" height="251" src="https://dongdonggcp.com/wp-content/uploads/2024/06/dns-records.png?w=1024" alt="" class="wp-image-6664" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/dns-records.png 1034w, https://dongdonggcp.com/wp-content/uploads/2024/06/dns-records-300x73.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/dns-records-1024x249.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/dns-records-768x186.png 768w" sizes="(max-width: 1034px) 100vw, 1034px" /></figure>



<p>點擊之後會看到提示你要設定 CName，</p>



<p>要把你的網域解析到 ghs.googlehosted.com 這個網址：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="871" height="354" src="https://dongdonggcp.com/wp-content/uploads/2024/06/cname.png?w=871" alt="" class="wp-image-6666" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/cname.png 871w, https://dongdonggcp.com/wp-content/uploads/2024/06/cname-300x122.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/cname-768x312.png 768w" sizes="(max-width: 871px) 100vw, 871px" /></figure>



<p>那我們就直接去設定 DNS 的頁面。</p>



<p>DNS 不一定在 GCP 上喔，這裡指的是你註冊 DNS (購買網域) 的地方，</p>



<p>你可能用的是 <a href="https://domain.hinet.net/#/">Hinet 的 DNS</a>，或是國外的 <a href="https://tw.godaddy.com/">GoDaddy</a> 或 <a href="https://www.namecheap.com/">Namecheap</a> 等等。</p>



<p>像我是在 GoDaddy 註冊 DNS 的，但是我已經<a href="https://cloud.google.com/dns/docs/migrating">轉移管理權限到 Cloud DNS</a> 了。</p>



<p>我就在我的網域直接 ADD STANDARD：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="628" height="397" src="https://dongdonggcp.com/wp-content/uploads/2024/06/add-standard.png?w=628" alt="" class="wp-image-6667" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/add-standard.png 628w, https://dongdonggcp.com/wp-content/uploads/2024/06/add-standard-300x190.png 300w" sizes="(max-width: 628px) 100vw, 628px" /></figure>



<p>然後把 cloudrun.dongdonggcp.com 解析 CName 到 ghs.googlehosted.com 這個網域：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="631" height="578" src="https://dongdonggcp.com/wp-content/uploads/2024/06/dns-record-set.png?w=631" alt="" class="wp-image-6669" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/dns-record-set.png 631w, https://dongdonggcp.com/wp-content/uploads/2024/06/dns-record-set-300x275.png 300w" sizes="(max-width: 631px) 100vw, 631px" /></figure>



<p>ghs.googlehosted.com 它可以把所有 Cloud Run 用戶的網域，</p>



<p>解析到各個 Cloud Run 的原始網址，</p>



<p>你也不需要設定什麼 Cloud Run 的 IP (因為沒有特定的 IP)</p>



<p>，非常神奇。</p>



<p>設定好之後，你可以先去 <a href="https://toolbox.googleapps.com/apps/dig/#CNAME/">Google Admin Toolbox</a>，</p>



<p>確認 Google 的解析結果有沒有設定正確，</p>



<p>看起來會像這樣：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="495" height="614" src="https://dongdonggcp.com/wp-content/uploads/2024/06/toolbox.png?w=495" alt="" class="wp-image-6672" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/toolbox.png 495w, https://dongdonggcp.com/wp-content/uploads/2024/06/toolbox-242x300.png 242w" sizes="(max-width: 495px) 100vw, 495px" /></figure>



<p>沒問題的話，大約等 20~30 分鐘，</p>



<p>就會看到綠色勾勾如下：</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="502" height="214" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d885.27.02.png?w=502" alt="" class="wp-image-6674" style="width:542px;height:auto" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d885.27.02.png 502w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d885.27.02-300x128.png 300w" sizes="(max-width: 502px) 100vw, 502px" /></figure>



<p>那我開無痕模式看看網站：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="745" height="690" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d885.27.57.png?w=745" alt="" class="wp-image-6675" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d885.27.57.png 745w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-06-e4b88be58d885.27.57-300x278.png 300w" sizes="(max-width: 745px) 100vw, 745px" /></figure>



<p>成功了！</p>



<p>如果你的 Cloud Run 服務突然中斷，</p>



<p>它會顯示服務不存在：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="538" height="192" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-25-e4b88ae58d8811.24.36.png?w=538" alt="" class="wp-image-6687" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-25-e4b88ae58d8811.24.36.png 538w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-25-e4b88ae58d8811.24.36-300x107.png 300w" sizes="(max-width: 538px) 100vw, 538px" /></figure>



<p>但只要你重新部署好，</p>



<p>它會自動又幫你解析，完全不用重新設定 CName 喔！</p>



<p>另外，你也可以輸入 http://cloudrun.dongdonggcp.com</p>



<p>它真的會自動轉成 https 喔，超方便！</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="564" height="187" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-25-e4b88ae58d8811.09.46.png?w=564" alt="" class="wp-image-6677" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-25-e4b88ae58d8811.09.46.png 564w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-25-e4b88ae58d8811.09.46-300x99.png 300w" sizes="(max-width: 564px) 100vw, 564px" /></figure>



<p>我們也可以檢查憑證的細節，</p>



<p>點擊「已建立安全連線」：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="387" height="238" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e9a1afe7a4bae980a3e7b79ae8b387e69699.png?w=387" alt="" class="wp-image-6679" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e9a1afe7a4bae980a3e7b79ae8b387e69699.png 387w, https://dongdonggcp.com/wp-content/uploads/2024/06/e9a1afe7a4bae980a3e7b79ae8b387e69699-300x184.png 300w" sizes="(max-width: 387px) 100vw, 387px" /></figure>



<p>再點擊「憑證有效」或右方箭頭顯示憑證：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="450" height="279" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e9a1afe7a4bae68691e8ad89.png?w=450" alt="" class="wp-image-6681" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e9a1afe7a4bae68691e8ad89.png 450w, https://dongdonggcp.com/wp-content/uploads/2024/06/e9a1afe7a4bae68691e8ad89-300x186.png 300w" sizes="(max-width: 450px) 100vw, 450px" /></figure>



<p>就會看到憑證的內容：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="535" height="581" src="https://dongdonggcp.com/wp-content/uploads/2024/06/google-trst-services.png?w=535" alt="" class="wp-image-6683" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/google-trst-services.png 535w, https://dongdonggcp.com/wp-content/uploads/2024/06/google-trst-services-276x300.png 276w" sizes="(max-width: 535px) 100vw, 535px" /></figure>



<p>這個憑證發行單位 <a href="https://pki.goog/">Google Trust Services</a>，</p>



<p>是 Google 自己的<a href="https://www.ithome.com.tw/news/111583">根憑證機構</a>（Root Certificate Authority，Root CA），</p>



<p>代表自己的憑證自己發行，別人不能發行 Google 的憑證喔！</p>



<p>如果你原本花錢購買自己網域的憑證，</p>



<p>你也可以把錢省下來，是不是非常棒呢！</p>



<p>快來試試看吧！</p><p>The post <a href="https://dongdonggcp.com/2024/06/25/cloud-run-dns-mapping/">[Cloud Run 教學] 如何串接 DNS 名稱解析？ 免費 SSL 憑證和HTTP Redirect HTTPS 教學</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2024/06/25/cloud-run-dns-mapping/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6641</post-id>	</item>
		<item>
		<title>[Cloud Run 教學] 如何收集在 Cloud Run 上運作的 Nginx Log？寫入 Cloud Logging</title>
		<link>https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-write-cloud-run-nginx-log-to-cloud-logging</link>
					<comments>https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/#respond</comments>
		
		<dc:creator><![CDATA[東東]]></dc:creator>
		<pubDate>Mon, 17 Jun 2024 13:20:12 +0000</pubDate>
				<category><![CDATA[Google Cloud Platform]]></category>
		<category><![CDATA[Artifact Registry]]></category>
		<category><![CDATA[Cloud Logging]]></category>
		<category><![CDATA[Cloud Run]]></category>
		<category><![CDATA[Log]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[容器]]></category>
		<category><![CDATA[無伺服器]]></category>
		<category><![CDATA[無狀態]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=6499</guid>

					<description><![CDATA[<p>Cloud Run 是無狀態的， 代表它 [&#8230;]</p>
<p>The post <a href="https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/">[Cloud Run 教學] 如何收集在 Cloud Run 上運作的 Nginx Log？寫入 Cloud Logging</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Cloud Run 是無狀態的，</p>



<p>代表它的容器重啟之後，</p>



<p>容器裡面的 Log 全部消失不見，徹底的無狀態。</p>



<p>那我們如果想要除錯，只能看到 Cloud Run 本身的 Log，</p>



<p>怕資訊不足，怎麼辦？</p>



<p>你又不能直接連進去 Container，</p>



<p>因為它又是「無伺服器」的，根本不能連到它 Command Line。</p>



<p>怎麼辦呢？</p>



<p></p>



<p>其實它是可以設定輸出 Log 的位置的，</p>



<p>這裡做一個簡單的範例給大家參考～</p>



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



<p>我先在 Cloud Shel l 開一個目錄</p>



<p>mkdir nginx</p>



<p>cd nginx</p>



<p>mkdir write-to-logging</p>



<p>cd write-to-logging</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1144" height="144" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31.png?w=1024" alt="" class="wp-image-6502" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31.png 1144w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31-300x38.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31-1024x129.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31-768x97.png 768w" sizes="(max-width: 1144px) 100vw, 1144px" /></figure>



<p>在資料夾裡建立3個檔案，各位直接複製貼上就好了：</p>



<p>第一個 index.html 首頁檔案</p>



<p>vim index.html</p>



<pre class="wp-block-code"><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;Welcome to Nginx!&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h1&gt;Success! Dongdong Nginx server is running!&lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>



<p>截圖</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1300" height="304" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08.png?w=1024" alt="" class="wp-image-6504" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08.png 1300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08-300x70.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08-1024x239.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08-768x180.png 768w" sizes="(max-width: 1300px) 100vw, 1300px" /></figure>



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



<p>第二個是 Nginx 的設定檔 </p>



<p>vim nginx.conf</p>



<p>重點是設定 Nginx 把日志寫到 stdout 和 stderr，</p>



<p>然後讓 Cloud Run 自動收集這些 Log 並傳送到 Cloud Logging。</p>



<pre class="wp-block-code"><code>worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-tertiary-color">    access_log /dev/stdout;
    error_log /dev/stderr;</mark></strong>

    server {
        listen       8080;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
}</code></pre>



<p>截圖</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="794" height="912" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.48.png?w=794" alt="" class="wp-image-6506" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.48.png 794w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.48-261x300.png 261w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.48-768x882.png 768w" sizes="(max-width: 794px) 100vw, 794px" /></figure>



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



<p>第三個是 Dockerfile</p>



<p>vim Dockerfile</p>



<pre class="wp-block-code"><code># Use the official Nginx image from the Docker Hub
FROM nginx:latest

# Copy the Nginx configuration file
COPY nginx.conf /etc/nginx/nginx.conf

# Copy the index.html file to the default Nginx directory
COPY index.html /usr/share/nginx/html/index.html

# Expose the port that Cloud Run will use
EXPOSE 8080

# Start Nginx when the container launches
CMD &#091;"nginx", "-g", "daemon off;"]</code></pre>



<p></p>



<p>我在自己專案的 Artifact Registry 建立 Repository 為 nginx</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1511" height="556" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1.png?w=1024" alt="" class="wp-image-6510" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1.png 1511w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1-300x110.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1-1024x377.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1-768x283.png 768w" sizes="(max-width: 1511px) 100vw, 1511px" /></figure>



<p>然後在 Cloud Shel l 建立 Docker Image 名字叫 write-to-logging </p>



<p>(dong-dong-gcp-3 請改成你的專案 ID 喔)</p>



<p>(注意下面指令有一個句號喔)</p>



<p>docker build -t asia-east1-docker.pkg.dev/dong-dong-gcp-3/nginx/write-to-logging .</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2470" height="634" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36.png?w=1024" alt="" class="wp-image-6511" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36.png 2470w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-300x77.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-1024x263.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-768x197.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-1536x394.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-2048x526.png 2048w" sizes="(max-width: 2470px) 100vw, 2470px" /></figure>



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



<p>接下來就把 Image Push 到 Artifact Registry</p>



<p>docker push asia-east1-docker.pkg.dev/dong-dong-gcp-3/nginx/write-to-logging</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2282" height="428" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57.png?w=1024" alt="" class="wp-image-6514" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57.png 2282w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-300x56.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-1024x192.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-768x144.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-1536x288.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-2048x384.png 2048w" sizes="(max-width: 2282px) 100vw, 2282px" /></figure>



<p></p>



<p>接下來就看到 nginx 這個 repo 有一個新的 Image</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1804" height="806" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15.png?w=1024" alt="" class="wp-image-6515" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15.png 1804w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15-300x134.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15-1024x458.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15-768x343.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15-1536x686.png 1536w" sizes="(max-width: 1804px) 100vw, 1804px" /></figure>



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



<p>如果都沒問題的話，就可以部署到 Cloud Run，</p>



<p>如果懶得在 Console 上點，可以直接複製下面的指令 (記得改掉 Project ID 喔 )：</p>



<p>gcloud run deploy nginx-logging \<br>&#8211;image asia-east1-docker.pkg.dev/dong-dong-gcp-3/nginx/write-to-logging \<br>&#8211;platform managed \<br>&#8211;region asia-east1 \<br>&#8211;allow-unauthenticated</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1820" height="440" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07.png?w=1024" alt="" class="wp-image-6518" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07.png 1820w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07-300x73.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07-1024x248.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07-768x186.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07-1536x371.png 1536w" sizes="(max-width: 1820px) 100vw, 1820px" /></figure>



<p>其實我本來就部署成功了，</p>



<p>但我再輸入部署指令時，它不會報錯，</p>



<p>只會幫我增加最新的版本，蠻貼心的。</p>



<p>接下來看一下 Cloud Run 的 Console：</p>



<p>那個 nginx-logging 就是我剛部署的服務，點 &#8220;nginx-logging&#8221; 看看</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1396" height="712" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41.png?w=1024" alt="" class="wp-image-6520" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41.png 1396w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41-300x153.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41-1024x522.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41-768x392.png 768w" sizes="(max-width: 1396px) 100vw, 1396px" /></figure>



<p>再點開它的超連結</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1410" height="718" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32.png?w=1024" alt="" class="wp-image-6521" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32.png 1410w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32-300x153.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32-1024x521.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32-768x391.png 768w" sizes="(max-width: 1410px) 100vw, 1410px" /></figure>



<p>會看到</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1464" height="390" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44.png?w=1024" alt="" class="wp-image-6523" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44.png 1464w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44-300x80.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44-1024x273.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44-768x205.png 768w" sizes="(max-width: 1464px) 100vw, 1464px" /></figure>



<p>代表部署成功了！</p>



<p>那要怎麼證明，它的 Log 有寫入 Cloud Logging 呢？</p>



<p>我們先故意在網址列尾巴增加 &#8220;?&#8221; 和其他英文數字</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1334" height="502" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1.png?w=1024" alt="" class="wp-image-6534" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1.png 1334w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1-300x113.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1-1024x385.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1-768x289.png 768w" sizes="(max-width: 1334px) 100vw, 1334px" /></figure>



<p>然後按 Enter，它顯示畫面是不變的，</p>



<p>但是這個網址會記錄到 Nginx 的 Log 裡面。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1428" height="378" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1.png?w=1024" alt="" class="wp-image-6536" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1.png 1428w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1-300x79.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1-1024x271.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1-768x203.png 768w" sizes="(max-width: 1428px) 100vw, 1428px" /></figure>



<p>你可以點開它的 Log 查看</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1750" height="1010" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59.png?w=1024" alt="" class="wp-image-6529" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59.png 1750w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59-300x173.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59-1024x591.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59-768x443.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59-1536x886.png 1536w" sizes="(max-width: 1750px) 100vw, 1750px" /></figure>



<p>你會在左邊的 Log 欄位看到有 stdout 和 stderr 的選項，點擊篩選：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2176" height="888" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2.png?w=1024" alt="" class="wp-image-6533" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2.png 2176w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-300x122.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-1024x418.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-768x313.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-1536x627.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-2048x836.png 2048w" sizes="(max-width: 2176px) 100vw, 2176px" /></figure>



<p>就可以看到 Nginx Container 寫到 Cloud Logging 的 Log 了！</p>



<p>現在看到是長這樣，這些都是 Cloud Run 本身沒有記錄的 Log 喔！</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2570" height="720" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44.png?w=1024" alt="" class="wp-image-6538" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44.png 2570w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-300x84.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-1024x287.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-768x215.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-1536x430.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-2048x574.png 2048w" sizes="(max-width: 2570px) 100vw, 2570px" /></figure>



<p>如果把篩選器移除，才會同時看到 Cloud Run 和 Nginx 本身收集到的 Log：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1994" height="274" src="https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log.png?w=1024" alt="" class="wp-image-6540" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log.png 1994w, https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log-300x41.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log-1024x141.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log-768x106.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log-1536x211.png 1536w" sizes="(max-width: 1994px) 100vw, 1994px" /></figure>



<p>今天就簡單分享到這裡，謝謝大家！</p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p><p>The post <a href="https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/">[Cloud Run 教學] 如何收集在 Cloud Run 上運作的 Nginx Log？寫入 Cloud Logging</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6499</post-id>	</item>
	</channel>
</rss>
