本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 中使用資料庫叢集 VPC
您的資料庫叢集位於虛擬私有雲端 (VPC)。VPC 是邏輯上與 AWS Cloud 中其他虛擬網路隔離的虛擬網路。Amazon VPC可讓您在 中啟動 AWS 資源,例如 Aurora 資料庫叢集或 Amazon EC2執行個體VPC。VPC 可以是您帳戶VPC隨附的預設值,也可以是您所建立的預設值。所有 VPCs 都與 AWS 您的帳戶相關聯。
您的預設值VPC有三個子網路,可用來隔離 內的資源VPC。預設值VPC也具有網際網路閘道,可用來VPC從 外部提供對 內部資源的存取VPC。
如需 和 VPC外部涉及 Aurora 資料庫叢集的案例清單,請參閱 存取 中資料庫叢集的案例 VPC。
在以下教學課程中,您可以學習建立VPC可用於常見 Aurora 案例的 :
在 中使用資料庫叢集 VPC
以下是在 中使用資料庫叢集的一些秘訣VPC:
-
您的 VPC 必須至少有兩個子網路。這些子網路必須在 AWS 區域 您要部署資料庫叢集 的 中的兩個不同可用區域中。子網路是 VPC的 IP 地址範圍區段,您可以指定,而且可以用來根據您的安全和操作需求將資料庫叢集分組。
-
如果您希望 中的資料庫叢集VPC可公開存取,請務必開啟VPC屬性DNS主機名稱和DNS解析度 。
-
您的 VPC 必須擁有您建立的資料庫子網路群組。您可以透過指定您所建立的子網路來建立資料庫子網路群組。從資料庫子網路群組中,Amazon Aurora 會選擇子網路和該子網路內的 IP 地址,以便與您的資料庫叢集中的主要資料庫執行個體建立關聯。主要資料庫執行個體使用包含子網路的可用區域。
-
您的 VPC 必須具有允許存取資料庫叢集 VPC的安全群組。
如需詳細資訊,請參閱存取 中資料庫叢集的案例 VPC。
-
每個子網路中的CIDR區塊必須足夠大,以容納備用 IP 地址,讓 Aurora 可在維護活動期間使用,包括容錯移轉和運算擴展。例如,10.0.0.0/24 和 10.0.1.0/24 等範圍通常就夠大了。
-
VPC 可以具有預設或專用 的執行個體租用屬性。所有預設值VPCs都會將執行個體租用屬性設定為預設值,預設值VPC可以支援任何資料庫執行個體類別。
如果您選擇讓資料庫叢集位於執行個體租用屬性設為專用VPC之專用 中,則資料庫叢集的資料庫執行個體類別必須是核准的 Amazon EC2專用執行個體類型之一。例如,r5.large EC2專用執行個體對應 db.r5.large 資料庫執行個體類別。如需 中執行個體租用的相關資訊VPC,請參閱 Amazon Elastic Compute Cloud 使用者指南 中的專用執行個體。
如需可在專用執行個體中的執行個體類型詳細資訊,請參閱 Amazon 定價頁面上的 Amazon EC2專用執行個體
。 EC2 注意
將執行個體租用屬性設定為專用於資料庫叢集時,並不保證資料庫叢集會在專用執行個體上執行。
使用資料庫子網路群組
子網路是 VPC的 IP 地址範圍區段,您根據安全和操作需求指定將資源分組。資料庫子網路群組是您在 中建立的子網路集合 (通常為私有)VPC,然後為資料庫叢集 指定。透過使用資料庫子網路群組,您可以在使用 AWS CLI 或 建立資料庫叢集VPC時指定特定 RDS API。如果您使用 主控台,您可以選擇要使用的 VPC和 子網路群組。
各個資料庫子網路群組在指定的 AWS 區域中,皆應在至少兩個可用區域中具有子網路。在 中建立資料庫叢集時VPC,您可以選擇資料庫子網路群組。從資料庫子網路群組中,Amazon Aurora 會選擇該子網路中的子網路和 IP 地址,以與資料庫叢集 中的主要資料庫執行個體建立關聯。資料庫使用包含子網路的可用區域。
資料庫子網路群組中的子網路可設為公開或私有,子網路是公有或私有的,取決於您為網路存取控制清單 (網路 ACLs) 和路由表設定的組態。若要使資料庫叢集可公開存取,其資料庫子網路群組中的所有子網路皆必須為公有。若與可公開存取的資料庫叢集關聯的子網路從公有變更為私有,則可能會影響資料庫叢集可用性。
若要建立支援雙堆疊模式的資料庫子網路群組,請確定您新增至資料庫子網路群組的每個子網路都有與其相關聯的網際網路通訊協定第 6 版 (IPv6) CIDR區塊。如需詳細資訊,請參閱 Amazon 使用者指南中的 Amazon Aurora IP 定址和遷移至 IPv6 。 VPC
當 Aurora 在 中建立資料庫叢集時VPC,它會使用來自資料庫子網路群組的 IP 地址,將網路介面指派給資料庫叢集。不過,我們強烈建議您使用網域名稱系統 (DNS) 名稱來連線至資料庫叢集 。我們如此建議,是因為基本的 IP 地址在容錯移轉期間會有所變動。
注意
針對您在 中執行的每個資料庫叢集VPC,請務必在資料庫子網路群組中的每個子網路中至少保留一個地址,以供 Aurora 用於復原動作。
共用子網路
您可以在共用 中建立資料庫叢集VPC。
使用共用 時需要記住的一些考量事項VPCs:
-
您可以將資料庫叢集從共用VPC子網路移至非共用VPC子網路,反之亦然。
-
共用中的參與者VPC必須在 中建立安全群組VPC,以允許他們建立資料庫叢集 。
-
共用 中的擁有者和參與者VPC可以使用SQL查詢來存取資料庫。不過,只有資源的建立者可以在資源上進行任何API呼叫。
Amazon Aurora IP 定址
IP 地址可讓 中的資源彼此VPC通訊,以及透過網際網路與 資源通訊。Amazon Aurora 同時支援 IPv4和 IPv6定址通訊協定。根據預設,Amazon Aurora 和 Amazon VPC會使用IPv4定址通訊協定。您無法關閉此行為。建立 時VPC,請務必指定IPv4CIDR區塊 (私有IPv4地址範圍)。您可以選擇性地將IPv6CIDR區塊指派給您的 VPC和子網路,並將該區塊IPv6的地址指派給子網路中的資料庫叢集。
對IPv6通訊協定的支援會擴展支援的 IP 地址數量。透過使用IPv6通訊協定,您可以確保有足夠的可用地址,以因應網際網路的未來成長。新的和現有的RDS資源可以在您的 中使用 IPv4和 IPv6地址VPC。在應用程式的不同部分中使用的兩個通訊協定之間進行設定、保護和轉譯網路流量可能會造成操作額外負荷。您可以標準化 Amazon RDS 資源的IPv6通訊協定,以簡化您的網路組態。
IPv4 地址
當您建立 時VPC,必須以CIDR區塊VPC的形式指定 IPv4的地址範圍,例如 10.0.0.0/16
。資料庫子網路群組定義了此CIDR區塊中資料庫叢集可以使用的 IP 地址範圍。這些 IP 地址可為私有或公有。
私有IPv4地址是無法透過網際網路連線的 IP 地址。您可以在相同的 中,使用私有IPv4地址在資料庫叢集與其他資源之間進行通訊,例如 Amazon EC2執行個體VPC。每個資料庫叢集都有用於在 中通訊的私有 IP 地址VPC。
公有 IP 地址是從網際網路連線IPv4的地址。您可以使用公有地址在資料庫叢集與網際網路上的資源之間進行通訊,例如SQL用戶端。您控制您的資料庫叢集是否接收公有 IP 地址。
如需教學課程,示範如何建立VPC只有私有IPv4地址的 ,可用於常見的 Aurora 案例,請參閱 教學課程:建立要與資料庫叢集搭配使用的 VPC (僅限 IPv4)。
IPv6 地址
您可以選擇性地將IPv6CIDR區塊與 VPC和 子網路建立關聯,並將該區塊IPv6的地址指派給 中的資源VPC。每個IPv6地址都是全域唯一的。
您 的IPv6CIDR區塊VPC會自動從 Amazon IPv6的地址集區指派。您無法自行選擇範圍。
連線至IPv6地址時,請確定符合下列條件:
-
用戶端已設定,允許用戶端透過資料庫流量IPv6。
-
RDS 資料庫執行個體使用的安全群組已正確設定,以便IPv6允許用戶端透過資料庫流量。
-
用戶端作業系統堆疊允許IPv6地址上的流量,且作業系統驅動程式和程式庫已設定為選擇正確的預設資料庫執行個體端點 ( IPv4或 IPv6)。
如需 的詳細資訊IPv6,請參閱 Amazon VPC使用者指南 中的 IP 定址。
雙堆疊模式
當資料庫叢集可以透過 IPv4和 IPv6定址通訊協定進行通訊時,其會以雙堆疊模式執行。因此,資源可以透過 IPv4、 IPv6或兩者與資料庫叢集通訊。RDS 會停用私有雙堆疊模式資料庫執行個體IPv6端點的網際網路閘道存取。RDS 這樣做是為了確保您的IPv6端點是私有的,並且只能在您的 內存取VPC。
如需教學課程,說明如何建立同時VPC包含 IPv4和 IPv6地址的 ,可用於常見的 Aurora 案例,請參閱 教學課程:建立要與資料庫叢集搭配使用的 (VPC)(雙堆疊模式)。
雙堆疊模式和資料庫子網路群組
若要使用雙堆疊模式,請確定您與資料庫叢集相關聯的資料庫子網路群組中的每個子網路都有與其相關聯的IPv6CIDR區塊。您可建立新的資料庫子網路群組或修改現有資料庫子網路群組,以滿足此要求。於資料庫 叢集處於雙堆疊模式後,用戶端可進行正常連線。請確定已正確設定用戶端安全防火牆和RDS資料庫執行個體安全群組,以允許透過 的流量IPv6。如要進行連線,用戶端會使用資料庫叢集主執行個體的端點。用戶端應用程式可指定連線至資料庫時所偏好的通訊協定。在雙堆疊模式中,資料庫叢集會偵測用戶端偏好的網路通訊協定,即 IPv4或 IPv6,並使用該通訊協定進行連線。
如果資料庫子網路群組因為子網路刪除CIDR或取消關聯而停止支援雙堆疊模式,則與資料庫子網路群組相關聯的資料庫執行個體會有網路狀態不相容的風險。此外,建立新的雙堆疊模式資料庫叢集時,無法使用資料庫子網路群組。
若要使用 判斷資料庫子網路群組是否支援雙堆疊模式 AWS Management Console,請在資料庫子網路群組的詳細資訊頁面上檢視網路類型。若要使用 判斷資料庫子網路群組是否支援雙堆疊模式 AWS CLI,請在輸出SupportedNetworkTypes
中執行 describe-db-subnet-groups命令和檢視。
將僅供讀取複本視為獨立的資料庫執行個體,且可具有不同於主資料庫執行個體的網路類型。若您變更僅供讀取複本之主資料庫執行個體的網路類型,則僅供讀取複本不會受到影響。還原資料庫執行個體時,您可將其還原為支援的任何網路類型。
使用雙堆疊模式資料庫執行個體
當您建立或修改資料庫叢集 時,您可以指定雙堆疊模式,以允許資源透過 IPv4、 IPv6或兩者與資料庫叢集通訊。
當您使用 AWS Management Console 建立或修改資料庫執行個體時,您可以在網路類型區段中指定雙堆疊模式。下圖顯示主控台中的 Network type (網路類型) 區段。
當您使用 AWS CLI 建立或修改資料庫叢集 時,請將 --network-type
選項設定為DUAL
使用雙堆疊模式。當您使用 RDSAPI建立或修改資料庫叢集 時,請將 NetworkType
參數設定為 DUAL
,以使用雙堆疊模式。當您修改資料庫執行個體的網路類型時,可能會出現停機時間。若指定的資料庫引擎版本或資料庫子網路群組不支援雙堆疊模式,則會傳回 NetworkTypeNotSupported
錯誤。
如需建立資料庫叢集的詳細資訊,請參閱建立 Amazon Aurora 資料庫叢集。如需修改資料庫叢集的詳細資訊,請參閱修改 Amazon Aurora 資料庫叢集。
若要使用主控台來決定資料庫叢集是否處於雙堆疊模式,請檢視資料庫叢集 Connectivity & security (連線能力與安全性) 索引標籤上的 Network type (網路類型)。
修改IPv4僅限 的資料庫叢集以使用雙堆疊模式
您可以修改IPv4僅限 的資料庫叢集,以使用雙堆疊模式。如此,請變更資料庫叢集的網路類型。修改可能會造成停機。
建議您在維護時段期間變更 Amazon Aurora 資料庫叢集的網路類型。目前不支援將新執行個體的網路類型設定為雙堆疊模式。您可以使用 modify-db-cluster
命令手動設定網路類型。
將資料庫叢集修改為使用雙堆疊模式之前,請確保其資料庫子網路群組支援雙堆疊模式。若與資料庫叢集關聯的資料庫子網路群組不支援雙堆疊模式,請於修改資料庫叢集時指定支援該子網路群組的其他資料庫子網路群組。修改資料庫叢集的資料庫子網路群組可能會導致停機。
若在將資料庫叢集變更為使用雙堆疊模式之前修改資料庫叢集的資料庫子網路群組,請確保該資料庫子網路群組在變更前後對資料庫叢集有效。
建議您modify-db-clusterAPI僅使用具有 值的 --network-type
參數執行 ,將 Amazon Aurora 叢集的網路DUAL
變更為雙堆疊模式。在同一API通話中新增其他參數和 --network-type
參數可能會導致停機時間。
如果您在變更後無法連線至資料庫叢集,請確定已正確設定用戶端和資料庫安全防火牆和路由表,以允許流量傳入所選網路 ( IPv4或 ) 上的資料庫IPv6。您可能還需要修改作業系統參數、程式庫或驅動程式,才能使用IPv6地址進行連線。
若要修改IPv4僅限 的資料庫叢集,以使用雙堆疊模式
-
修改資料庫子網路群組以支援雙堆疊模式,或建立支援雙堆疊模式的資料庫子網路群組:
-
將IPv6CIDR區塊與 建立關聯VPC。
如需指示,請參閱 Amazon 使用者指南 中的將IPv6CIDR區塊新增至VPC您的 。 VPC
-
將IPv6CIDR區塊連接至資料庫子網路群組中的所有子網路。
如需指示,請參閱 Amazon VPC使用者指南 中的將IPv6CIDR區塊新增至子網路。
-
確認資料庫子網路群組支援雙堆疊模式。
如果您使用的是 AWS Management Console,請選取資料庫子網路群組,並確認支援的網路類型值為雙 。 IPv4
如果您使用的是 AWS CLI,請執行 describe-db-subnet-groups命令,並確認資料庫執行個體
SupportedNetworkType
的值為Dual, IPv4
。
-
-
修改與資料庫叢集相關聯的安全群組,以允許與資料庫的IPv6連線,或建立新的安全群組以允許IPv6連線。
如需指示,請參閱 Amazon VPC使用者指南 中的安全群組規則。
-
修改資料庫叢集以支援雙堆疊模式。若要這麼做,請將 Network type (網路類型) 設為 Dual-stack mode (雙堆疊模式)。
若您使用主控台,請確保下列設定正確:
-
Network type (網路類型) – Dual-stack mode (雙堆疊模式)
-
DB subnet group (資料庫子網路群組) – 您在前一步驟中設定的資料庫子網路群組
-
Security group (安全群組) – 您在上一個步驟中設定的安全性
如果您使用的是 AWS CLI,請確定下列設定正確無誤:
-
--network-type
–dual
-
--db-subnet-group-name
– 您在前一步驟中設定的資料庫子網路群組 -
--vpc-security-group-ids
– 您在上一個步驟中設定VPC的安全群組
例如:
aws rds modify-db-cluster --db-cluster-identifier my-cluster --network-type "DUAL"
-
-
確認資料庫叢集是否支援雙堆疊模式。
若您使用主控台,請選擇資料庫叢集的 Configuration (連線能力與安全性) (組態) 索引標籤。在該索引標籤,確保 Network type (網路類型) 值為 Dual-stack mode (雙堆疊模式)。
如果您使用的是 AWS CLI,請執行 describe-db-clusters命令,並確認資料庫叢集
NetworkType
的值為dual
。在寫入器資料庫執行個體端點上執行
dig
命令,以識別與其相關聯的IPv6地址。dig
db-instance-endpoint
AAAA使用寫入器資料庫執行個體端點,而不是IPv6地址,來連線至資料庫叢集 。
雙堆疊網路資料庫叢集的可用性
除了以下項目 AWS 區域 之外,雙堆疊網路資料庫叢集都可以在所有 中使用:
-
亞太區域 (海德拉巴)
-
亞太區域 (馬來西亞)
-
亞太區域 (墨爾本)
-
加拿大西部 (卡加利)
-
歐洲 (西班牙)
-
歐洲 (蘇黎世)
-
以色列 (特拉維夫)
-
中東 (UAE)
下列資料庫引擎版本支援雙堆疊網路資料庫叢集:
-
Aurora MySQL 版本:
-
3.02 和更新的 3 版本
-
2.09.1 和更新的 2 版本
如需 Aurora MySQL 版本的詳細資訊,請參閱 Aurora My 的版本備註SQL。
-
-
Aurora PostgreSQL 版本:
-
15.2 和所有更高版本
-
14.3 版和更新的 14 版
-
13.7 和更新的第 13 版
如需 Aurora PostgreSQL 版本的詳細資訊,請參閱 Aurora Postgre 的版本備註SQL。
-
雙堆疊網路資料庫叢集的限制
下列限制適用於雙堆疊網路資料庫叢集:
-
資料庫叢集無法完全使用IPv6通訊協定。他們可以IPv4專門使用 ,也可以使用 IPv4和 IPv6通訊協定 (雙堆疊模式)。
-
Amazon RDS不支援原生IPv6子網路。
-
使用雙堆疊模式的資料庫叢集必須為私有。其無法公開存取。
-
雙堆疊模式不支援 db.r3 資料庫執行個體類別。
-
您無法搭配雙堆疊模式資料庫叢集 使用 RDS Proxy。
VPC 從網際網路隱藏 中的資料庫叢集
其中一個常見的 Aurora 案例是擁有一個 Amazon EC2執行個體,VPC其中具有面向公有的 Web 應用程式,以及資料庫叢集,該叢集具有不可公開存取的資料庫。例如,您可以建立VPC具有公有子網路和私有子網路的 。EC2 作為 Web 伺服器的 執行個體可以部署在公有子網路中。而資料庫叢集則可部署於私有子網路中。在這樣的部署下,只有 Web 伺服器可以存取資料庫叢集。如需這種案例的圖示,請參閱 Amazon 在相同 中VPC存取的 中的資料庫EC2執行個體叢集 VPC。
當您在 內啟動資料庫叢集時VPC,資料庫叢集具有 內流量的私有 IP 地址VPC。此私人 IP 地址無法公開存取。您可以使用 Public access (公用存取) 選項來指定除了私有 IP 地址之外,資料庫叢集是否還具有公有 IP 地址。如果資料庫叢集指定為可公開存取,其DNS端點會從 內部解析為私有 IP 地址VPC。它會從 外部解析為公有 IP 地址VPC。資料庫叢集的存取權限最終是由其使用的安全群組所控制。若指派給該資料庫叢集的安全群組沒有包含允許的傳入規則,則該資料庫執行個體就無法開放供公開存取。若要開放公開存取資料庫叢集,其資料庫子網路群組中的子網路必須具備網際網路閘道。如需詳細資訊,請參閱 無法連線至 Amazon RDS 資料庫執行個體
您可以修改 Public access (公用存取) 選項,藉此修改資料庫叢集以開啟或關閉公開存取性。下圖顯示 Additional connectivity configuration (其他連線能力組態) 區段中的 Public access (公用存取) 選項。若要設定此選項,請開啟 Connectivity (連線能力) 區段中的 Additional connectivity configuration (其他連線能力組態) 區段。
如需有關修改資料庫執行個體以設定 Public access (公用存取) 選項的資訊,請參閱修改資料庫叢集中的資料庫執行個體。
在 中建立資料庫叢集 VPC
下列程序可協助您在 中建立資料庫叢集VPC。若要使用預設 VPC,您可以從步驟 2 開始,並使用已為您建立的 VPC和 資料庫子網路群組。如果您想要建立其他 VPC,您可以建立新的 VPC。
注意
如果您希望 中的資料庫叢集VPC可公開存取,則必須啟用VPC屬性DNS主機名稱和DNS解析度 VPC 來更新 DNS的資訊。如需更新VPC執行個體DNS資訊的相關資訊,請參閱更新 的DNS支援VPC。
請依照下列步驟,在 中建立資料庫執行個體VPC:
步驟 1:建立 VPC
在至少兩個可用區域中建立VPC具有子網路的 。建立資料庫子網路群組時,您會需要使用這些子網路。如果您有預設 VPC,系統會自動為您在 中的每個可用區域中建立子網路 AWS 區域。
如需詳細資訊,請參閱 建立含私有和公有子網路的 VPC,或參閱 Amazon 使用者指南 中的建立 VPC 。 VPC
步驟 2:建立資料庫子網路群組
資料庫子網路群組是您為 建立的子網路集合 (通常是私有的)VPC,然後您為資料庫叢集 指定的子網路集合。資料庫子網路群組可讓您在使用 AWS CLI 或 建立資料庫叢集VPC時指定特定 RDS API。如果您使用 主控台,只需選擇要使用的 VPC和 子網路。各個資料庫子網路群組在 AWS 區域中,須至少於兩個可用區域中具有至少一個子網路。作為最佳實務,每個資料庫子網路群組應於 AWS 區域中,為每個可用區域擁有至少有一個子網路。
若要開放資料庫叢集供公開存取,資料庫子網路群組中的子網路必須具備網際網路閘道。如需子網路網際網路閘道的詳細資訊,請參閱 Amazon VPC使用者指南 中的使用網際網路閘道連線至網際網路。
當您在 中建立資料庫叢集時VPC,您可以選擇資料庫子網路群組。Amazon Aurora 會選擇該子網路內的子網路和 IP 地址,以與您的資料庫叢集 建立關聯。如果不存在資料庫子網路群組,Amazon Aurora 會在您建立資料庫叢集 時建立預設子網路群組。Amazon Aurora 會建立 Elastic Network Interface 並與您的資料庫叢集與該 IP 地址建立關聯。資料庫叢集使用包含子網路的可用區域。
在此步驟中,您可以建立資料庫子網路群組,並新增您為 建立的子網路VPC。
建立資料庫子網路群組
-
在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/
。 -
在導覽窗格中選擇 Subnet groups (子網路群組)。
-
選擇 Create DB Subnet Group (建立資料庫子網路群組)。
-
在 Name (名稱) 欄位輸入您資料庫子網路群組的名稱。
-
在 Description (描述) 欄位輸入您資料庫子網路群組的描述。
-
針對 VPC,選擇VPC您建立的預設 VPC或 。
-
在 Add subnets (新增子網路) 區段中,選擇包含 Availability Zones (可用區域) 中子網路的可用區域,然後從 Subnets (子網路) 選擇子網路。
-
選擇 Create (建立)。
您的新資料庫子網路群組會出現在RDS主控台的資料庫子網路群組清單中。您可以選擇資料庫子網路群組,在視窗底部的詳細資訊窗格查看詳細資訊,包括與該群組相關聯的所有子網路。
步驟 3:建立VPC安全群組
在建立資料庫叢集 之前,您可以建立VPC安全群組,以與資料庫叢集 建立關聯。如果您未建立VPC安全群組,您可以在建立資料庫叢集 時使用預設安全群組。如需如何為資料庫叢集 建立安全群組的指示,請參閱 建立私有資料庫叢集的 VPC 安全群組,或參閱 Amazon VPC使用者指南 中的使用安全群組控制資源流量。
步驟 4:在 中建立資料庫執行個體 VPC
在此步驟中,您可以建立資料庫叢集,並使用在先前步驟中建立VPC的名稱、資料庫子網路群組和VPC安全群組。
注意
如果您希望 中的資料庫叢集VPC可公開存取,則必須啟用VPC屬性DNS主機名稱和DNS解析度 。如需詳細資訊,請參閱 Amazon VPC使用者指南 中的 DNS的屬性VPC。
如需如何建立資料庫叢集的詳細資訊,請參閱建立 Amazon Aurora 資料庫叢集。
在連線區段中出現提示時,輸入VPC名稱、資料庫子網路群組和VPC安全群組。
注意
Aurora 資料庫叢集VPCs目前不支援更新。