本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
修改RDS代理
您可以在建立代理之後變更與該代理相關聯的特定設定。您可以修改代理本身、它的關聯目標群組,或兩者都修改。每個代理都有一個關聯的目標群組。
重要
用戶端驗證類型和驗IAM證欄位中的值會套用至與此代理主機關聯的所有 Secrets Manager 密碼。若要為每個密碼指定不同的值,請改用 AWS CLI 或來修API改 Proxy。
若要修改代理的設定
-
登錄 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/
。 -
在導覽窗格中,選擇 Proxies (代理)。
-
在代理清單中,選擇您要修改其設定的代理伺服器,或移至其詳細資訊頁面。
-
在 Actions (動作) 中,選擇 Modify (修改)。
-
輸入或選擇要修改的屬性。您可以修改下列選項:
-
Proxy identifier (Proxy 識別碼) – 輸入新的識別碼,以便將 Proxy 重新命名。
-
Idle client connection timeout (閒置用戶端連線逾時) – 輸入閒置用戶端連線逾時的期間。
-
IAM角色 — 變更用來從密碼管理員擷取密碼的IAM角色。
-
Secrets Manager secrets (Secrets Manager 秘密) – 新增或移除 Secrets Manager 秘密。這些秘密對應於資料庫使用者名稱和密碼。
-
用戶端驗證類型 — (SQL僅限 Postgre) 變更用戶端與 Proxy 連線的驗證類型。
-
IAM驗證 — 需要或不允許與 Proxy 連線的IAM驗證。
-
需要傳輸層安全性 — 開啟或關閉傳輸層安全性 (TLS) 的需求。
-
VPC安全性群組 — 新增或移除要使用之 Proxy 的VPC安全性群組。
-
Enable enhanced logging (啟用增強型日誌) – 啟用或停用增強型日誌。
-
-
選擇 Modify (修改)。
如果您找不到您要變更的列出設定,請使用下列程序更新代理的目標群組。與代理相關聯的目標群組可控制與實體資料庫連線相關的設定。每個代理都有一個名為 default
的關聯目標群組,這些群組將與代理一起自動建立。
您只能從代理詳細資訊頁面修改目標群組,而不能從 代理頁面上的清單修改。
若要修改代理目標群組的設定
-
在 Proxies (代理) 頁面上,前往代理的詳細資訊頁面。
-
在目標群組中選擇
default
連結。目前,所有的代理都有一個名為default
的目標群組。 -
在預設目標群組的詳細資訊頁面上,選擇 Modify (修改)。
-
選擇您可修改之屬性的新設定:
-
資料庫 — 選擇不同的資料 Aurora 叢集。
-
Connection pool maximum connections (連線集區最大連線數) – 調整 Proxy 可以使用的最大可用連線數的百分比。
-
Session pinning filters (工作階段鎖定篩選條件) – (選用) 選擇工作階段鎖定篩選條件。這樣做會規避用戶端連線之間多工處理資料庫連線的預設安全措施。目前,該設置不支持郵件。SQL唯一的選擇是
EXCLUDE_VARIABLE_SETS
。啟用此設定可能會導致某個連線的工作階段變數影響其他連線。如果您的查詢取決於目前交易之外設定的工作階段變數值,這樣做可能會造成錯誤或正確性問題。請先確認應用程式可安全地在用戶端連線之間共用資料庫連線,再考慮使用此選項。
以下模式可視為安全:
-
SET
陳述式,其中有效的工作階段變數值沒有變更,也就是工作階段變數沒有變更。 -
您會在同一交易中變更工作階段變數值和執行陳述式。
如需詳細資訊,請參閱避免固定代理 RDS。
-
-
Connection borrow timeout (連線借用逾時) – 調整連線借用逾時間隔。在已為代理使用連線數上限時,則會套用此設定。此設定會決定代理在傳回逾時錯誤之前等待連線變成可用的時間。
-
Initialization query (初始化查詢) – (選用) 新增初始化查詢,或修改目前的查詢。您可以指定一或多個SQL陳述式,讓 Proxy 在開啟每個新的資料庫連線時執行。該設定通常與
SET
陳述式搭配使用,確保每個連線都有相同的設定,例如時區和字元集。對於多個陳述式,請使用分號作為分隔符號。您也可以在單一SET
陳述式中包含多個變數,例如SET x=1, y=2
。
您無法變更某些屬性,例如目標群組識別符和資料庫引擎。
-
-
選擇 Modify target group (修改目標群組)。
若要使用修改代理 AWS CLI,請使用指令modify-db-proxyderegister-db-proxy-targets、modify-db-proxy-target-group 和register-db-proxy-targets。
使用 modify-db-proxy
命令,您可以變更屬性,如下所示:
-
代理使用的 Secrets Manager 秘密組。
-
TLS是否需要。
-
閒置用戶端逾時。
-
是否記錄從SQL語句調試的附加信息。
-
IAM用來擷取 Secrets Manager 的角色。
-
代理使用的安全群組。
下列範例顯示如何將現有的代理重新命名。
aws rds modify-db-proxy --db-proxy-name
the-proxy
--new-db-proxy-namethe_new_name
若要修改連線相關設定或重新命名目標群組,請使用 modify-db-proxy-target-group
命令。目前,所有的代理都有一個名為 default
的目標群組。使用此目標群組時,您指定代理的名稱,並將目標群組的名稱指定為 default
。
下列範例顯示如何先檢查代理的 MaxIdleConnectionsPercent
設定,然後使用目標群組將其變更。
aws rds describe-db-proxy-target-groups --db-proxy-name
the-proxy
{ "TargetGroups": [ { "Status": "available", "UpdatedDate": "2019-11-30T16:49:30.342Z", "ConnectionPoolConfig": { "MaxIdleConnectionsPercent": 50, "ConnectionBorrowTimeout": 120, "MaxConnectionsPercent": 100, "SessionPinningFilters": [] }, "TargetGroupName": "default", "CreatedDate": "2019-11-30T16:49:27.940Z", "DBProxyName": "the-proxy", "IsDefault": true } ] } aws rds modify-db-proxy-target-group --db-proxy-namethe-proxy
--target-group-name default --connection-pool-config ' { "MaxIdleConnectionsPercent": 75 }' { "DBProxyTargetGroup": { "Status": "available", "UpdatedDate": "2019-12-02T04:09:50.420Z", "ConnectionPoolConfig": { "MaxIdleConnectionsPercent": 75, "ConnectionBorrowTimeout": 120, "MaxConnectionsPercent": 100, "SessionPinningFilters": [] }, "TargetGroupName": "default", "CreatedDate": "2019-11-30T16:49:27.940Z", "DBProxyName": "the-proxy", "IsDefault": true } }
使用deregister-db-proxy-targets
和命register-db-proxy-targets
令,您可以透過其目標群組變更代理 Aurora 資料庫叢集與哪些RDS資料庫相關聯。目前,每個代理都可以連接到一個 Aurora 資料庫叢 目標群組追蹤,Aurora 叢集中的所有資料庫執行個體。
下列範例會從名為的 Aurora My SQL 叢集相關聯的 Proxy 開始cluster-56-2020-02-25-1399
。此範例顯示如何變更代理,讓它可以連線到名為 provisioned-cluster
的不同叢集。
使用 Aurora 資料庫叢集時,您會指定 --db-cluster-identifier
選項。
下列範例會修改 Aurora 我的SQL代理。一個 Aurora 郵政SQL代理具有端口 5432.
aws rds describe-db-proxy-targets --db-proxy-name
the-proxy
{ "Targets": [ { "Endpoint": "instance-9814.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "instance-9814" }, { "Endpoint": "instance-8898.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "instance-8898" }, { "Endpoint": "instance-1018.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "instance-1018" }, { "Type": "TRACKED_CLUSTER", "Port": 0, "RdsResourceId": "cluster-56-2020-02-25-1399" }, { "Endpoint": "instance-4330.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "instance-4330" } ] } aws rds deregister-db-proxy-targets --db-proxy-namethe-proxy
--db-cluster-identifier cluster-56-2020-02-25-1399 aws rds describe-db-proxy-targets --db-proxy-namethe-proxy
{ "Targets": [] } aws rds register-db-proxy-targets --db-proxy-namethe-proxy
--db-cluster-identifier provisioned-cluster { "DBProxyTargets": [ { "Type": "TRACKED_CLUSTER", "Port": 0, "RdsResourceId": "provisioned-cluster" }, { "Endpoint": "gkldje.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "gkldje" }, { "Endpoint": "provisioned-1.demo.us-east-1.rds.amazonaws.com", "Type": "RDS_INSTANCE", "Port": 3306, "RdsResourceId": "provisioned-1" } ] }
若要使用修改代理 RDSAPI,您可以使用作業 M odifyDBProxy、M odifyDBProxy TargetGroup、D eregisterDBProxy 目標和 R egisterDBProxy 目標作業。
使用 ModifyDBProxy
,您可以變更屬性,如下所示:
-
代理使用的 Secrets Manager 秘密組。
-
TLS是否需要。
-
閒置用戶端逾時。
-
是否記錄從SQL語句調試的附加信息。
-
IAM用來擷取 Secrets Manager 的角色。
-
代理使用的安全群組。
您可以使用 ModifyDBProxyTargetGroup
修改連線相關設定或重新命名目標群組。目前,所有的代理都有一個名為 default
的目標群組。使用此目標群組時,您指定代理的名稱,並將目標群組的名稱指定為 default
。
使用DeregisterDBProxyTargets
和RegisterDBProxyTargets
,您可以透過其目標群組變更 Proxy 與哪 Aurora 叢集相關聯。目前,每個代理伺服器可以連線到一個個體 Aurora 目標群組會追蹤 Aurora 叢集中資料庫執行個體的連線詳細資料。