<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gcp on Howar31 Blog</title><link>https://blog.howar31.com/tags/gcp/</link><description>Recent content in Gcp on Howar31 Blog</description><generator>Hugo</generator><language>zh-tw</language><lastBuildDate>Mon, 25 May 2026 23:54:58 +0800</lastBuildDate><atom:link href="https://blog.howar31.com/tags/gcp/index.xml" rel="self" type="application/rss+xml"/><item><title>在 GCP 上自架 Vaultwarden:從架設、使用到團隊管理</title><link>https://blog.howar31.com/posts/self-hosted-vaultwarden-on-gcp/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://blog.howar31.com/posts/self-hosted-vaultwarden-on-gcp/</guid><description>&lt;style&gt;
/* 這篇圖多,讓點開後的 lightbox 放到接近滿視窗(僅影響本文) */
.vp-image-modal-card { max-width: 96vw; }
.vp-image-modal-img { max-height: 92vh; }
&lt;/style&gt;
&lt;p&gt;團隊要安全地共享密碼、API key、伺服器憑證,與其塞在共用試算表或聊天室裡,不如架一套密碼管理器。&lt;a href="https://github.com/dani-garcia/vaultwarden"&gt;Vaultwarden&lt;/a&gt; 是 Bitwarden 相容的開源伺服器(Rust 重寫),資源吃得少、功能卻幾乎對齊商業版,而且&lt;strong&gt;自管、機密不外流、零授權費&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;這篇文章記錄我把 Vaultwarden 架在 Google Cloud 上的完整過程——從基礎設施、踩到的眉角,到團隊成員怎麼用、管理員怎麼管權限。文中所有網域、email、專案名稱都是 placeholder(&lt;code&gt;vault.example.com&lt;/code&gt;、&lt;code&gt;your-gcp-project&lt;/code&gt; 等),請自行替換。&lt;/p&gt;
&lt;h2 id="為什麼選這個組合"&gt;為什麼選這個組合&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cloud Run&lt;/strong&gt;:容器化、按量計費、維運單純,不必顧 VM 更新。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud SQL for PostgreSQL&lt;/strong&gt;:正式、可備份的資料庫,取代預設 SQLite,適合長期服務。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google Workspace SSO&lt;/strong&gt;:團隊本來就有公司 Google 帳號,登入直接沿用;成員離職、停用 Google 帳號後,對 Vaultwarden 的存取權也跟著失效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identity-Aware Proxy(IAP)&lt;/strong&gt;:只用來多守一道後台 &lt;code&gt;/admin&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="架構總覽"&gt;架構總覽&lt;/h2&gt;
&lt;figure class="post-figure"&gt;
 &lt;img src="./images/architecture.svg" alt="Vaultwarden 在 GCP 的整體架構" loading="lazy"&gt;
 &lt;figcaption&gt;Vaultwarden 在 GCP 的整體架構&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;請求從 &lt;code&gt;vault.example.com&lt;/code&gt; 進來,經 External HTTPS Load Balancer(受管 TLS),由 URL Map 的 path matcher 分流:&lt;code&gt;/admin/*&lt;/code&gt; 走啟用 IAP 的 backend,其餘走公開 backend,兩者都指向同一個 Cloud Run 服務。Cloud Run 經 Direct VPC egress 連到私有 IP 的 Cloud SQL,&lt;code&gt;/data&lt;/code&gt; 掛載 GCS bucket,機密全放 Secret Manager。&lt;/p&gt;</description></item></channel></rss>