修改RDS代理 - Amazon Relational Database Service

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

修改RDS代理

您可以在建立代理之後變更與該代理相關聯的特定設定。您可以修改代理本身、它的關聯目標群組,或兩者都修改。每個代理都有一個關聯的目標群組。

重要

戶端驗證類型和驗IAM證欄位中的值會套用至與此代理主機關聯的所有 Secrets Manager 密碼。若要為每個密碼指定不同的值,請改用 AWS CLI 或來修API改 Proxy。

若要修改代理的設定
  1. 登錄 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Proxies (代理)。

  3. 在代理清單中,選擇您要修改其設定的代理伺服器,或移至其詳細資訊頁面。

  4. Actions (動作) 中,選擇 Modify (修改)。

  5. 輸入或選擇要修改的屬性。您可以修改下列選項:

    • 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 (啟用增強型日誌) – 啟用或停用增強型日誌。

  6. 選擇 Modify (修改)。

如果您找不到您要變更的列出設定,請使用下列程序更新代理的目標群組。與代理相關聯的目標群組可控制與實體資料庫連線相關的設定。每個代理都有一個名為 default 的關聯目標群組,這些群組將與代理一起自動建立。

您只能從代理詳細資訊頁面修改目標群組,而不能從 代理頁面上的清單修改。

若要修改代理目標群組的設定
  1. Proxies (代理) 頁面上,前往代理的詳細資訊頁面。

  2. 目標群組中選擇 default 連結。目前,所有的代理都有一個名為 default 的目標群組。

  3. 預設目標群組的詳細資訊頁面上,選擇 Modify (修改)

  4. 選擇您可修改之屬性的新設定:

    • 資料庫 — 選擇不同的資料RDS庫執行個體或叢集

    • 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

    您無法變更某些屬性,例如目標群組識別符和資料庫引擎。

  5. 選擇 Modify target group (修改目標群組)

若要使用修改代理 AWS CLI,請使用指令modify-db-proxyderegister-db-proxy-targetsmodify-db-proxy-target-groupregister-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-name the_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-name the-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令,您可以透過其目標群組變更代理 與哪些RDS資料庫執行個體相關聯。目前,每個代理都可以連接到一個RDS資料庫執行個體 目標群組追蹤異地同步備份組態中所有資RDS料庫執行個體的連線詳細資料,體。

下列範例會從名為的 Aurora My SQL 叢集相關聯的 Proxy 開始cluster-56-2020-02-25-1399。此範例顯示如何變更代理,讓它可以連線到名為 provisioned-cluster 的不同叢集。

使用RDS資料庫執行個體時,請指定--db-instance-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-name the-proxy --db-cluster-identifier cluster-56-2020-02-25-1399 aws rds describe-db-proxy-targets --db-proxy-name the-proxy { "Targets": [] } aws rds register-db-proxy-targets --db-proxy-name the-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 odifyDBProxyM odifyDBProxy TargetGroupD eregisterDBProxy 目標R egisterDBProxy 目標作業。

使用 ModifyDBProxy,您可以變更屬性,如下所示:

  • 代理使用的 Secrets Manager 秘密組。

  • TLS是否需要。

  • 閒置用戶端逾時。

  • 是否記錄從SQL語句調試的附加信息。

  • IAM用來擷取 Secrets Manager 的角色。

  • 代理使用的安全群組。

您可以使用 ModifyDBProxyTargetGroup 修改連線相關設定或重新命名目標群組。目前,所有的代理都有一個名為 default 的目標群組。使用此目標群組時,您指定代理的名稱,並將目標群組的名稱指定為 default

使用DeregisterDBProxyTargetsRegisterDBProxyTargets,您可以透過其目標群組變更 Proxy 與哪個RDS資料庫執行個體 相關聯。目前,每個代理伺服器可以連線到一個RDS資料庫執行個體 目標群組會追蹤 連線詳細資料。