AWS EC2 MariaDB 構築 リモート接続

今回は、AWS EC2(AmazonLinux2)にMariaDBをインストールして、

リモート接続できる様にするまでのメモです。

EC2インスタンス作成

まず、EC2のインスタンス作成から始めます。

今回は、ホストOSはAmazonLinux2を選択します。

※AmazonLinux2023ではありません。

EC2 AmazonLinux2 MariaDB building

スペックは、必要な内容を選択します。

EC2 AmazonLinux2 MariaDB building

キーペアは既存のものを利用するか新規作成します。

新規で作成する場合、今回はsshで利用したいので、RSAで.pemで作成します。

作成したキーファイルは大切に保管します。

続けてネットワーク設定です。

セキュリティーグループも既存の設定でも良いですが、

今回は専用のグループを新規で作成します。作成したグループには後ほど設定を追加します。

また、ssh接続は自身のIPからのみ許可します。

(オールフリー等の選択は自己責任で)

EC2 AmazonLinux2 MariaDB building key pair

ストレージも必要なスペックを指定します。

EC2 AmazonLinux2 MariaDB building

準備できたらインスタンスを起動します。

EC2 AmazonLinux2 MariaDB building

 


MariaDBインストール

インスタンスを生成できたらssh接続を行なって、

MariaDBをインストールしていきます。

ssh接続

Unix・Linux系でしたら、お馴染みのキーファイルのパーミッション調整を行います。

EC2 AmazonLinux2 MariaDB building key pair

sshは以下の要領で行います。

ssh -i パス/キーファイル ec2-user@パブリックIP

尚、インスタンス概要ページの接続ボタンより遷移できるインスタンスに接続のページに、

各種接続方法が記載されていますので、

こちらを参考にした方が分かりやすいと思います。

EC2 AmazonLinux2 MariaDB building ssh remote command

EC2 AmazonLinux2 MariaDB building ssh command

EC2 AmazonLinux2 MariaDB building ssh command

また、@以降のEC2ホスト名については、IPを固定していない場合、

インスタンスを再起動すると変動しますので、毎回、パプリックIPを確認する必要があります。

※接続の例の部分は、毎回起動中のIPで例を示してくれます。

Elastic IPで、パプリックIPアドレスを固定することもできますが、

今回は省略させて頂きます。

EC2 AmazonLinux2 MariaDB building ssh command


MariaDBインストール

EC2インスタンスに接続できたら、インストールを行なっていきます。

事前準備

初期設定は何かと管理者権限での操作が多いので、スーパーユーザーに変更します。

sudo su

AmazonLinux2 sudo su yum update

その後、念のためyumパッケージを更新します。

yum update

更新時にダウンロードサイズの確認が入ることもありますので、yで許可します。

AmazonLinux2 yum update install size check

 

MariaDB インストール サービス設定

以下コマンドでインストールを行います。

yum install -y mariadb-server

インストールしたら、早速起動を行います。

systemctl start mariadb

また、自動起動を設定したい場合は、こちらのコマンドで自動起動オンにします。

systemctl enable mariadb

AmazonLinux2 MariaDB install

MariaDB ユーザー整備

その後、MariaDB rootユーザーのパスワードを変更します。

MariaDBにログインして変更しても良いですし、

mysql -u root -p;
ALTER USER 'ユーザ名'@'ホスト名' IDENTIFIED BY 'パスワード';

セキュア設定コマンドで変更しても良いです。

mysql_secure_installation

AmazonLinux2 MariaDB install mysql_secure_installation

 

その後、作業用(リモートアクセス用)のMariaDBユーザーを作成します。

CREATE USER 'ユーザー名' IDENTIFIED BY 'パスワード';

権限も調整します。

GRANT ALL PRIVILEGES ON *.* TO 'ユーザー名'@'%' WITH GRANT OPTION;

※ホスト名は’%’を指定すると、IPアドレスでのアクセス許可となります。


EC2 セキュリティグループ 設定

次は、EC2に立てたMariaDBに、外部からアクセスするための設定を

EC2セキュリティグループで指定します。

セキュリティタブのセキュリティグループ名リンクなどから、

セキュリティーグループのページに移動します。

AWS EC2 security group inbound MariaDB 3306

インバウンドルール部分のインバウンドのルールを編集ボタンより、設定を追加します。

AmazonLinux2 MariaDB securitygroup inbound rule

  • タイプ:MySQL/Aurora
  • プロトコル:TCP
  • ポート:3306

アクセス可能なIPアドレスの指定を自己のIPなどで指定すると安全です。

0.0.0.0でオールフリーとなりますが、自己責任で指定してください。

AmazonLinux2 MariaDB securitygroup inbound rule

※MariaDBのポートを変更している場合、変更したものに合わせます。

ポートの確認は、以下で確認するか、my.cnfで設定されているポート番号を確認します。

show variables like 'port';

AmazonLinux2 MariaDB securitygroup inbound rule

全て設定できたら、開発環境のSQLクライアントなどで接続します。

  • Host:パブリック IPv4 アドレス
  • Port:MariaDBとセキュリティグループで許可済みのポート番号
  • ユーザー:作成したアクセス用ユーザー

EC2 Mariadb remote ssh DBeaver


今回のメモは以上となります。

EC2でDBサーバーを立てるのは、

コスト削減か、演習サーバー用など限られているとは思いますが、

立てる際には、参考にして頂ければと思います。

都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 164

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る