<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Region on Tarragon</title><link>https://tarrragon.github.io/blog/tags/region/</link><description>Recent content in Region on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Sat, 24 Oct 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/region/index.xml" rel="self" type="application/rss+xml"/><item><title>位置：區域、可用區與故障域</title><link>https://tarrragon.github.io/blog/devops/infra/cloud-providers/vm-options/placement/</link><pubDate>Sat, 24 Oct 2026 00:00:00 +0800</pubDate><guid>https://tarrragon.github.io/blog/devops/infra/cloud-providers/vm-options/placement/</guid><description>&lt;p>這篇說明建立虛擬機時決定主機實體位置的三層選項。三層由大到小是區域、可用區、故障域，越大的那一層越早定、越難改。範圍是單一台主機的放置；多台主機跨可用區做高可用的設計見 &lt;a href="https://tarrragon.github.io/blog/devops/operations/06-high-availability/redundancy-patterns/" data-link-title="冗餘設計模式" data-link-desc="在 active-passive、active-active、multi-region 之間選冗餘模式時，用資料同步方式與 standby 是否服務流量來區分，並知道冗餘不等於備份">冗餘設計模式&lt;/a>。&lt;/p>
&lt;h2 id="區域region主機在哪個城市">區域（region）：主機在哪個城市&lt;/h2>
&lt;p>區域是一個地理位置上的資料中心群。Oracle Cloud 的區域識別碼帶城市（&lt;code>ap-tokyo-1&lt;/code>），Google Cloud 與 AWS 用洲別、方位加編號（&lt;code>asia-east1&lt;/code> 在台灣、&lt;code>ap-northeast-1&lt;/code> 在東京），城市要查各家的區域對照表。區域決定主機的下面這幾種性質：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>延遲&lt;/strong>：從使用者所在地連到主機的延遲主要由距離決定，量級上同一洲之內是幾十毫秒、跨洲是一兩百毫秒；實際的值用各家提供的區域延遲測試頁量，或從自己的電腦對那一區的服務端點量往返時間。&lt;/li>
&lt;li>&lt;strong>出口 IP 屬於哪個國家&lt;/strong>：主機對外連線時，對方看到的來源 IP 登記在區域所在的國家。要讓連線看起來從某個國家發出（例如自架 VPN），只有那個國家的區域符合。&lt;/li>
&lt;li>&lt;strong>資料受哪個國家的法律管轄&lt;/strong>：主機與它的磁碟實體上放在區域所在的國家，裡面的資料受那個國家的法規管轄。服務有資料落地的要求（個人資料不出境、產業法規指定存放地）時，能選的區域只剩那個國家或那個法域裡的區域。&lt;/li>
&lt;li>&lt;strong>能選的機型與服務&lt;/strong>：區域之間提供的機型不同，新開的區域常常缺幾種舊機型。一個區域實際提供哪些機型，要在那一區的建立頁或 API 上查，不能從另一區推。&lt;/li>
&lt;/ul>
&lt;p>主機建好之後不能搬到另一個區域。要換區域，做法是在新區域建一台新主機、把資料搬過去，再刪掉舊的。&lt;/p>
&lt;p>免費額度常常綁在特定區域上：Oracle Cloud 的 Always Free 只能用在申請時選的 home region，Google Cloud 的 Free Tier 只適用於三個美國區域。Oracle Cloud 的 home region 在申請帳號時就定了、之後不能改，所以這一層在 Oracle Cloud 上要在申請帳號之前想清楚；Google Cloud 的區域在建立主機時才選，選在三個美國區域以外就不算免費。各家的區域限制見 &lt;a href="https://tarrragon.github.io/blog/devops/infra/cloud-providers/pricing-comparison/" data-link-title="雲端免費額度與小型主機的收費比較：試用金與固定額度、計費單位、區域限制、試用結束後的處置、出站流量與查價項目" data-link-desc="Oracle Cloud、Google Cloud 與 AWS 的免費方案分別由哪幾種額度組成，比較時要換算的計費單位，免費主機能放在哪些區域，試用期結束後帳號與資源會怎樣，以及付費主機的價格該去哪裡查">雲端免費額度與小型主機的收費比較&lt;/a>。&lt;/p>
&lt;h2 id="可用區availability-zone--availability-domain區域裡的哪一棟">可用區（availability zone / availability domain）：區域裡的哪一棟&lt;/h2>
&lt;p>可用區是區域裡彼此隔離的資料中心，各自有獨立的電力、冷卻與網路，設計上不會同時故障。建立頁上的這個欄位決定主機落在哪一個可用區，知識卡見 &lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）&lt;/a>。&lt;/p>
&lt;p>單一台主機選哪個可用區，影響的是兩件事：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>容量&lt;/strong>：免費機型與熱門機型的容量是按可用區分配的。一個可用區回報容量不足時，同一區域的另一個可用區可能還有。換可用區是容量不足時的退路之一，其他退路（等待重試、不指定故障域、改小規格、建立前查容量、換架構、可被收回的容量、預留容量、升級付費帳戶）在 Oracle Cloud 上的完整清單，連同哪幾項會計費，見 &lt;a href="https://tarrragon.github.io/blog/devops/infra/cloud-providers/oracle-cloud/account-and-home-region/" data-link-title="Oracle Cloud 的帳號結構與 home region：tenancy、Always Free 的範圍與主控台登入欄位" data-link-desc="OCI 的 tenancy、home region、compartment 與 availability domain 各自管什麼，home region 為什麼在申請當下就要決定，Always Free 額度的計算與回收規則，以及主控台登入時租用戶與使用者名稱兩個欄位的分工">Oracle Cloud 的帳號結構與 home region&lt;/a> 的〈A1 容量不足時的退路〉。只有一個可用區的區域少了換可用區這條退路——Oracle Cloud 的商用區域多數只有一個可用區，有三個可用區的只有少數幾個，名單與查證日期見 &lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）&lt;/a> 卡；業者開新區域時這份名單會變，選區之前回到官方〈Regions and Availability Domains〉的區域表看一次。&lt;/li>
&lt;li>&lt;strong>磁碟與主機要在同一個可用區&lt;/strong>：開機磁碟與區塊磁碟屬於某一個可用區，主機只能掛同一個可用區的磁碟。從保留下來的開機磁碟重建主機時，新主機要建在那顆磁碟所在的可用區。&lt;/li>
&lt;/ul>
&lt;p>主機建好之後也不能換可用區，換的做法跟換區域相同。&lt;/p>
&lt;h2 id="故障域fault-domain同一棟裡的哪一組硬體">故障域（fault domain）：同一棟裡的哪一組硬體&lt;/h2>
&lt;p>故障域是可用區內部的一組硬體與基礎設施，Oracle Cloud 的每個可用區有三個。它防的是兩種事件：某一組實體主機的硬體故障，以及業者對那一組硬體做的計畫性維護。一個故障域出事時，放在其他故障域的主機不受影響。知識卡見 &lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/fault-domain/" data-link-title="Fault Domain（故障域）" data-link-desc="建立 Oracle Cloud 主機時看到 fault domain 欄位、要讓同一個服務的幾台主機不落在同一組實體硬體上，或所在區域只有一個可用區、要找可用區以外的隔離手段時，查故障域的範圍、它防的事件與各家對應的放置政策">Fault Domain（故障域）&lt;/a>。&lt;/p>
&lt;p>只有一台主機時，故障域沒有選擇的意義：不論放在哪一個，那台主機都只在一組硬體上。建立頁的預設「讓業者選」就是對的選擇，Oracle Cloud 會依當下的容量挑一個（&lt;a href="https://tarrragon.github.io/blog/devops/infra/cloud-providers/oracle-cloud/hands-on/launch-instance-walkthrough/" data-link-title="Oracle Cloud 建立主機的實測紀錄：建立前的檢查、前置網路、主控台各分頁的 Always Free 設定值、等效的 CLI 指令、容量不足的重送、Bastion 工作階段逾時、Run Command 補公鑰的嘗試與重建後經由 port forwarding 登入" data-link-desc="要在 Oracle Cloud 建一台沒有公開 IP、經由 Bastion 登入的 Always Free A1 主機，想照一次實測重做、看建立頁每一欄的取值與換一種做法的結果時讀；也用在建立請求一直回容量不足、managed SSH session 建立逾時，或沒放公鑰的主機想用 Run Command 救援、Oracle Linux 10 的主機上找不到 Bastion plugin、想改用 port forwarding session 登入的時候">實測紀錄&lt;/a>在只有一個可用區的 &lt;code>ap-batam-1&lt;/code> 就是這樣填的）。手動指定故障域還會縮小可用的容量：指定之後只接受那一個故障域裡的硬體。Oracle Cloud 的 Compute〈Known Issues〉頁對 &lt;code>Out of host capacity&lt;/code> 列的處置裡，就有一項是不指定 fault domain 再建一次。&lt;/p>
&lt;p>故障域的作用在兩台以上。同一個服務的兩台主機，區域有多個可用區時先分到不同可用區，因為可用區隔離的是整棟資料中心的電力與網路，範圍比故障域大（見 &lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）&lt;/a> 的〈設計責任〉）；區域只有一個可用區時，才靠故障域把兩台放在不同的硬體上，一組硬體故障時只停一台。跨可用區的代價是兩台之間的流量多一段距離：AWS 與 Google Cloud 對跨可用區的流量另外計費，兩台之間做同步複製時延遲也比同一個可用區裡高。&lt;/p></description><content:encoded><![CDATA[<p>這篇說明建立虛擬機時決定主機實體位置的三層選項。三層由大到小是區域、可用區、故障域，越大的那一層越早定、越難改。範圍是單一台主機的放置；多台主機跨可用區做高可用的設計見 <a href="/blog/devops/operations/06-high-availability/redundancy-patterns/" data-link-title="冗餘設計模式" data-link-desc="在 active-passive、active-active、multi-region 之間選冗餘模式時，用資料同步方式與 standby 是否服務流量來區分，並知道冗餘不等於備份">冗餘設計模式</a>。</p>
<h2 id="區域region主機在哪個城市">區域（region）：主機在哪個城市</h2>
<p>區域是一個地理位置上的資料中心群。Oracle Cloud 的區域識別碼帶城市（<code>ap-tokyo-1</code>），Google Cloud 與 AWS 用洲別、方位加編號（<code>asia-east1</code> 在台灣、<code>ap-northeast-1</code> 在東京），城市要查各家的區域對照表。區域決定主機的下面這幾種性質：</p>
<ul>
<li><strong>延遲</strong>：從使用者所在地連到主機的延遲主要由距離決定，量級上同一洲之內是幾十毫秒、跨洲是一兩百毫秒；實際的值用各家提供的區域延遲測試頁量，或從自己的電腦對那一區的服務端點量往返時間。</li>
<li><strong>出口 IP 屬於哪個國家</strong>：主機對外連線時，對方看到的來源 IP 登記在區域所在的國家。要讓連線看起來從某個國家發出（例如自架 VPN），只有那個國家的區域符合。</li>
<li><strong>資料受哪個國家的法律管轄</strong>：主機與它的磁碟實體上放在區域所在的國家，裡面的資料受那個國家的法規管轄。服務有資料落地的要求（個人資料不出境、產業法規指定存放地）時，能選的區域只剩那個國家或那個法域裡的區域。</li>
<li><strong>能選的機型與服務</strong>：區域之間提供的機型不同，新開的區域常常缺幾種舊機型。一個區域實際提供哪些機型，要在那一區的建立頁或 API 上查，不能從另一區推。</li>
</ul>
<p>主機建好之後不能搬到另一個區域。要換區域，做法是在新區域建一台新主機、把資料搬過去，再刪掉舊的。</p>
<p>免費額度常常綁在特定區域上：Oracle Cloud 的 Always Free 只能用在申請時選的 home region，Google Cloud 的 Free Tier 只適用於三個美國區域。Oracle Cloud 的 home region 在申請帳號時就定了、之後不能改，所以這一層在 Oracle Cloud 上要在申請帳號之前想清楚；Google Cloud 的區域在建立主機時才選，選在三個美國區域以外就不算免費。各家的區域限制見 <a href="/blog/devops/infra/cloud-providers/pricing-comparison/" data-link-title="雲端免費額度與小型主機的收費比較：試用金與固定額度、計費單位、區域限制、試用結束後的處置、出站流量與查價項目" data-link-desc="Oracle Cloud、Google Cloud 與 AWS 的免費方案分別由哪幾種額度組成，比較時要換算的計費單位，免費主機能放在哪些區域，試用期結束後帳號與資源會怎樣，以及付費主機的價格該去哪裡查">雲端免費額度與小型主機的收費比較</a>。</p>
<h2 id="可用區availability-zone--availability-domain區域裡的哪一棟">可用區（availability zone / availability domain）：區域裡的哪一棟</h2>
<p>可用區是區域裡彼此隔離的資料中心，各自有獨立的電力、冷卻與網路，設計上不會同時故障。建立頁上的這個欄位決定主機落在哪一個可用區，知識卡見 <a href="/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）</a>。</p>
<p>單一台主機選哪個可用區，影響的是兩件事：</p>
<ul>
<li><strong>容量</strong>：免費機型與熱門機型的容量是按可用區分配的。一個可用區回報容量不足時，同一區域的另一個可用區可能還有。換可用區是容量不足時的退路之一，其他退路（等待重試、不指定故障域、改小規格、建立前查容量、換架構、可被收回的容量、預留容量、升級付費帳戶）在 Oracle Cloud 上的完整清單，連同哪幾項會計費，見 <a href="/blog/devops/infra/cloud-providers/oracle-cloud/account-and-home-region/" data-link-title="Oracle Cloud 的帳號結構與 home region：tenancy、Always Free 的範圍與主控台登入欄位" data-link-desc="OCI 的 tenancy、home region、compartment 與 availability domain 各自管什麼，home region 為什麼在申請當下就要決定，Always Free 額度的計算與回收規則，以及主控台登入時租用戶與使用者名稱兩個欄位的分工">Oracle Cloud 的帳號結構與 home region</a> 的〈A1 容量不足時的退路〉。只有一個可用區的區域少了換可用區這條退路——Oracle Cloud 的商用區域多數只有一個可用區，有三個可用區的只有少數幾個，名單與查證日期見 <a href="/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）</a> 卡；業者開新區域時這份名單會變，選區之前回到官方〈Regions and Availability Domains〉的區域表看一次。</li>
<li><strong>磁碟與主機要在同一個可用區</strong>：開機磁碟與區塊磁碟屬於某一個可用區，主機只能掛同一個可用區的磁碟。從保留下來的開機磁碟重建主機時，新主機要建在那顆磁碟所在的可用區。</li>
</ul>
<p>主機建好之後也不能換可用區，換的做法跟換區域相同。</p>
<h2 id="故障域fault-domain同一棟裡的哪一組硬體">故障域（fault domain）：同一棟裡的哪一組硬體</h2>
<p>故障域是可用區內部的一組硬體與基礎設施，Oracle Cloud 的每個可用區有三個。它防的是兩種事件：某一組實體主機的硬體故障，以及業者對那一組硬體做的計畫性維護。一個故障域出事時，放在其他故障域的主機不受影響。知識卡見 <a href="/blog/devops/infra/knowledge-cards/fault-domain/" data-link-title="Fault Domain（故障域）" data-link-desc="建立 Oracle Cloud 主機時看到 fault domain 欄位、要讓同一個服務的幾台主機不落在同一組實體硬體上，或所在區域只有一個可用區、要找可用區以外的隔離手段時，查故障域的範圍、它防的事件與各家對應的放置政策">Fault Domain（故障域）</a>。</p>
<p>只有一台主機時，故障域沒有選擇的意義：不論放在哪一個，那台主機都只在一組硬體上。建立頁的預設「讓業者選」就是對的選擇，Oracle Cloud 會依當下的容量挑一個（<a href="/blog/devops/infra/cloud-providers/oracle-cloud/hands-on/launch-instance-walkthrough/" data-link-title="Oracle Cloud 建立主機的實測紀錄：建立前的檢查、前置網路、主控台各分頁的 Always Free 設定值、等效的 CLI 指令、容量不足的重送、Bastion 工作階段逾時、Run Command 補公鑰的嘗試與重建後經由 port forwarding 登入" data-link-desc="要在 Oracle Cloud 建一台沒有公開 IP、經由 Bastion 登入的 Always Free A1 主機，想照一次實測重做、看建立頁每一欄的取值與換一種做法的結果時讀；也用在建立請求一直回容量不足、managed SSH session 建立逾時，或沒放公鑰的主機想用 Run Command 救援、Oracle Linux 10 的主機上找不到 Bastion plugin、想改用 port forwarding session 登入的時候">實測紀錄</a>在只有一個可用區的 <code>ap-batam-1</code> 就是這樣填的）。手動指定故障域還會縮小可用的容量：指定之後只接受那一個故障域裡的硬體。Oracle Cloud 的 Compute〈Known Issues〉頁對 <code>Out of host capacity</code> 列的處置裡，就有一項是不指定 fault domain 再建一次。</p>
<p>故障域的作用在兩台以上。同一個服務的兩台主機，區域有多個可用區時先分到不同可用區，因為可用區隔離的是整棟資料中心的電力與網路，範圍比故障域大（見 <a href="/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）</a> 的〈設計責任〉）；區域只有一個可用區時，才靠故障域把兩台放在不同的硬體上，一組硬體故障時只停一台。跨可用區的代價是兩台之間的流量多一段距離：AWS 與 Google Cloud 對跨可用區的流量另外計費，兩台之間做同步複製時延遲也比同一個可用區裡高。</p>
<p>Oracle Cloud 允許建立之後修改故障域。AWS 與 Google Cloud 沒有故障域這個欄位，對應的功能是放置政策（AWS 的 placement group 用 spread 策略、Google Cloud 的 spread placement policy），作用同樣是讓一組主機分散到不同的實體硬體上。兩家都能套用到既有的主機：AWS 要先停止主機才能把它換進或移出 placement group，Google Cloud 的 spread placement policy 指定了多個 availability domain（官方的說明是彼此隔離、各自不同的一組硬體；它跟 Oracle Cloud 的 availability domain 同名、層級不同，Oracle Cloud 那一層對應的是可用區）時，官方說明可以不停機就套用到既有的主機；套用時 Compute Engine 可能要把主機搬到另一個 availability domain，搬的方式依主機的維護政策，是即時遷移或停止主機。</p>
<h2 id="各家的欄位名稱區域可用區與故障域">各家的欄位名稱：區域、可用區與故障域</h2>
<table>
  <thead>
      <tr>
          <th>概念</th>
          <th>Oracle Cloud</th>
          <th>Google Cloud</th>
          <th>AWS</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>區域</td>
          <td>Region</td>
          <td>Region</td>
          <td>Region</td>
      </tr>
      <tr>
          <td>可用區</td>
          <td>Availability domain（AD）</td>
          <td>Zone</td>
          <td>Availability Zone（AZ）</td>
      </tr>
      <tr>
          <td>故障域</td>
          <td>Fault domain</td>
          <td>Spread placement policy</td>
          <td>Placement group（spread 策略）</td>
      </tr>
  </tbody>
</table>
<p>Oracle Cloud 建立頁的 Placement 區塊裡另有一個 Capacity type 欄位，它決定的是計費與可被收回的條件，跟位置無關，說明在 <a href="/blog/devops/infra/cloud-providers/vm-options/shape-and-image/" data-link-title="機型與映像檔：CPU 架構、核心與記憶體、計費模式與作業系統" data-link-desc="雲端主機的機型決定的 CPU 架構、核心與記憶體，計費模式（隨用隨付、可被收回、預留容量、專屬主機）各自的條件，映像檔與機型之間的架構相容性，以及哪些項目建立後可以調整">機型與映像檔</a>。</p>
<h2 id="延伸閱讀同一組選項的下一層">延伸閱讀：同一組選項的下一層</h2>
<ul>
<li><a href="/blog/devops/infra/cloud-providers/vm-options/shape-and-image/" data-link-title="機型與映像檔：CPU 架構、核心與記憶體、計費模式與作業系統" data-link-desc="雲端主機的機型決定的 CPU 架構、核心與記憶體，計費模式（隨用隨付、可被收回、預留容量、專屬主機）各自的條件，映像檔與機型之間的架構相容性，以及哪些項目建立後可以調整">機型與映像檔</a>：那一區能選哪些機型，以及容量不足時改小規格、換架構或改用可被收回容量各自的代價</li>
<li><a href="/blog/devops/infra/cloud-providers/oracle-cloud/account-and-home-region/" data-link-title="Oracle Cloud 的帳號結構與 home region：tenancy、Always Free 的範圍與主控台登入欄位" data-link-desc="OCI 的 tenancy、home region、compartment 與 availability domain 各自管什麼，home region 為什麼在申請當下就要決定，Always Free 額度的計算與回收規則，以及主控台登入時租用戶與使用者名稱兩個欄位的分工">Oracle Cloud 的帳號結構與 home region</a>：免費額度綁在區域上時，申請帳號那一刻就決定了位置；配額表列出某個機型、而那一區沒有那種硬體時，建立會失敗而錯誤碼分不出原因</li>
</ul>
]]></content:encoded></item></channel></rss>