

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

# 在 pgAdmin 中使用 SSH 通道進行連線
<a name="connect-by-using-an-ssh-tunnel-in-pgadmin"></a>

*Jeevan Shetty 和 Bhanu Ganesh Gudivada，Amazon Web Services*

## 總結
<a name="connect-by-using-an-ssh-tunnel-in-pgadmin-summary"></a>

基於安全考量，將資料庫放置在私有子網路中一律是不錯的做法。透過 Amazon Web Services (AWS) 雲端上的公有子網路中的 Amazon Elastic Compute Cloud (Amazon EC2) 堡壘主機，可以對資料庫執行查詢。這需要在 Amazon EC2 主機上安裝開發人員或資料庫管理員常用的軟體，例如 pgAdmin 或 DBeaver。

在 Linux 伺服器上執行 pgAdmin 並透過 Web 瀏覽器存取，需要安裝其他相依性、許可設定和組態。

做為替代解決方案，開發人員或資料庫管理員可以使用 pgAdmin 從本機系統啟用 SSH 通道，以連線至 PostgreSQL 資料庫。在此方法中，pgAdmin 會在連線至資料庫之前，使用公有子網路中的 Amazon EC2 主機做為中介主機。*架構*區段中的圖表顯示設定。

**注意**  
確定連接至 PostgreSQL 資料庫的安全群組允許從 Amazon EC2 主機連線連接埠 5432。

## 先決條件和限制
<a name="connect-by-using-an-ssh-tunnel-in-pgadmin-prereqs"></a>

**先決條件**
+ 現有的 AWS 帳戶
+ 具有公有子網路和私有子網路的虛擬私有雲端 (VPC)
+ 連接安全群組的 EC2 執行個體
+ 連接安全群組的 Amazon Aurora PostgreSQL 相容版本資料庫
+ 用於設定通道的安全殼層 (SSH) 金鑰對

**產品版本**
+ pgAdmin 6.2\+ 版
+ Amazon Aurora PostgreSQL 相容版本 12.7\+

## Architecture
<a name="connect-by-using-an-ssh-tunnel-in-pgadmin-architecture"></a>

**目標技術堆疊**
+ Amazon EC2
+ Amazon Aurora PostgreSQL 相容

**目標架構**

下圖顯示搭配 SSH 通道使用 pgAdmin 來透過網際網路閘道連線至 EC2 執行個體，而 EC2 執行個體會連線至資料庫。

![pgAdmin 搭配 SSH 通道會透過網際網路閘道連線至連線至資料庫的 EC2 執行個體。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/7d25d570-5685-4f1a-bef0-212e257cb589/images/4556d930-f9b3-4b65-be5d-d40dd9437d5a.png)


## 工具
<a name="connect-by-using-an-ssh-tunnel-in-pgadmin-tools"></a>

**AWS 服務**
+ [Amazon Aurora PostgreSQL 相容版本](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)是完全受管的 ACID 相容關聯式資料庫引擎，可協助您設定、操作和擴展 PostgreSQL 部署。
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) 在 AWS 雲端中提供可擴展的運算容量。您可以視需要啟動任意數量的虛擬伺服器，，並快速進行擴展或縮減。

**其他服務**
+ [pgAdmin](https://www.pgadmin.org/) 是 PostgreSQL 的開放原始碼管理工具。它提供圖形界面，可協助您建立、維護和使用資料庫物件。

## 史詩
<a name="connect-by-using-an-ssh-tunnel-in-pgadmin-epics"></a>

### 建立連線
<a name="create-the-connection"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立伺服器。 | 在 pgAdmin 中，選擇**建立**，然後選擇**伺服器**。如需設定 pgAdmin 以註冊伺服器、設定連線，以及使用伺服器對話方塊透過 SSH 通道連線的其他說明，請參閱*相關資源*一節中的連結。 | DBA | 
| 提供伺服器的名稱。 | 在**一般**索引標籤上，輸入名稱。 | DBA | 
| 輸入資料庫詳細資訊。 | 在**連線**索引標籤上，輸入下列項目的值：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/connect-by-using-an-ssh-tunnel-in-pgadmin.html) | DBA | 
| 輸入 Amazon EC2 伺服器詳細資訊。 | 在 **SSH 通道**索引標籤上，提供公有子網路中 Amazon EC2 執行個體的詳細資訊。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/connect-by-using-an-ssh-tunnel-in-pgadmin.html) | DBA | 
| 儲存並連線。 | 選擇**儲存**以完成設定，並使用 SSH 通道連線至 Aurora PostgreSQL 相容資料庫。 | DBA | 

## 相關資源
<a name="connect-by-using-an-ssh-tunnel-in-pgadmin-resources"></a>
+ [伺服器對話方塊](https://www.pgadmin.org/docs/pgadmin4/latest/server_dialog.html)
+ [連線至伺服器](https://www.pgadmin.org/docs/pgadmin4/latest/connect_to_server.html)