LoginSignup
1
1

SSM Session Manager経由でローカル環境からRDSへ接続を行う方法

Last updated at Posted at 2023-10-16

aws-cliのインストール

homebrewを使ってインストールします。

$ brew install awscli

バーションが確認できればインストールは成功です。

$ aws --version

aws-cliの初期化

事前にAWSコンソールから、アクセスキーとシークレットアクセスキー、regionを確認しておき、下記実行時にそれぞれの項目に設定します。
outputformatについては指定しなければjsonになります。

$ aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]: 

設定したAWS認証が正しいか確認します。

$ aws sts get-caller-identity
{
    "UserId": "XXXXXXXXXXXXXXXX",
    "Account": "<AWSアカウントID>",
    "Arn": "arn:aws:iam::<AWSアカウントID>:user/<IAMユーザー名>"
}

ローカル環境からRDSへ接続する

ローカル環境のターミナルにて以下コマンドを実施し、Session Managerへポートフォワード実施します。

$ aws ssm start-session --target <踏み台インスタンスID> --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters '{"host":["<RDSのエンドポイント>"],"portNumber":["<ポートナンバー>"], "localPortNumber":["<ローカルポートナンバー>"]}'

ポートフォワード実施後、ローカル環境のDBクライアントツールを使用し、接続を行います。
ホスト名、ポートは以下の通りとなります

ホスト名: <RDSのエンドポイント>
Port: 「3. Session Managerへポートフォワード実施」の「localPortNumber」で指定したPort番号

configureの切り替え

検証環境や本番環境へ接続を切り替える場合は、credentialsを修正します。

書き換える場合

ファイルを開いて編集するとわかりやすいです。

$ cd .aws
$ open credentials
書き換えずに切り替える場合

defaultで登録してある情報とは別に、ユーザー名で指定して情報を追加登録できます。

$ aws configure --profile ユーザー名

credentialsに追加されているか確認します。

$ aws sts get-caller-identity --profile ユーザー名

下記コマンドでアカウントを切り替えます。

$ export AWS_DEFAULT_PROFILE=ユーザー名
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1