Azure Database for MySQL flexible serverを立ててみた

 

今回はAzure Database for MySQL flexible serverを構築してみました。

公式サイトによると、Azure Database for MySQL flexible serverはデータベース管理機能と構成設定のよりきめ細かな制御と柔軟性を提供するように設計されたフル マネージド データベース サービスです。との記載があります。

      • Azure Database for MySQL flexible serverの概要(公式サイト)

https://docs.microsoft.com/ja-jp/azure/mysql/flexible-server/overview

違いがいまいちよく分からないですね。。。

Azure VM+My SQLがセットで提供されるものと考えれば大体あってそうな気がします。

それゆえにゾーン冗長の高可用性や停止伴い課金も停止する等Azure Database for MySQLとの違いがあります。

またすべてのレベルでVNET統合(サブネットの委任設定が必要)出来るのは非常にありがたい所です。

ただパラメータについては表示をされるものの、操作出来ない部分も多くありこの編は難しい所です。

※2020年10月末時点では本機能はプレビュー段階です。

1.Azure Database for MySQL flexible serverを作ってみる

Azure Poratalを使って、Azure Database for MySQL flexible serverを作ってみます。

1)Azure PoratalでAzure Database for MySQL flexible serverのメニューを開きます。追加クリックします。。

2)Azure データベースの選択画面になりますので、フレキシブルサーバにある作成をクリックします。

3)基本設定が表示されます。まず最初のサイズの選択を行います。リージョンを選択後にサーバの構成をクリックします。

4)コンピューティングとストレージを選択します。

      • コンピューティングとストレージで設定する項目
        • Compute Tier:VM SKU を選択。(Bシリーズ、Dシリーズ、Eシリーズの対応)
        • コンピューティングサイズ:CPUとメモリの選択
        • ストレージサイズ:DBのサイズ
        • バックアップ:バックアップの保存期間
        • バックアップ冗長オプション:バックアップの冗長可否

詳細は下記に記載されておりますが、コンピューティングサイズによってIOPSの制限値が異なるのでこの点は注意が必要です。

      • コンピューティングとストレージのオプション

https://docs.microsoft.com/ja-jp/azure/mysql/flexible-server/concepts-compute-storage

5)基本設定画面で残りの項目を設定します。

      • 基本で設定する項目
        • リソースグループ
        • サーバ名
        • リージョン
        • ワークロードの種類(4で設定済み)
        • コンピューティングとストレージ(4で設定済み)
        • High Avalabilty
        • My SQLバージョン(現在は5.7固定)
        • 管理者ユーザー名
        • パスワード

6)ネットワークの設定です。接続方法と接続するネットワークやIPを選択します。

今回はプライベートアクセス(VNET統合を選択します)

      • ネットワークで設定する項目
        • 接続方法:パブリックアクセスもしくはVNETからのアクセス
        • 接続許可:パブリックアクセスの場合は接続元IP、VNETからのアクセスの場合は統合するVNETおよびサブネット

VNET統合する場合に指定するサブネットはMicrosoft.DBforMySQL/flecibleserverをサービス委任しておく必要があります。

.

7)タグの設定です。適時必要に応じて設定します。

8)確認画面が表示されますので、作成をクリックします。

これで作成作業は完了です。

2.Azure Database for MySQL flexible serverを簡単に触ってみました

簡単に触ってみた所こんな感じでした。

      • Azure Monitorに設定できる項目はAzure Database for MySQLと同じ
      • 5.7のみサポート(2020年10月末現在)
      • 簡単なSQLを使って応答速度を見てみた所、Azure Database for MySQLとパフォーマンスは変わらなかった
      • 待機時CPU使用率が高い(何もしてなくてもCPU使用率が5%を超えている)
      • 接続時のUserNameの後に@HOST名をつける必要が無い。
      • 設定できるパラメータが増えている。ただ設定変更を失敗するケースが多い。(プレビューなので諦める)
      • require_secure_transportがONになっており変更できない。(これちょっと面倒です。)
      • 開発レベルからレプリカを利用可能(ただレプリケーション先のリージョンは選べず、削除もレプリカ先のDBを直接削除)

コスト的なメリットもあり使い勝手も良いので開発環境はこれで使うのは非常に良いかと思いました。今後もう少し触ってみたい所です。