初めに
AWSのEC2にデプロイしたアプリケーションのデータベース操作についてです。(AWSのRDSは使用していません)
Railsアプリのデータベース操作が調べてもなかなか見つからなかったので(かつ調べたの2回目なので・・・)自身の備忘のための記事です。
本記事の内容
- EC2にデプロイしたアプリケーションのデータベースの操作方法の紹介(2パターン)
1. ターミナルからSSH接続
2. Sequel ProからSSH接続
必要なもの
- インスタンスへログインするためのSSH秘密鍵の名前(〜.pem)
- EC2インスタンスのElasticIP
- データベースのrootのパスワード(設定していれば)
ターミナルから操作する場合
EC2へのSSH接続
ターミナル(ローカル)
// ディレクトリの変更
cd .ssh
// EC2インスタンスへSSH接続
ssh -i 秘密鍵の名前.pem ec2-user@Elastic IP
// 上記の実例(適当なキー名とIPです)
ssh -i aws_key.pem ec2-user@52.68.59.32
EC2ロゴが浮かび上がり(?)プロンプト($マークや%マークの左側)が[ec2-user@ip-172-31-45-212 ~]
のようになっていればEC2への接続成功です。
ちなみに浮かび上がるとは・・・
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
み、見える・・・
(余計な記述すみません。)
DBへの接続
ターミナル(EC2)
// DB接続(mariaDBでも下記コマンドで接続できます)
mysql -u root -p
パスワードを設定していれば、以下のように求められるので入力してEnter(キーボードを叩いても表示されませんが入力されています)
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 159
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
となればOK!
あとは通常のSQL文(show databases;など)で操作できます。
Sequel Proを利用する場合
GUIなツールですね。スクールで教えてもらいましたが、簡単にデータベースが確認できて便利です。
(慣れればターミナルから見る方が便利なのかも知れませんが...)
-
Sequel Proを起動し、左下の「+」マークを選択し新規接続情報を作成(名前はEC2でもリポジトリ名でも適当に)
-
項目を入力
- MySQLホスト:ElasticIP
- ユーザー名:root
- パスワード:データベースのrootのパスワード(設定していれば)
- ポート:3306
- SSHホスト:ElasticIP
- SSHユーザー:ec2-user
- SSH鍵:右側の鍵マークをクリックするとファイル選択画面が開くので、.pemファイルを選択
-
接続をテスト
をクリックして、接続が成功しました
と表示されればOKです -
お気に入りに追加
をクリックすると左上のお気に入りに追加され、Sequel Proを開き直してもすぐに接続可能となります
接続
をクリックしたあとは通常のSequel Proと同様です!
参考にさせていただいたサイト・記事