いろいろなツールでAWSにSSH接続する(WinSCP、MySQL Workbench、CloudBerry)

仕事でAWSを使う際にいろいろとDB周りの接続やらが必要だったけど、
用語に対する理解も曖昧だった部分もあったし、
調べながらやったのでメモしておく。

AWSについての基礎はここを読んでおく。超わかりやすかった。
(下準備編)世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで - Qiita


固定IPの取得・設定

インターリンクで取得し、以下のヘルプサイトを見ながら設定を行った。
Windows 10の設定 ■マイIP ソフトイーサー版■

固定IPアドレスは英語でFixed IP Addressなのか。
Staticではないのかな?
固定IPアドレス ‐ 通信用語の基礎知識


ポート番号

よく出る番号は22、80、443、7000。それぞれ何が違うのかよくわかってなかったので調べた。
【3分で把握】ポート番号とは?と代表的なポート番号まとめ


AWS上で穴あけを行う

既にAWS上で動いているWebアプリケーションにアクセスしようにも、WinSCPMySQL WorkbenchやCloudBerry経由でDBアクセスしようにもまずAWS上で穴あけを行わなくてはならない。つまりセキュリティグループのインバウンドルールに対して固定IPを設定していく。

「EC2 > セキュリティグループ > グループ選択 > インバウンド > 編集 > ルールの追加」で設定しようと思いきや、「送信元は CIDR ブロックまたはセキュリティグループ ID にする必要があります。」とのエラー文が。
IPアドレスの後ろに「/32」をつけて解決!
参考:AWSのEC2のセキュリティのインバウンドのルールでIPを設定する場合は/32をつける - Qiita

インバウンドルール:どんな通信が来たら許可するのか
CIDRブロックVPCが使用できるIPの範囲のこと(10.0.0.0/28(16IPアドレス) ~ 10.0.0.0/16(65,536IPアドレス)まで選択可能)。


PuTTY

ここからダウンロード。
基本的に下の参考にしたサイトの方法で出来たけど、どうやらPCを再起動した後に接続しなおす場合は、ppkファイルをpageant.exeに再度ドラック&ドロップして秘密鍵を登録しなおす必要がある。

・確認方法
Windowsの右下のインジケータ(バッテリーのアイコンの横などにある上矢印のアイコン)をクリック
pageant.exeと同じアイコンを右クリック
→Views Keyをクリック

踏み台サーバを使ってサーバにアクセスする場合の設定方法は以下。

・カテゴリ > セッション > 接続先の指定

ホスト名 踏み台サーバーのElasticIP

他はデフォルトでOK。

・カテゴリ > 接続 > SSH

サーバに送られるデータ ssh 最終的な接続先のプライベートIP(ssh 170.20.20.20)

他はデフォルトでOK。


参考:PuTTYでプライベートなAmazon Linuxサーバへ多段ログインしてみた | Developers.IO


Cloud Berry

ここからダウンロード。

左上の「File > New Amazon S3 Account」を押下。

名前表示 任意の表示名
Access key AWS IAMでユーザを追加したときのアクセスキー
Secret key AWS IAMでユーザを追加したときのシークレットキー

OKを押下。
タブに「My Computer →(名前表示で設定した表示名)」となっていることを確認。
あとは「Source:」を切り替えて表示する内容を自由に変更させる。


WinSCPで多段接続

ここからダウンロード。

・Session

Host name 最終的な接続先のプライベートIP
User name ユーザー名

・Advanced...(Passwordの下) > Connection > Tunnel

Host name 踏み台サーバーのElasticIP
Port number 22
User name ユーザ名(Sessionと同じ)
Private key file 秘密鍵のファイル(.ppk)

OKを押下し、初めの画面に遷移しSaveを押してLogin。
新しく接続させる場合は「New Session」タブを押す。

参考:AWSの仮想マシンにWinSCPでの接続 - ts0818のブログ


MySQL Workbench

ここからダウンロード。

MySQL Connectionsの右側の+アイコンを押す。

Connection Name 任意の名前

・Connectionタブ

Connection Method Standard TCP/IP overSSH

・Parametersタブ

SSH Hostname Elastic IP:22 (13.100.100.100:22)
SSH Username ユーザー名
SSH Password -
SSH Key File 秘密鍵のファイル(.ppk)
MySQL Hostname ~~~.rds.amazonaws.com
MySQL Server Port 3306
Username ユーザー名

「:22」を付けてなくて嵌った。

参考:MySQL WorkbenchからRDSに接続する | ヤマムギ