今回は、AWS EC2(AmazonLinux2)にMariaDBをインストールして、
リモート接続できる様にするまでのメモです。
目次
EC2インスタンス作成
まず、EC2のインスタンス作成から始めます。
今回は、ホストOSはAmazonLinux2を選択します。
※AmazonLinux2023ではありません。
スペックは、必要な内容を選択します。
キーペアは既存のものを利用するか新規作成します。
新規で作成する場合、今回はsshで利用したいので、RSAで.pemで作成します。
作成したキーファイルは大切に保管します。
続けてネットワーク設定です。
セキュリティーグループも既存の設定でも良いですが、
今回は専用のグループを新規で作成します。作成したグループには後ほど設定を追加します。
また、ssh接続は自身のIPからのみ許可します。
(オールフリー等の選択は自己責任で)
ストレージも必要なスペックを指定します。
準備できたらインスタンスを起動します。
MariaDBインストール
インスタンスを生成できたらssh接続を行なって、
MariaDBをインストールしていきます。
ssh接続
Unix・Linux系でしたら、お馴染みのキーファイルのパーミッション調整を行います。
sshは以下の要領で行います。
ssh -i パス/キーファイル ec2-user@パブリックIP
尚、インスタンス概要ページの接続ボタンより遷移できるインスタンスに接続のページに、
各種接続方法が記載されていますので、
こちらを参考にした方が分かりやすいと思います。
また、@以降のEC2ホスト名については、IPを固定していない場合、
インスタンスを再起動すると変動しますので、毎回、パプリックIPを確認する必要があります。
※接続の例の部分は、毎回起動中のIPで例を示してくれます。
Elastic IPで、パプリックIPアドレスを固定することもできますが、
今回は省略させて頂きます。
MariaDBインストール
EC2インスタンスに接続できたら、インストールを行なっていきます。
事前準備
初期設定は何かと管理者権限での操作が多いので、スーパーユーザーに変更します。
sudo su
その後、念のためyumパッケージを更新します。
yum update
更新時にダウンロードサイズの確認が入ることもありますので、yで許可します。
MariaDB インストール サービス設定
以下コマンドでインストールを行います。
yum install -y mariadb-server
インストールしたら、早速起動を行います。
systemctl start mariadb
また、自動起動を設定したい場合は、こちらのコマンドで自動起動オンにします。
systemctl enable mariadb
MariaDB ユーザー整備
その後、MariaDB rootユーザーのパスワードを変更します。
MariaDBにログインして変更しても良いですし、
mysql -u root -p;
ALTER USER 'ユーザ名'@'ホスト名' IDENTIFIED BY 'パスワード';
セキュア設定コマンドで変更しても良いです。
mysql_secure_installation
その後、作業用(リモートアクセス用)のMariaDBユーザーを作成します。
CREATE USER 'ユーザー名' IDENTIFIED BY 'パスワード';
権限も調整します。
GRANT ALL PRIVILEGES ON *.* TO 'ユーザー名'@'%' WITH GRANT OPTION;
※ホスト名は’%’を指定すると、IPアドレスでのアクセス許可となります。
EC2 セキュリティグループ 設定
次は、EC2に立てたMariaDBに、外部からアクセスするための設定を
EC2セキュリティグループで指定します。
セキュリティタブのセキュリティグループ名リンクなどから、
セキュリティーグループのページに移動します。
インバウンドルール部分のインバウンドのルールを編集ボタンより、設定を追加します。
- タイプ:MySQL/Aurora
- プロトコル:TCP
- ポート:3306
アクセス可能なIPアドレスの指定を自己のIPなどで指定すると安全です。
0.0.0.0でオールフリーとなりますが、自己責任で指定してください。
※MariaDBのポートを変更している場合、変更したものに合わせます。
ポートの確認は、以下で確認するか、my.cnfで設定されているポート番号を確認します。
show variables like 'port';
全て設定できたら、開発環境のSQLクライアントなどで接続します。
- Host:パブリック IPv4 アドレス
- Port:MariaDBとセキュリティグループで許可済みのポート番号
- ユーザー:作成したアクセス用ユーザー
今回のメモは以上となります。
EC2でDBサーバーを立てるのは、
コスト削減か、演習サーバー用など限られているとは思いますが、
立てる際には、参考にして頂ければと思います。