【 Ruby on Rails 6.0 】AWS + Nginx + Unicornでデプロイ③


始めに

前回の記事ではLinuxサーバーに必要なパッケージを諸々インストールしました。
今回はデータのやり取りを可能にするためにデータベースの設定を進めていきます。

目次

目次 内容
セクション1 EC2インスタンス作成
セクション2 Linuxサーバー構築
セクション3 データベース設定(今回の内容)
セクション4 EC2上でGemをインストールし環境変数を設定
セクション5 Railsアプリを起動
セクション6 Nginxの導入
セクション7 自動デプロイ
セクション8 独自ドメイン取得

データベース設定

データベースには大きく3種類ありますが、最も利用されているのがエクセルの表のような形で情報を整理し、管理できるリレーショナルデータベースです。
そして、このリレーショナルデータベースを管理するソフトウェアは リレーショナル・データ・ベース・マネ ジメント・システム(RDBMS) と呼ばれます。
RDBMSの中でも代表的なものの一つが、MySQLです。

MariaDB

MySQLの派生として開発されているオープンソースソフトウェアです。MySQLとの互換 性があります。今回デプロイカリキュラムで使用しているAmazon Linux 2ではMariaDB を利用していきます。

MariaDBをインストール

Amazon Linux 2を利用している場合、MariaDBは yum コマンドからインストールすることができます。

ターミナル
# インストール
$ sudo yum install -y mariadb-server

データベースを起動

データベースを起動するためにsystemctlコマンドを利用します。これは、Amazon LinuxやCentOSに含まれているもので、インストールしたソフトウェアの起動を一括して 行えるツールです。

ターミナル
[ec2-user@ip-172-31-25-189 ~]$ sudo systemctl start mariadb

#起動出来たかを確認
[ec2-user@ip-172-31-25-189 ~]$ sudo systemctl status mariadb

# active(running)と表示されれば成功

データベースのrootパスワードの設定

yum でインストールしたMariaDBには、デフォルトでrootというユーザーでアクセス出来るようになっていますが、パスワードは設定されていません。パスワードを設定していきます。

パスワードは自身で決めることができます。忘れないパスワードを決めておきましょう。
この時、0から始まるpasswordは読み込んでくれないケースが多いので、避けましょう。(例えば、 0101password などはNG)

ターミナル
[ec2-user@ip-172-31-25-189 ~]$ sudo /usr/bin/mysql_secure_installation

その後、以下のステップで実行していきます。

  1. Enter current password for root (enter for none): と表示されたらEnterキーを押下
  2. Set root password? [Y/n] と表示されたら Y を入力してEnterキーを押下
  3. New password: と表示されたら自身で決めたパスワードを入力(特に画面には何も 表示されませんが入力できています)
  4. Re-enter new password: と表示されたら、同じパスワードを入力(特に画面には 何も表示されませんが入力できています)

ここで、 ... Success! と表示されればパスワードの設定は完了です。しかし、
続けて細かい設定について答える必要があります。

  1. Remove anonymous users? [Y/n] と表示されたら Y を入力してEnterキーを押下
  2. Disallow root login remotely? [Y/n] と表示されたら Y を入力してEnterキー を押下
  3. Remove test database and access to it? [Y/n] と表示されたら Y を入力し てEnterキーを押下
  4. Reload privilege tables now? [Y/n] と表示されたら Y を入力してEnterキー を押下

プロンプトが表示されたら設定は完了です。

データベースへの接続確認

設定したパスワードが使えるか確認してみましょう。以下のコマンドを入力してくださ い。

ターミナル
[ec2-user@ip-172-31-25-189 ~]$ mysql -u root -p

Enter password:とパスワードを要求されるので先程設定したパスワードを入力してEnterを押してください。
以下の画像のように表示されれば成功です。

抜けたいときはexitと入力すれば大丈夫です!

終わりに

次回はEC2インスタンス上でRailsアプリを起動していきます。
Githubなどの外部ツールも使用していくのでできるだけわかりやすくまとめていきたいと思います。
お疲れさまでした。。。

次回
EC2インスタンスにGemをインストールし環境変数を設定