RDP を使用した RDS Custom DB インスタンスへの接続
RDS Custom DB インスタンスを作成すると、RDP クライアントを使用してこのインスタンスに接続できます。この手順は、Amazon EC2 インスタンスへの接続と同じです。詳細については、「Windows インスタンスに接続する」を参照してください。
DB インスタンスに接続するには、インスタンスに関連付けられているキーペアが必要です。RDS Custom は、キーペアを作成します。ペア名はプレフィックスdo-not-delete-rds-custom-
を使用します。AWS Secrets Managerはプライベートキーをシークレットとして保存します。DBInstanceIdentifier
次のトピックのタスクを完了します。
RDP 接続を許可するように DB インスタンスを設定する
RDP 接続を許可するには、VPC セキュリティグループを設定し、ホストでファイアウォールルールを設定します。
VPC セキュリティグループの設定
DB インスタンスに関連付けられた VPC セキュリティグループが、ポート 3389 の送信制御プロトコル (TCP) のインバウンド接続を許可していることを確認してください。VPC セキュリティグループを設定する方法については、「次のように VPC セキュリティグループを設定します。」を参照してください。
ホストでファイアウォールルールを設定する
TCP のポート 3389 でインバウンド接続を許可するには、ホストでファイアウォールルールを設定します。次の例は、その方法を示しています。
次の特定の -Profile
の値を使用することをお勧めします。Public
、Private
または Domain
。Any
を使うと、3 つの値すべてを参照します。また、値をカンマで区切って、複数の値を組み合わせて指定することができます。ファイアウォールルールの設定の詳細については、Microsoft のドキュメント「Set-NetFirewallRule
Systems Manager セッションマネージャーを使用してファイアウォールルールを設定するには
-
AWS Systems Managerを使用して RDS カスタム DB インスタンスに接続するのように、セッションマネージャーに接続します。
-
以下のコマンドを実行します。
Set-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)" -Direction Inbound -LocalAddress Any -Profile
Any
Systems Manager CLI コマンドを使用してファイアウォールルールを設定するには
-
次のコマンドを使用して、ホストで 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") -
出力で返されたコマンド ID を使用して、前のコマンドのステータスを取得します。以下のクエリを使用してコマンド ID を返すには、jq プラグインがインストールされていることを確認してください。
aws ssm list-commands \ --region $AWS_REGION \ --command-id $OPEN_RDP_COMMAND_ID
シークレットキーを取得する
AWS Management Consoleまたは、AWS CLIを使用してシークレットキーを取得します。
シークレットキーを取得するには
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
ナビゲーションペインで、「データベース」 を選択し、接続したい RDS Custom DB インスタンスを選択します。
-
[設定] タブを選択します。
-
DB インスタンスの DB インスタンス ID に注意してください。例えば、
。my-custom-instance
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
EC2 インスタンスの名前を探し、それに関連付けられているインスタンス ID を選択します。
この例では、インスタンス ID は
i-abcdefghijklm01234
です。 -
詳細でキーペア名を探します。ペア名には DB 識別子が含まれます。この例では、ペア名は
do-not-delete-rds-custom-
です。my-custom-instance
-0d726c
-
インスタンスの概要で、Public IPv4 DNSを探します。この例では、公開 DNS は
ec2-12-345-678-901.us-east-2.compute.amazonaws.com
です。 -
AWS Secrets Managerコンソールをhttps://console.aws.amazon.com/secretsmanager/
で開きます。 -
キーペアと同じ名前のシークレットを選択します。
-
[シークレットの値を取得する] を選択します。
プライベートキーを取得するには
aws rds describe-db-instances
コマンドを呼び出し、RDS Custom DB インスタンスのリストを取得します。aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text
サンプルの出力から DB インスタンス識別子を選択します。例えば、
do-not-delete-rds-custom-
。my-custom-instance
-
aws ec2 describe-instances
コマンドを呼び出し、DB インスタンスの EC2 インスタンス ID を検索します。次の例では、EC2 インスタンス名を使用して DB インスタンスを説明します。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
以下の例のように 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 ファイルを作成したことを前提としています。