使用 RDS 連線到您的 RDS Custom 資料庫執行個體 - Amazon Relational Database Service

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

使用 RDS 連線到您的 RDS Custom 資料庫執行個體

建立 RDS Custom 資料庫執行個體之後,您可以使用 RDP 用戶端連線到此執行個體。此程序與連線 Amazon EC2 執行個體的程序相同。如需詳細資訊,請參閱連線至您的 Windows 執行個體

若要連線到資料庫執行個體,您需要與執行個體相關聯的金鑰對。RDS Custom 會為您建立金鑰對。配對名稱使用字首 do-not-delete-rds-custom-DBInstanceIdentifier。AWS Secrets Manager 會將您的私有金鑰儲存為秘密。

完成下列步驟中的任務:

將您的資料庫執行個體設定為允許 RDP 連線

若要允許 RDP 連線,請設定 VPC 安全群組並在主機上設定防火牆規則。

設定您的 VPC 安全群組

請確定與資料庫執行個體相關聯的 VPC 安全群組允許傳輸控制通訊協定 (TCP) 的連接埠 3389 上的傳入連線。若要了解如何設定 VPC 安全群組,請參閱 設定您的 VPC 安全群組

在主機上設定防火牆規則

若要允許 TCP 的連接埠 3389 上的傳入連線,請在主機上設定防火牆規則。下列範例示範其做法。

建議您使用特定的 -Profile 值:PublicPrivateDomain。使用 Any 指的是全部三個值。您也可指定以逗號分隔的值組合。如需設定防火牆規則的詳細資訊,請參閱 Microsoft 文件中的 Set-NetFirewallRule

使用 Systems Manager 工作階段管理員來設定防火牆規則
  1. 連線至工作階段管理員,如 使用 AWS Systems Manager 連線到您的 RDS Custom 資料庫執行個體 中所示。

  2. 執行下列命令。

    Set-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)" -Direction Inbound -LocalAddress Any -Profile Any
使用 Systems Manager CLI 命令來設定防火牆規則
  1. 使用下列命令在主機上開啟 RDP。

    OPEN_RDP_COMMAND_ID=$(aws ssm send-command --region $AWS_REGION \ --instance-ids $RDS_CUSTOM_INSTANCE_EC2_ID \ --document-name "AWS-RunPowerShellScript" \ --parameters '{"commands":["Set-NetFirewallRule -DisplayName \"Remote Desktop - User Mode (TCP-In)\" -Direction Inbound -LocalAddress Any -Profile Any"]}' \ --comment "Open RDP port" | jq -r ".Command.CommandId")
  2. 使用輸出中傳回的命令 ID,以取得前一個命令的狀態。若要使用以下查詢傳回命令 ID,請確定已安裝 jq 外掛程式。

    aws ssm list-commands \ --region $AWS_REGION \ --command-id $OPEN_RDP_COMMAND_ID

擷取您的私密金鑰

使用 AWS Management Console 或 AWS CLI 擷取您的私密金鑰。

若要擷取秘密金鑰
  1. 登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中選擇 Databases (資料庫),然後選擇您要連線的 RDS Custom 資料庫執行個體。

  3. 選擇 Configuration (組態) 索引標籤。

  4. 請記下資料庫執行個體的 DB instance ID (資料庫執行個體 ID),例如 my-custom-instance

  5. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  6. 在導覽窗格中,選擇執行個體

  7. 尋找 EC2 執行個體的名稱,然後選擇與其相關聯的執行個體 ID。

    在此範例中,執行個體 ID 為 i-abcdefghijklm01234

  8. Details (詳細資訊) 中尋找 Key pair name (金鑰對名稱)。配對名稱包含資料庫識別符。在此範例中,配對名稱是 do-not-delete-rds-custom-my-custom-instance-0d726c

  9. 在執行個體摘要中,尋找公有 IPv4 DNS。例如,公有 DNS 可能是 ec2-12-345-678-901.us-east-2.compute.amazonaws.com

  10. 開啟 AWS Secrets Manager 主控台,網址為 https://console.aws.amazon.com/secretsmanager/

  11. 選擇與金鑰對具有相同名稱的密碼。

  12. 選擇 Retrieve secret value (擷取秘密值)

若要擷取私有金鑰
  1. 藉由呼叫 aws rds describe-db-instances 命令來取得 RDS Custom 資料庫執行個體的清單。

    aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text
  2. 從範例輸出中選擇資料庫執行個體識別符,例如 do-not-delete-rds-custom-my-custom-instance

  3. 藉由呼叫 aws ec2 describe-instances 命令來尋找資料庫執行個體的 EC2 執行個體 ID。下列範例使用 EC2 執行個體名稱來描述資料庫執行個體。

    aws ec2 describe-instances \ --filters "Name=tag:Name,Values=do-not-delete-rds-custom-my-custom-instance" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

    以下範例輸出顯示 EC2 執行個體 ID。

    i-abcdefghijklm01234
  4. 藉由指定 EC2 執行個體 ID 來尋找金鑰名稱,如以下範例所示。

    aws ec2 describe-instances \ --instance-ids i-abcdefghijklm01234 \ --output text \ --query 'Reservations[*].Instances[*].KeyName'

    下列範例輸出會顯示金鑰名稱,該名稱使用字首 do-not-delete-rds-custom-DBInstanceIdentifier

    do-not-delete-rds-custom-my-custom-instance-0d726c

使用 RDP 公用程式連線到 EC2 執行個體

請遵循《Amazon EC2 使用者指南》中的使用 RDP 連線至您的 Windows 執行個體的程序。此程序假設您已建立包含私有金鑰的 .pem 檔案。