本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 管理和連線至 Amazon Aurora DSQL 叢集 AWS PrivateLink
使用 AWS PrivateLink for Amazon Aurora DSQL,您可以在 Amazon Virtual Private Cloud 中佈建介面 Amazon VPC 端點 (介面端點)。這些端點可透過 Amazon VPC 和內部部署的應用程式直接存取 Direct Connect,也可以 AWS 區域 透過 Amazon VPC 對等存取。使用 AWS PrivateLink 和 介面端點,您可以簡化從應用程式到 Aurora DSQL 的私有網路連線。
Amazon VPC 內的應用程式可以使用 Amazon VPC 介面端點存取 Aurora DSQL,不需要使用公共 IP 位址。
介面端點是由一個或多個彈性網路介面 (ENI) 表示;這些介面是從 Amazon VPC 子網路所指派的私有 IP 位址。透過介面端點對 Aurora DSQL 的請求會保留在 AWS 網路上。如需如何將 Amazon VPC 與內部部署網路連線的詳細資訊,請參閱 Direct Connect 使用者指南和AWS Site-to-Site VPN VPN 使用者指南。
如需介面端點的一般資訊,請參閱AWS PrivateLink《 使用者指南》中的使用介面 Amazon VPC 端點存取 AWS 服務。
適用於 Aurora DSQL 的 Amazon VPC 端點類型
Aurora DSQL 需要兩種不同類型的 AWS PrivateLink 端點。
-
管理端點 — 此端點用於管理作業,例如 Aurora DSQL 叢集上的
get、create、update、delete和list。請參閱 使用 管理 Aurora DSQL 叢集 AWS PrivateLink。 -
連線端點 — 此端點用於透過 PostgreSQL 用戶端連線至 Aurora DSQL 叢集。請參閱 使用 AWS PrivateLink連線至 Aurora DSQL 叢集。
使用 AWS PrivateLink for Aurora DSQL 時的考量事項
Amazon VPC 考量適用於 Aurora DSQL AWS PrivateLink 的 。如需詳細資訊,請參閱《 AWS PrivateLink 指南》中的使用介面 VPC 端點和配額存取 AWS 服務。 AWS PrivateLink
使用 管理 Aurora DSQL 叢集 AWS PrivateLink
您可以使用 AWS Command Line Interface 或 AWS 軟體開發套件 (SDKs) 透過 Aurora DSQL 介面端點管理 Aurora DSQL 叢集。
建立 Amazon VPC 端點
若要建立 Amazon VPC 介面端點,請參閱《 AWS PrivateLink 指南》中的建立 Amazon VPC 端點。
aws ec2 create-vpc-endpoint \ --regionregion\ --service-name com.amazonaws.region.dsql \ --vpc-idyour-vpc-id\ --subnet-idsyour-subnet-id\ --vpc-endpoint-type Interface \ --security-group-idsclient-sg-id\
若要使用 Aurora DSQL API 請求的預設區域 DNS 名稱,請勿在建立 Aurora DSQL 介面端點時停用私有 DNS。啟用私有 DNS 時,從 Amazon VPC 內部對 Aurora DSQL 服務提出的請求,會自動解析至 Amazon VPC 端點的私有 IP 位址,而不是公共 DNS 名稱。啟用私有 DNS 時,Amazon VPC 內部提出的 Aurora DSQL 請求會自動解析至您的 Amazon VPC 端點。
如果未啟用私有 DNS,請使用 --region和 --endpoint-url 參數搭配 AWS CLI 命令,透過 Aurora DSQL 介面端點管理 Aurora DSQL 叢集。
使用端點 URL 列出叢集
在下列範例中,將 AWS 區域 us-east-1和 Amazon VPC 端點 ID 的 DNS 名稱取代vpce-1a2b3c4d-5e6f.dsql.us-east-1.vpce.amazonaws.com為您自己的資訊。
aws dsql --regionus-east-1--endpoint-url https://vpce-1a2b3c4d-5e6f---dsql---us-east-1---vpce.amazonaws.com.rproxy.govskope.calist-clusters
API 操作
如需在 Aurora DSQL 中管理資源的文件,請參閱 Aurora DSQL API 參考。
管理端點政策
透過徹底測試和設定 Amazon VPC 端點政策,您可以協助確保 Aurora DSQL 叢集安全、合規,並符合組織的特定存取控制和控管要求。
範例:完整 Aurora DSQL 存取政策
下列政策會透過指定的 Amazon VPC 端點,授予所有 Aurora DSQL 動作和資源的完整存取權限。
aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id vpce-xxxxxxxxxxxxxxxxx \ --region region \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "dsql:*", "Resource": "*" } ] }'
範例:受限制的 Aurora DSQL 存取政策
下列政策僅允許這些 Aurora DSQL 動作。
-
CreateCluster -
GetCluster -
ListClusters
所有其他 Aurora DSQL 動作都會遭到拒絕。
使用 AWS PrivateLink連線至 Aurora DSQL 叢集
設定並啟用 AWS PrivateLink 端點後,您可以使用 PostgreSQL 用戶端連線至 Aurora DSQL 叢集。以下連線指示概述建構適當的主機名稱以透過 AWS PrivateLink 端點連線的步驟。
設定 AWS PrivateLink 連線端點
步驟 1:取得叢集的服務名稱
建立端點以 AWS PrivateLink 連線至叢集時,您必須先擷取叢集特定的服務名稱。
步驟 2:建立 Amazon VPC 端點
使用上一個步驟中取得的服務名稱建立 Amazon VPC 端點。
重要
以下連線指示僅適用於在啟用私有 DNS 時連線至叢集。建立端點時請勿使用 --no-private-dns-enabled 旗標,因為這會使下列連線指示無法正常運作。如果您停用私有 DNS,則需要建立自己的萬用字元私有 DNS 記錄指向建立的端點。
使用 AWS PrivateLink 連線端點連線至 Aurora DSQL 叢集
設定 AWS PrivateLink 端點並處於作用中狀態 (檢查 State是否為 available) 之後,您可以使用 PostgreSQL 用戶端連線至 Aurora DSQL 叢集。如需有關使用 AWS
SDK 的說明,您可以遵循使用 Aurora DSQL 進行程式設計中的指南。您必須變更叢集端點以符合主機名稱格式。
建構主機名稱
透過 連線的主機名稱與公有 DNS 主機名稱 AWS PrivateLink 不同。您需要使用下列元件來建構該主機名稱。
-
Your-cluster-id -
服務名稱的服務識別符。例如:
dsql-fnh4 -
的 AWS 區域
使用下列格式:cluster-id.service-identifier.region.on.aws
範例:使用 PostgreSQL 進行連線
# Set environment variables export CLUSTERID=your-cluster-idexport REGION=us-east-1 export SERVICE_IDENTIFIER=dsql-fnh4 # This should match the identifier in your service name # Construct the hostname export HOSTNAME="$CLUSTERID.$SERVICE_IDENTIFIER.$REGION.on.aws" # Generate authentication token export PGPASSWORD=$(aws dsql --region $REGION generate-db-connect-admin-auth-token --hostname $HOSTNAME) # Connect using psql psql -d postgres -h $HOSTNAME -U admin
使用 AWS PrivateLink來疑難排解問題
常見問題與解決方案
下表列出有關 AWS PrivateLink 搭配 Aurora DSQL 時的常見問題和解決方案。
| 問題 | 可能原因 | 解決方案 |
|---|---|---|
|
連線逾時 |
安全群組未正確設定 |
使用 Amazon VPC Reachability Analyzer 確保您的聯網設定允許連接埠 5432 的流量。 |
|
DNS 解析失敗 |
未啟用私有 DNS |
確認在啟用私有 DNS 的情況下建立 Amazon VPC 端點。 |
|
身分驗證失敗 |
憑證不正確或記號過期 |
產生新的身分驗證記號並驗證使用者名稱。 |
|
找不到服務名稱 |
不正確的叢集 ID |
擷取服務名稱 AWS 區域 時,請再次檢查您的叢集 ID 和 。 |
相關資源
如需詳細資訊,請參閱下列資源: