AWS AuroraにMariaDBクライアントから接続して使用する


TL;DR

  • AWS Auroraをセットアップして,MariaDBクライアントから接続します
    • Auroraは,MySQL,postgresqlと互換性のある,フルマネージドなリレーショナルデータベースです

1. AWS Aurora概要

  • AWS Auroraの使用を開始するは,MySQL, postgresqlと互換性のある(クエリを実行できる),RDBサービスです
    • 各種Webアプリのデータベース・エンドポイント(接続先)として使用できます
  • フルマネージドなので,DBのために,EC2の仮想マシンを立ち上げたり,管理したりする必要がありません

2. 実験概要

  1. 無料使用枠内には収まらないので,必要な分だけ使用する,スケーラブル構成でAuroraをセットアップします
  2. t2.smallインスタンスから,mysqlコマンド(Mariadb)で接続します

3. AWS Auroraのセットアップ

  • [AWS Auroraの使用を開始する]をクリックしてスタート
  • [データベースの作成]ボタンをクリック
  • エンジンの選択: [Amazon Aurora]を選択
    • エディションは[MySQL 5.6 との互換性]がチェックされていることを確認
    • [次へ]をクリック
  • 設定(前半)
    • Capacity type: [Serverless]を選択
  • 設定(後半)
    • DB インスタンス識別子:適当にユニークな名前を入力 ([hogehuga-fugahoge-190313]など)
    • マスターユーザの名前,マスターパスワードとその確認:適切なものを決めて入力
    • [次へ]をクリック
  • ネットワーク&セキュリティ
    • VPCとサブネットグループは,デフォルトのまま
    • パブリックアクセシビリティは「いいえ」(同じVPCのVMからアクセスする)
    • VPCセキュリティグループは,Auroraのポート(3306など)へのアクセスが有効になるものを選ぶ
    • [削除保護の有効化]のチェックを外す(実験後に削除するので)
    • [データベースの作成]をクリック
  • 「DB インスタンスを作成中です」と表示されしばらく待つ(〜5分)
  • 「DB インスタンスの詳細を表示」をクリックし,「DB インスタンスのステータス」が「利用可能」になったら使用できる

4. EC2インスタンスのセットアップ

EC2インスタンスの起動

  • AWS EC2から,[インスタンスの作成]をクリック
  • マシンイメージ(AMI)として,[Amazon Linux 2 AMI (HVM), SSD Volume Type]を選択
  • インスタンスタイプで[t2.small]を選択.[次の手順]をクリック.
  • ストレージを汎用SSDで50GB程度確保しておく
  • セキュリティグループを適当に(インバウンドsshの22番ポートを開けておくくらい)設定する
  • [起動]をクリックして,キーペアを適当に設定して,インスタンスを起動する

仮想マシンにSSHでログイン

ssh -i keypair.pem ec2-user@[インスタンスのパブリックIPアドレス]

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
5 package(s) needed for security, out of 8 available
Run "sudo yum update" to apply all updates.

VMセットアップ

VMは,アップデートと,MariaDBクライアント,開発ツール(コンパイラ等)をインストールします.

sudo yum -y update
sudo yum -y install mariadb
sudo yum -y groupinstall 'Development tools'

auroraへの接続テスト

mysqlコマンドで,auroraに接続する

  • 下記の[ユーザ名],[パスワード]は, auroraセットアップ時に入力したものを入力します
  • [auroraエンドポイント]はAmazon RDSダッシュボードのauroraのエンドポイントを使用します
    • [hogehuga-fugahoge-190320.ap-northeast-1.rds.amazonaws.com]など,インスタンス識別子とアベイラビリティゾーンから構成される文字列です
mysql -u [ユーザ名] \
      -h [auroraエンドポイント] \
      -p
Enter password: [パスワードを入力]
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Server version: 5.6.10 MySQL Community Server (GPL)
...<snip>...
MySQL [(none)]> show databases; -- データベースリストを表示
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

データベースの作成,削除

auroraの使用終了

  • aws auroraのコンソールから,削除したいDB識別子を選択し,[アクション]から[削除]を実行します
  • [DBクラスターの削除]をクリックすると,データベースのステータスが[削除中]になり,しばらくするとリストから消えます

参考