MySQL Database Service (MDS)を使ってみた

こんにちは。Oracle Cloud Infrastructure(OCI)特集 編集部です。

少し間が空いてしまったのですが、
9/24 にOCIでMySQLのマネージドサービスである「MySQL Database Service (略してMDS)」が
東京リージョンで使用可能となりました。



当社ではOracle DatabaseのマネージドサービスであるDBCSをよく使用していたのですが、
これを機にMDSも使っていきたいと思います!

マニュアル
https://docs.cloud.oracle.com/en-us/iaas/mysql-database/index.html
まだ日本語マニュアルは無いのかな…英語マニュアルを翻訳して見ています。

今回は実際にMDSのDBを作成して接続するところまでやってみたいと思います。

DBを作成

メニューから「MySQL」⇒「DBシステム」を選択します。


「MySQL DBシステムの作成」をクリックします。


DBシステムの基本情報の入力画面が表示されます。
ここでは例として下記のように入力しています。
・DBシステムの名前:testdb
・説明:テスト用MDS

フォルトドメインやシェイプも任意で選べるようですね。
データストレージサイズはデフォルトの 50 GBとし、
「次」をクリックします。


※ちなみに、シェイプは下記のように選択可能です。


続いてDBの情報入力画面が表示されます。
例として、
ユーザ名:admin
パスワード:※任意で入力
パスワードの確認:※パスワードと同じように入力
ホスト名:testdbsv

※VCNやサブネットは任意のものを選択します。
 「MySQLポート」や「MySQL Xプロトコル・ポート」はデフォルトのままとします。

「次」をクリックします。


最後はバックアップの設定画面になります。
デフォルトで「自動バックアップの有効化」にチェックが入っており、
バックアップ保持期間は「7」日となっていたので、そのままにします。

バックアップ・ウィンドウの開始時間についてですが、
デフォルトでUTC0:00だと嫌だなーと思ったので
「バックアップ・ウィンドウの開始時間」には18:00 UTC (日本時刻で朝3:00)としました。
「作成」をクリックします。


作成が開始されました。


作成が完了したようです。
アクティブになるまで約20分ぐらいかかったかな…。


画面左下の「エンドポイント」をクリックすると
右側にDBへ接続するためのホスト名等が表示されます。
※ホスト名はここでは「testdbsv.sbnpubtest.vcntest.oraclevcn.com」となっています。

DBへの接続

MDSはパブリックサブネットに作ったとしても
パブリックIPは付与されないし、付与できないようです。
よって踏み台となるLinuxサーバを作成し、そこからMDSに接続します。

※サーバは同じサブネット内に作成した「Oracle Linux 7.8」インスタンスを使用しています。

とりあえずMDSのホスト名にpingをうってみました。応答があるみたいですね。

[opc@testlisv ~]$ ping -c 4 testdbsv.sbnpubtest.vcntest.oraclevcn.com
PING testdbsv.sbnpubtest.vcntest.oraclevcn.com (10.0.0.3) 56(84) bytes of data.
64 bytes from testdbsv.sbnpubtest.vcntest.oraclevcn.com (10.0.0.3): icmp_seq=1 ttl=64 time=0.309 ms
64 bytes from testdbsv.sbnpubtest.vcntest.oraclevcn.com (10.0.0.3): icmp_seq=2 ttl=64 time=0.266 ms
64 bytes from testdbsv.sbnpubtest.vcntest.oraclevcn.com (10.0.0.3): icmp_seq=3 ttl=64 time=0.323 ms
64 bytes from testdbsv.sbnpubtest.vcntest.oraclevcn.com (10.0.0.3): icmp_seq=4 ttl=64 time=0.233 ms

--- testdbsv.sbnpubtest.vcntest.oraclevcn.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3048ms
rtt min/avg/max/mdev = 0.233/0.282/0.323/0.041 ms
[opc@testlisv ~]$

下記のマニュアルに習って、MySQL clientをインストールします。
https://docs.cloud.oracle.com/en-us/iaas/mysql-database/doc/connecting-db-system.html#MYAAS-GUID-1AEF626B-F504-4F04-8721-65E4BC35FED7
※所々で y/N の入力を聞かれますが、y を入力します。

[opc@testlisv ~]$ sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

~中略~

完了しました!
[opc@testlisv ~]$
[opc@testlisv ~]$ sudo yum install mysql

~中略~

完了しました!
[opc@testlisv ~]$

上記のように「完了しました!」が表示されていればOKかと思います。
それではmysqlコマンドで接続を試みます。
※”–host”の後にはMDSのホスト名を、”-u”の後には前の手順でDB作成時に設定したユーザ名を入力しています。

[opc@testlisv ~]$ mysql --host testdbsv.sbnpubtest.vcntest.oraclevcn.com -u admin -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 8.0.22-u2-cloud MySQL Enterprise - Cloud

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

接続できました!
とりあえず「show databases;」とか実行してみます。

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.02 sec)

mysql>

ここからはMySQLの操作ですね。

最後に

MySQL Database Service (MDS)ですが、あっさりとMySQLのDBを作成できますね。

ちなみに、DBCS(Oracle Databaseのマネージドサービス)と比較した感想は次の通りです。
パブリックIPを付与できないため、接続は踏み台サーバ経由で行う必要がある。
 ※これはセキュリティを考えた結果のようです。たしかにDBがパブリックIPを持つのは危険ですよね…。
・MySQLサーバへのssh接続・操作はできない
モニタリング機能で監視できる!(DBCSは出来ないんですよね…。)
価格が安い
 ※確認した限りでは、E2シェイプの 1 OCPUで 1か月間丸々使って¥4,169でした。

次回以降ではバックアップやモニタリングについて書きたいと思います!