Amazon Web Service EC2内にMySQLインストールとAmazon RDS(Relational Database Service)を設定する手順をまとめました。EC2内Linux2に直にインストールする方法はセキュリティ面において懸念される点がありますので、サービス公開の際はVPCネットワーク内にサブネットを作成した後、AWSサービスとして用意されているRDSに切り替える予定です。
EC2内にMYSQLをインストールする
Amazon Linux2にはMySQL互換のMariaDBというデータベースサーバーがインストールされているため、MySQLのインストール方法をGoogleで検索してみました。MariaDBがAWSでデフォルトのリレーショナルデータベースとして使われているということは、パフォーマンスの点でMySQLより優れているということかもしれませんが、今回はテスト用ですので使い慣れたMySQLを選択しました。下記サイトでインストールに適した内容が掲載されていましたので参考にさせていただきました。MySQL公式のyumリポジトリを追加して5.7.25 MySQL Community Serverをインストールできました。
AWSのEC2で行うAmazon Linux2(MySQL5.7)環境構築
AWS RDSを使用する
上記の通り、EC2内にMYSQLをインストールできましたが、いずれRDSに移行することも考慮しそちらの設定も事前準備しておきました。
AWS内RDSのページで「データベースを作成」を選択。
続いてデータベースの中から、MySQLを選択し、「次へ」をクリック。
ユースケースの中で「本番稼働用 MySQL」を選択。
次に「DBの詳細設定」を行います。
ライセンスモデル:General Public License
DBエンジンのバージョン:MySQL 5.6.40
DBインスタンスのクラス:db.t2.micro
マルチAZ配置:別のゾーンにレプリカを作成します。
ストレージタイプ:汎用(SSD)
ストレージ割り当て:20GB
以上の設定で概算月間コストは43.48 USDと試算額が表示されました。
DBインスタンス識別子はRDSインスタンスの名前を指定します。
「AWSアカウントが現在のリージョンで所有しているすべてのDBインスタンスにおいて一意な名前を指定します」という説明文があります。
その他細かい設定は下図の通りです。
MySQL起動
EC2内のyumによるMySQLインストールとAmazon RDS内MySQLの設定(起動)が完了しました。
EC2内MySQLの起動
$ sudo systemctl start mysqld.service
RDS内MySQLは設定が完了すると自動的に起動しています。
MySQLログイン
SSHでEC2にログインしMySQLにログインします。
EC2内MySQLにログイン
mysql -u root -p
Enter password:
RDS内MySQLにログイン
mysql -h *****************-northeast-1.rds.amazonaws.com -P 3306 -u root -p
※ *******northeast-1.rds.amazonaws.comは、RDS内「接続とセキュリティ」に表示されたエンドポイントです。
以上で無事設定が完了しました。
RDS内MySQLについては、課金されますのでいったんサーバーを停止させましたが、システム上一定期間が経過すると自動起動される仕組みです。