この記事を読んでできるようになること
EC2にSSHログインし、Railsアプリのデータベースを作成・セットアップすることができる。
今回は、MariaDBをインストールしていきます(Amazon Linux 2には、デフォルトでMariaDBがインストールされているため)。ローカル環境のデータベースがMySQLの場合でも、問題なく動作します。
また、AWS上にデータベースを設置する方法は、EC2に設置する方法と、RDSを利用する方法がありますが、この記事では、前者のEC2にデータベースを設置する手順となります。
記事を読むにあたってのお願い
私はAWSの初学者で、アウトプットをすることで知識を定着させるためにこの記事を書いています。内容に誤りがある場合は、コメントをいただけますと幸いです。
MariaDBとは
MySQLから派生したRDBMS(リレーショナルデータベースマネジメントシステム)です。MySQLと高い互換性があり、MySQLと比べて、パフォーマンスや堅牢性が高いという特徴があります。
データベースの作成手順
※Railsの環境構築まで完了している前提です。
※MACでの操作手順となります。ご了承ください。
① sshログインする
# pemファイルのあるディレクトリへ移動
% cd 〇〇〇〇
# 秘密鍵(pemファイル)を使用して、EC2インスタンスにSSHログイン
% ssh -i 〇〇.pem ec2-user@Elastic IP
② MariaDBをインストールする
# yumコマンドでインストール(yum: Linuxシステムにおけるソフトウェアパッケージの管理システム)
~ % sudo yum -y install mysql56-server mysql56-devel mysql56 mariadb-server mysql-devel
③ MariaDBの起動と起動確認する
# MariaDBの起動
~ % sudo systemctl start mariadb
# MariaDBの起動確認
~ % sudo systemctl status mariadb
# 以下のように、Active:が「active (running)」になっていればOK
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running)
④ データベースのrootユーザーのパスワードを設定する
※ 本番環境のデータベースのセキュリティを高めるため
# 以下コマンドを入力
~ % sudo /usr/bin/mysql_secure_installation
# 現在のrootのパスワードを入力する(ない場合はEnterを押す)を言われるので、「Enter」を押す
Enter current password for root (enter for none): Enter
# rootパスワードを設定するか聞かれるので、「Y」を入力
Set root password? [Y/n] Y
# 新しいパスワードの入力を求められるので、自分が覚えやすいパスワードを入力しEnter
New password: ********
# 再度入力を求められるので、もう一度パスワードを入力しEnter
Re-enter new password: ********
# 「Success」と表示されれば設定完了
... Success!
# その後、何点か問われるので、全て Y を入力する。
[Y/n] Y
⑤ データベースにrootユーザーで接続する
# 以下コマンドを入力(rootユーザーで接続、-pはパスワードオプション)
~ % mysql -u root -p
# パスワードの入力を求められるので、先ほど設定したパスワードを入力後、Enter
Enter password: ********
# MariaDBへようこそと表示されれば接続成功
Welcome to the MariaDB ... (省略)
# 「exit」で接続解除
> exit
これで、データベースの設置まで完了しました。
次回は手動でデプロイを行っていこうと思います。