

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將內部部署 PostgreSQL 資料庫遷移至 Aurora PostgreSQL
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql"></a>

*Baji Shaik 和 Jitender Kumar，Amazon Web Services*

## 總結
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-summary"></a>

Amazon Aurora PostgreSQL 相容版本結合了高階商業資料庫的效能和可用性，以及開放原始碼資料庫的簡單性和成本效益。Aurora 透過將儲存體擴展到相同 AWS 區域中的三個可用區域，提供這些優勢，並支援最多 15 個僅供讀取複本執行個體，以擴展讀取工作負載，並在單一區域中提供高可用性。透過使用 Aurora 全域資料庫，您可以在最多五個區域中複寫 PostgreSQL 資料庫，以便在發生區域故障時進行遠端讀取存取和災難復原。此模式說明將內部部署 PostgreSQL 來源資料庫遷移至 Aurora PostgreSQL 相容資料庫的步驟。模式包含兩個遷移選項：使用 AWS Data Migration Service (AWS DMS) 或使用原生 PostgreSQL 工具 （例如，[pg\_dump](https://www.postgresql.org/docs/current/app-pgdump.html)、[pg\_restore](https://www.postgresql.org/docs/current/app-pgrestore.html) 和[psql](https://www.postgresql.org/docs/current/app-psql.html)) 或第三方工具。 

此模式中描述的步驟也適用於 Amazon Relational Database Service (Amazon RDS) 和 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的目標 PostgreSQL 資料庫。 Amazon Relational Database Service 

## 先決條件和限制
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-prereqs"></a>

**先決條件**
+ 作用中的 AWS 帳戶
+ 內部部署資料中心中的 PostgreSQL 來源資料庫
+ [Aurora PostgreSQL 相容資料庫執行個體](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html)或 [Amazon RDS for PostgreSQL 資料庫執行個體](https://aws.amazon.com/getting-started/hands-on/create-connect-postgresql-db/)

**限制**
+ Amazon RDS for PostgreSQL 的資料庫大小限制為 64 TB，Aurora PostgreSQL 相容則為 128 TB。
+ 如果您使用的是 AWS DMS 遷移選項，請檢閱[使用 PostgreSQL 資料庫做為來源的 AWS DMS 限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

**產品版本**
+ 如需 Amazon RDS 中的 PostgreSQL 主要和次要版本支援，請參閱 [Amazon RDS 文件中的 Amazon RDS for PostgreSQL 更新](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html)。
+ 如需 Aurora 中的 PostgreSQL 支援，請參閱 [Aurora 文件中的 Amazon Aurora PostgreSQL 更新](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html)。
+ 如果您使用的是 AWS DMS 遷移選項，請參閱 AWS DMS 文件中的[支援的 PostgreSQL 版本](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html)。

## Architecture
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-architecture"></a>

**來源技術堆疊**
+ 內部部署PostgreSQL 資料庫

**目標技術堆疊**
+ Aurora PostgreSQL 相容資料庫執行個體

**來源架構**

![內部部署 PostgreSQL 資料庫的來源架構](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/a8621ad3-781b-45a9-86a8-d0b0ec5c79ea.png)


**目標架構**

![Amazon Aurora 上 PostgreSQL 資料庫的目標架構](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/fc2ec0cb-7b9b-4cc0-b70c-40e47c2f4c45.png)


**資料遷移架構**

*使用 AWS DMS*

![使用 AWS DMS 將內部部署 PostgreSQL 資料庫遷移至 Aurora](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/5336adb4-e9eb-47d0-a5b5-d149261b1638.png)


*使用原生 PostgreSQL 工具*

![使用 pg_dump 和 pg_restore 將內部部署 PostgreSQL 資料庫遷移至 Aurora](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/3c6fb533-45ff-443e-bfb1-97e60cbdd583.png)


## 工具
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 可協助您將資料存放區遷移至 AWS 雲端，或在雲端和內部部署組態的組合之間遷移。此服務支援不同的來源和目標資料庫。如需有關如何驗證支援與 AWS DMS 搭配使用之 PostgreSQL 來源和目標資料庫版本的資訊，請參閱[使用 PostgreSQL 資料庫做為 AWS DMS 來源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html)。我們建議您使用最新版本的 AWS DMS，以獲得最全面的版本和功能支援。
+ 原生 PostgreSQL 工具包括 [pg\_dump](https://www.postgresql.org/docs/current/app-pgdump.html)、[pg\_restore](https://www.postgresql.org/docs/current/app-pgrestore.html) 和[psql](https://www.postgresql.org/docs/current/app-psql.html)。

## 史詩
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-epics"></a>

### 分析遷移
<a name="analyze-the-migration"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 驗證來源和目標資料庫版本。 | 如果您使用的是 AWS DMS，請確定您使用的是[支援的 PostgreSQL 版本](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html)。 | DBA | 
| 識別儲存類型和容量需求。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA，系統管理員 | 
| 選擇適當的執行個體類型、容量、儲存功能和網路功能。 | 判斷目標資料庫執行個體的運算需求。檢閱可能需要額外注意的已知效能問題。請考慮下列因素，以判斷適當的執行個體類型：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)<br />如需詳細資訊，請參閱 [Aurora 文件中的 Aurora 資料庫執行個體類別](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html)。 | DBA，系統管理員 | 
| 識別來源和目標資料庫的網路存取安全需求。 | 決定適當的安全群組，讓應用程式能夠與資料庫通訊。 | DBA，系統管理員 | 
| 識別應用程式遷移策略。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA、應用程式擁有者、系統管理員 | 

### 設定基礎設施
<a name="configure-the-infrastructure"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 VPC。 | 為目標資料庫執行個體建立新的虛擬私有雲端 (VPC)。 | 系統管理員 | 
| 建立安全群組。 | 在 VPC 內建立安全群組 （如上一個圖示中所決定），以允許資料庫執行個體的傳入連線。 | 系統管理員 | 
| 設定和啟動 Aurora 資料庫叢集。 | 使用新的 VPC 和安全群組建立目標資料庫執行個體，並啟動執行個體。 | 系統管理員 | 

### 遷移資料 ‒ 選項 1 （使用 AWS DMS)
<a name="migrate-data-option-1-using-aws-dms"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 完成預遷移步驟。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 
| 完成遷移步驟。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 
| 驗證資料。 | 為了確保您的資料從來源準確遷移到目標，請遵循 AWS DMS 文件中的[資料驗證步驟](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html)。 | DBA | 

### 遷移資料 ‒ 選項 2 （使用 pg\_dump 和 pg\_restore)
<a name="migrate-data-option-2-using-pg_dump-and-pg_restore"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 準備來源資料庫。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)如需詳細資訊，請參閱 AWS DMS 文件中的 [pg\_dump](https://www.postgresql.org/docs/current/app-pgdump.html) 文件和[逐步解說](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html)。 | DBA | 
| 準備目標資料庫。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)如需詳細資訊，請參閱 AWS DMS 文件中的 [pg\_restore](https://www.postgresql.org/docs/current/app-pgrestore.html) 文件和[逐步解說](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html)。 | DBA | 
| 驗證資料。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 

### 遷移應用程式
<a name="migrate-the-application"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 遵循應用程式遷移策略。 | 實作您在第一個史詩中建立的應用程式遷移策略。 | DBA、應用程式擁有者、系統管理員 | 

### 切換到目標資料庫
<a name="cut-over-to-the-target-database"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 將應用程式用戶端切換到新的基礎設施。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA、應用程式擁有者、系統管理員 | 
| 如果您需要復原遷移。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA、應用程式擁有者 | 

### 關閉專案
<a name="close-the-project"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 關閉資源。 | 關閉臨時 AWS 資源。 | DBA，系統管理員 | 
| 驗證文件。 | 檢閱並驗證專案文件。 | DBA、應用程式擁有者、系統管理員 | 
| 收集指標。 | 收集遷移時間、手動與工具成本節省百分比等指標。 | DBA、應用程式擁有者、系統管理員 | 
| 關閉專案。 | 關閉專案並提供任何意見回饋。 | DBA、應用程式擁有者、系統管理員 | 

## 相關資源
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-resources"></a>

**參考**
+ [AWS Data Migration Service](https://aws.amazon.com/dms/)
+ [VPCs和 Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.html)
+ [Amazon Aurora 定價](https://aws.amazon.com/rds/aurora/pricing/)
+ [使用 PostgreSQL 資料庫做為 AWS DMS 來源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html)
+ [如何建立 AWS DMS 複寫執行個體](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/)
+ [如何使用 AWS DMS 建立來源和目標端點](https://aws.amazon.com/premiumsupport/knowledge-center/create-source-target-endpoints-aws-dms/)

**其他資源**
+ [AWS DMS 入門](https://aws.amazon.com/dms/getting-started/)
+ [資料遷移step-by-step演練](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Amazon Aurora 資源](https://aws.amazon.com/rds/aurora/getting-started/)