Azure Cosmos DB for PostgreSQL 中的私人存取
適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的超大規模 (Citus) 資料庫延伸模組提供)
Azure Cosmos DB for PostgreSQL 支援三個網路選項:
- 無存取權
- 如果沒有啟用公用或私人存取,這便是新建立叢集的預設值。 無論在 Azure 內部或外部,任何電腦都無法連線至資料庫節點。
- 公用存取權
- 系統會指派公用 IP 位址給協調器節點。
- 協調器節點的存取權受防火牆保護。
- 您可以選擇性啟用所有背景工作節點的存取權。 在此情況下,系統會指派公用 IP 位址給背景工作節點,並受到相同防火牆保護。
- 私人存取
- 系統只會指派私人 IP 位址給叢集的節點。
- 每個節點都需要有私人端點,以允許所選虛擬網路中的主機存取節點。
- Azure 虛擬網路的安全性功能 (例如網路安全性群組) 可用於存取控制。
建立叢集時,您可以啟用公用或私人存取,或選擇預設值 (無存取權)。 建立叢集之後,您可以選擇在公用或私人存取之間切換,或同時啟用兩者。
此頁面描述私人存取選項。 如需公用存取的資訊,請參閱這裡。
定義
虛擬網路。 Azure 虛擬網路 (VNet) 是私人網路在 Azure 中的基本建置組塊。 虛擬網路可讓多種類型的 Azure 資源 (例如資料庫伺服器和 Azure 虛擬機器 (VM)) 安全地彼此通訊。 虛擬網路支援內部部署連線、允許多個虛擬網路中的主機透過對等互連彼此互動,並提供有關規模調整、安全性選項和隔離的更多優點。 叢集的每個私人端點都需要相關聯的虛擬網路。
子網路。 子網路會將虛擬網路分割成一個或多個子網路。 每個子網路都會取得一部份位址空間,以改善位址配置效率。 您可以使用網路安全性群組來保護子網路內的資源。 如需詳細資訊,請參閱網路安全性群組。
當您為叢集的私人端點選取子網路時,請確定該子網路中有足夠的私人 IP 位址可供您目前和未來的需求使用。
私人端點。 私人端點是從虛擬網路使用私人 IP 位址的網路介面。 此網路介面能夠以私人且安全的方式連線至 Azure Private Link 所支援的服務。 私人端點會將服務帶入您的虛擬網路。
為適用於 PostgreSQL 的 Azure Cosmos DB 啟用私人存取,會為叢集的協調器節點建立私人端點。 端點可讓所選虛擬網路中的主機存取協調器。 您也可以選擇性地為背景工作節點建立私人端點。
私人 DNS 區域。 Azure 私人 DNS 區域會解析連結虛擬網路內的主機名稱,以及任何對等互連虛擬網路內的主機名稱。 節點的網域記錄會在為其叢集選取的私人 DNS 區域中建立。 請務必針對節點的 PostgreSQL 連接字串使用完整網域名稱 (FQDN)。
私人連結
您可以將私人端點用於叢集,以允許虛擬網路 (VNet) 上的用戶端透過 Private Link 安全地存取資料。
叢集的私人端點會使用來自虛擬網路位址空間的 IP 位址。 虛擬網路上的主機與節點之間的流量會經過 Microsoft 骨幹網路上的私人連結,而不需要暴露在公用網際網路上。
虛擬網路中的應用程式可以使用他們在其他情況下也會使用的相同連接字串和授權機制,透過私人端點順暢地連線至節點。
您可以在叢集建立期間選取私人存取,而且可以隨時從公用存取切換到私人存取。
使用私人 DNS 區域
除非您選取先前由 Azure Cosmos DB for PostgreSQL 建立的私人 DNS 區域,否則每個私人端點上都會自動佈建新的私人 DNS 區域。 如需詳細資訊,請參閱私人 DNS 區域概觀。
在選取的私人 DNS 區域中,Azure Cosmos DB for PostgreSQL 服務會為每個具有私人端點的節點建立 DNS 記錄,例如 c-mygroup01.12345678901234.privatelink.postgres.cosmos.azure.com
。 當您透過私人端點從 Azure VM 連線到節點時,Azure DNS 會將節點的 FQDN 解析為私人 IP 位址。
私人 DNS 區域設定和虛擬網路對等互連彼此各自獨立。 如果您想要從另一個虛擬網路中佈建的用戶端連線到叢集中的節點 (從相同區域或不同的區域),您必須連結私人 DNS 區域與虛擬網路。 如需詳細資訊,請參閱連結虛擬網路。
注意
此服務也一律會每個節點建立公用 CNAME 記錄,例如 c-mygroup01.12345678901234.postgres.cosmos.azure.com
。 不過,只有在資料庫管理員啟用叢集的公用存取時,公用網際網路上選取的電腦才能連線到公用主機名稱。
如果您使用自訂 DNS 伺服器,則必須使用 DNS 轉寄站來解析節點的 FQDN。 轉寄站 IP 位址應為 168.63.129.16。 自訂 DNS 伺服器應位於虛擬網路內部,或可透過虛擬網路的 DNS 伺服器設定連線。 若要深入了解,請參閱使用自有 DNS 伺服器的名稱解析。
建議
您啟用叢集的私用存取時,請考量:
子網路大小:針對叢集選取子網路大小時,請考量目前的需求,例如協調器或該叢集中所有節點的 IP 位址,以及該叢集的未來需求,例如成長需求。
請確定您有足夠的私人 IP 位址,可符合目前和未來的需求。 請記住,Azure 會在每個子網路中保留五個 IP 位址。
請在此常見問題中取得更多詳細資料。
私人 DNS區域:Azure Cosmos DB for PostgreSQL 服務將會維護具有私人 IP 位址的 DNS 記錄。 請確定您不會刪除用於叢集群組的私人 DNS 區域。
限制
請參閱 Azure Cosmos DB for PostgreSQL 限制頁面。