Azure Database for MySQL フレキシブル サーバーの概要、インスタンス作成、設定手順

2020-11-06Azure,Database For MySQL

Azure Database for MySQL フレキシブル サーバーの概要から、サーバーインスタンス作成、インスタンス作成後の基本的な設定までの手順です。

サーバーインスタンス作成時に設定する、サーバーの構成、ネットワーク設定、追加の構成設定の内容についても確認しています。
サーバーインスタンス作成後の基本的な設定では、メンテナンス時間の設定、データベースの作成手順、MySQLのバージョンアップデート手順などを紹介します。

※本記事では、Azure Database for MySQL Flexible ServerをAzure Database for MySQL フレキシブル サーバーとして表記しています。

スポンサーリンク

Azure Database for MySQL フレキシブル サーバーとは

Azure Database for MySQLとは

Azure Database for MySQL とは

Azure Database for MySQLは、PaaS(Platform as a Service)として提供されるリレーショナルデータベースサービスです。
MySQL Community Edition をベースとしています。
バックアップやパッチ適用といった運用作業も、プラットフォーム側のサービスとして提供されます。

※変更できないサーバーパラメータがあるなど、機能制限される部分があります。

Azure Database for MySQLの単一サーバーは廃止されています

Azure Database for MySQLでは、以前は単一サーバーとフレキシブル サーバーの2種類がありました。
現在は、フレキシブル サーバーのみが提供されています。

Azure Database for MySQL – シングル サーバーの現状

※単一サーバーは2024年9月16日に廃止されています。

Azure Database for MySQL フレキシブル サーバーとは

Azure Database for MySQL フレキシブル サーバーは、データベースやサーバーインスタンスの運用管理機能がセットになったフルマネージドデータベースサービスです。
MySQL Community Edition をベースとしたデータベースや管理機能、パッチ適用、バックアップなどの運用管理機能がサービスとして提供されます。
ゾーン冗長による高可用性、Geo冗長バックアップ、読み取り専用レプリカといった高可用性・冗長性の構成も可能です。

Azure Database for MySQL – フレキシブル サーバーとは

イメージ的には、OSに触れることのない仮想マシン(Azure VM)に、MySQL、バックアップ、冗長化、パッチ適用といった運用がセットで構成されているサービスという所になります。

コンピューティングとストレージに対して課金が発生する

Azure Database for MySQL フレキシブル サーバーは、コンピューティングとストレージに対して課金が発生します。
バックアップストレージに対する課金も発生します。

Azure Database for MySQL の価格

ストレージについては、IOPSに対しても課金が発生します。
IOPSには、自動スケールIOPSと事前プロビジョニング済みIOPSの2つのモードがあり、選択したモードに応じてIOPSの課金が発生します。
また、高可用性を有効にすると、コンピューティングの課金は2倍となります。

停止することで課金を止めることができる

Azure Database for MySQL フレキシブル サーバーを停止することにより、コンピューティング層の課金を止めることができます。
ストレージに対する課金は、継続して発生するので、完全に課金が止まる訳ではありません。

オンデマンド サーバーの停止/開始

Runbookを利用してAzure Database for MySQL フレキシブル サーバーの起動停止をスケジュール化する方法については、こちらで紹介しています。

※停止後30日間経過したら、自動的に起動します。

サーバーインスタンス作成後に、サーバー名、ネットワーク接続方法、バックアップ冗長は変更できない

サーバーインスタンス作成後に変更できない設定内容があります。
サーバー名、ネットワーク接続方法、バックアップ冗長については、変更できません。
HA(高可用性)の無効化はリソース作成後でも変更可能ですが、ゾーン冗長高可用性の有効化はリソース作成時にのみ設定できます。

リソース作成時のメッセージ
リソース作成時に注意メッセージが表示されます。 Azure Database for MySQL Flexible Serverのリソース作成後に変更できない項目(Azure Database for MySQL フレキシブル サーバーのリソース作成手順)

—広告—

Azure Database for MySQL フレキシブル サーバーの作成手順

公式サイトの手順を参考に、サーバーインスタンスを作成します。

クイック スタート:Azure portal を使用して Azure Database for MySQL フレキシブル サーバーを作成する

各設定項目の詳細については、公式サイトを参照ください。

作成したサーバーインスタンスの設定値

今回作成したAzure Database for MySQL フレキシブル サーバーの主な設定内容です。
MySQLバージョンは、アップデート手順確認のため、8.0を選択しています。
8.0は2026年中に標準のサポートが切れるため、選択する場合は注意が必要です。

Azure Database for MySQL バージョンサポート ポリシー

  • 基本設定
区分 項目 設定値
サーバーの詳細 サーバー名 mysql-01
MySQLバージョン 8.0
コンピューティング Compute tier 汎用目的, D2ads_v5(2 個の仮想コア)
ストレージ ストレージ サイズ 20GiB
IOPS 事前プロビジョニング済みのIOPS
360
高速ログ チェックなし
ストレージの自動拡張 チェックあり
高可用性 高可用性 ゾーン冗長
バックアップ バックアップ保有期間 7日間
バックアップ冗長オプション Geoゾーン冗長
Geo 冗長性 チェックあり(リージョンの停止または障害からの回復)
認証 認証方法 MySQLの認証のみ
  • ネットワーク設定
区分 項目 設定値
ネットワーク接続 接続方法 プライベート アクセス (VNET 統合)
データベースのポート 3306
仮想ネットワーク 仮想ネットワーク 同じリージョンの仮想ネットワークを指定
サブネット サブネットを指定

DBforMySQL/flexibleServers(サブネットをサービスに委任)
プライベート DNS 統合 プライベート DNS ゾーン mysql-01.mysql.database.azure.com
  • 追加の構成設定
区分 項目 設定値
サーバーパラメーター lower_case_table_names 1(既定値)
Data encryption データー暗号化キー
(プライマリリージョン)
サービス マネージド キー
データー暗号化キー
(ペアリングされたリージョン)
サービス マネージド キー

※タグについては未付与としています。

サーバーインスタンス作成時の画面

リソース作成は、5つのタブから構成されます。

  • 基本 : サーバー名、MySQLのバージョン、データベースアカウントなどの設定
    • サーバーの構成 : コンピューティングやストレージのサイズ、可用性、バックアップなどの設定
  • ネットワーク:接続方法やネットワークのアクセス許可設定
  • 追加の構成:lower_case_table_namesやデータベースとバックアップに使用されるストレージの暗号化設定
  • タグ:リソースに付与するタグの設定
  • 確認および作成:作成前の確認画面

Azure Database for MySQL フレキシブル サーバーのデプロイ方法

Azure Database for MySQL フレキシブル サーバーのサーバーインスタンス作成には、簡易作成、高度な作成の2種類あります。

簡易作成を選択した場合
Azure Database for MySQL フレキシブル サーバーで作成を選択します。 リソースを作成(Azure Database for MySQL Flexible Serverのリソース作成手順)
MySQL デプロイオプションの画面が表示されます。
簡易作成、高度な作成どちらかを選択します。

リソースのデプロイオプション選択画面(Azure Database for MySQL Flexible Serverのリソース作成手順)

Azure Database for MySQL フレキシブル サーバーで、簡易作成を選択した場合です。
設定すべき内容が省力化されています。
ネットワークの設定なども自動的に設定されます。

MySQLのワークロード選択肢

簡易作成モードを選択した場合の基本設定画面(Azure Database for MySQL Flexible Serverのリソース作成手順)
簡易作成モードを選択した場合の基本設定画面(Azure Database for MySQL Flexible Serverのリソース作成手順)

基本設定(サーバー名、MySQLバージョン、コンピューティングサイズ、ストレージ、バックアップ、認証などの設定)

MySQLデプロイオプションで、高度な作成を選択した場合です。
基本設定やサーバーの構成で、サーバー名、MySQLバージョン、認証、コンピューティングサイズ、ストレージのサイズ、可用性、バックアップなどの設定を行います。

基本設定、サーバーの構成設定
サーバーの詳細を設定する画面です。
サーバー名を入力し、リージョンを選択します。
MySQLバージョンを選択します。
サーバーの詳細設定(基本設定)(Azure Database for MySQL Flexible Serverのリソース作成手順)
選択可能なMySQLバージョン(Azure Database for MySQL Flexible Serverのリソース作成手順)
コンピューティングとストレージを設定します。
サーバーの構成を選択します。
サーバーの構成(Azure Database for MySQL Flexible Serverのリソース作成手順)
コンピューティングとストレージの設定画面が表示されます。
コンピューティングでは、Compute tierやコンピューティングサイズを選択します。
Compute tierによりますが、プロセッサの種類をIntelもしくはAMDから選択できます。
【Compute tierがバースト可能の場合】コンピューティングの設定画面(バースト可能選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)
【Compute tierが汎用の場合】コンピューティングの設定画面(汎用選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)
【Compute tierがメモリ最適化の場合】コンピューティングの設定画面(メモリ最適化選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)

高可用性では、ゾーン冗長の有無を選択します。
なお、ゾーン冗長の有無によりSLAが異なります。

Azure Database for MySQLでの高可用性

高可用性の設定画面(ゾーン冗長選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)
高可用性の設定画面(ゾーン冗長無効選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)

ストレージでは、ストレージのサイズ、IOPS、ストレージの自動拡張を設定します。

Azure Database for MySQL のストレージ IOPS

IOPSは自動スケールIOPSか、事前プロビジョニング済みのIOPSから選択します。
事前プロビジョニング済みのIOPSの場合は、デプロイするストレージのIOPSを設定します。

また、高速ログの有効無効も選択します。

Azure Database for MySQL のログの高速化

Compute tierがメモリ最適化の場合は、デフォルトで高速ログが有効化されています。

ストレージの設定画面(自動スケール選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)
ストレージの設定画面(事前プロビジョニング済みのIOPS選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)
バックアップ設定です。
バックアップの保有期間、バックアップの冗長性を選択します。
設定完了後、保存します。
バックアップの設定画面(Azure Database for MySQL Flexible Serverのリソース作成手順)
コンピューティングとストレージの設定内容が反映されているか確認します。 コンピューティングとストレージの設定後の画面例(Azure Database for MySQL Flexible Serverのリソース作成手順)
高可用性の設定画面例(Azure Database for MySQL Flexible Serverのリソース作成手順)

認証の設定では、認証方法の選択や、管理者アカウントのログインユーザー名、パスワードを指定します。
認証方法には、Microsoft Entra認証も利用できます。

認証設定画面(Azure Database for MySQL Flexible Serverのリソース作成手順)

ネットワークの設定

Azure Database for MySQL フレキシブル サーバーへのアクセス制限を設定します。
アクセス制限は、接続方法、ファイアウォール規則、仮想ネットワークなどを組み合わせて設定します。

Azure Database for MySQL の接続およびネットワークの概念

ネットワークの設定

ネットワークの設定です。
パブリックアクセスを許可するかを選択します。
パブリックアクセスを許可する場合は、ファイアウォール規則に接続を許可するIPアドレスを追加します。
現在のクライアントIPアドレスを追加すると、ClientIPAddressという名前の許可設定が作成されます。
また、プライベートエンドポイントを追加することもできます。

Azure Database for MySQL の公衆ネットワーク アクセス

【接続方法でパブリックアクセスを選択した場合】ネットワーク設定画面例(パブリックアクセス選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)
プライベートエンドポイント設定画面例(パブリックアクセス選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)
接続方法でプライベートアクセス(VNET統合)を選択した場合、統合する仮想ネットワークとサブネットを指定します。
統合するプライベートDNSゾーンも選択します。

Azure Database for MySQL – フレキシブル サーバーの仮想ネットワーク統合を使用したプライベート ネットワーク アクセス

【接続方法でプライベートアクセスを選択した場合】ネットワーク設定画面例(プライベートアクセス選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)

プライベートDNS統合設定(プライベートアクセス選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)

追加の構成を設定

データベースとバックアップに使用されるストレージの暗号化キーを選択します。
サービス マネージド キーとカスタマー マネージド キーから選択します。
カスタマー マネージド キーを使用したデータ暗号化の詳細については、こちらを参照してください。

カスタマー マネージド キー データ暗号化 – Azure Database for MySQL – フレキシブル サーバー

また、lower_case_table_namesのパラメーターを設定します。
lower_case_table_namesは、MySQLでテーブル名やデータベース名の大文字・小文字をどう扱うかを決める設定で、デフォルト値は1で区別しない設定となっています。
1、2共に大文字小文字を区別しないのですが、保存の仕方が異なります。1の場合は小文字で保存、2の場合はそのまま保存となっています。

Azure Database for MySQL – フレキシブル サーバーでの制限

追加の構成設定

データベースとバックアップに使用されるストレージの暗号化キーを選択します。
また、lower_case_table_namesのパラメーターを設定します。

追加の構成設定画面例(Azure Database for MySQL Flexible Serverのリソース作成手順)

※今回は、設定を変更せずにそのまま進めています。

サーバーインスタンス作成前の確認

確認画面で設定内容を確認し、サーバーインスタンスを作成します。

確認画面
確認画面です。
内容を確認し、問題がなければ作成を選択します。
リソース作成確認画面例(プライベートアクセス選択時)(Azure Database for MySQL Flexible Serverのリソース作成手順)

Azure Database for MySQL フレキシブル サーバーの設定を確認

作成したAzure Database for MySQL フレキシブル サーバーの設定を確認します。

作成したリソースの設定を確認
リソースの作成が完了すると、一覧に表示されます。
状態が準備完了になっていることも確認できます。
作成されたリソースを一覧表示(Azure Database for MySQL Flexible Serverのリソース作成手順)

コンピューティングとストレージのメニューでは、サーバー構成で設定した内容を確認できます。
コンピューティングサイズやプロセッサは変更できます。
ストレージサイズや、IOPSも変更できます。
但し、Compute tierは汎用からバースト可能へ変更できない、ストレージサイズは縮小できないなど制約もあるので注意が必要です。

 

コンピューティングとストレージの設定を表示(Azure Database for MySQL Flexible Serverのリソース作成手順)
コンピューティングとストレージの設定を表示(Azure Database for MySQL Flexible Serverのリソース作成手順)

ネットワークでは、設定したネットワークの内容を確認できます。
接続方法は、リソース作成後に変更することができません。

ネットワークの設定を表示(Azure Database for MySQL Flexible Serverのリソース作成手順)

高可用性のメニューでは、サーバー構成で設定した高可用性の内容を確認できます。
高可用性モードの無効化はリソース作成後でも変更可能です。
なお、ゾーン冗長高可用性はリソース作成時にのみ有効化でき、作成後に新規で有効化することはできません。
リソース作成後でも、ローカル冗長のHAは有効化可能です。
高可用性を有効にすると、スタンバイレプリカがプロビジョニングされます。

Azure Database for MySQL の高可用性 (HA) に関してよく寄せられる質問 (FAQ)

高可用性の設定を表示(Azure Database for MySQL Flexible Serverのリソース作成手順)

Azure Database for MySQL フレキシブル サーバーのバックアップリストア手順については、こちらで紹介しています。

Azure Database for MySQL フレキシブル サーバーのレプリケーション設定手順については、こちらで紹介しています。

メンテナンス時間の設定方法

Azure Database for MySQL フレキシブル サーバーでは、メンテナンス時間を1時間単位で選択できます。

Azure Database for MySQL でのスケジュールされたメンテナンス

メンテナンス時間設定
メンテナンスのメニューから設定できます。
メンテナンスポリシーでカスタムマネージドを選択すると、曜日と開始時刻を指定できます。
1時間単位での指定となります。
時間設定はUTCなので、注意が必要です。
メンテナンスパッチも選択することができます。
メンテナンスの設定を表示(Azure Database for MySQL Flexible Serverのリソース作成手順)
メンテナンスポリシーの設定でカスタムマネージドを設定する場合(Azure Database for MySQL Flexible Serverのリソース作成手順)
メンテナンスパッチの基本設定選択肢(Azure Database for MySQL Flexible Serverのリソース作成手順)

※Compute tierにバースト可能を選択した場合、メンテナンスポリシーにカスタムマネージドを選択できないなど制限があります。

MySQLのサーバー パラメーター設定

MySQLのサーバー パラメーターには変更可能なものと、変更できないものがあります。

Azure portal を使用して Azure Database for MySQL – フレキシブル サーバーのサーバー パラメータを構成する

サーバーパラメータの変更
サーバー パラメーターのメニューでは、サーバー パラメーターの一覧を表示できます。
サーバー パラメーターには、変更可能なものと変更できないもの(読み取り専用)があります。
動的パラメーターは保存後すぐに反映されますが、静的パラメーターの場合はサーバーの再起動が必要です。
静的パラメーターを変更して保存すると、再起動の確認が表示されます。
サーバーパラメーターの設定を表示(Azure Database for MySQL Flexible Serverのリソース作成手順)
読み取り専用となっているサーバーパラメーターの設定を表示(Azure Database for MySQL Flexible Serverのリソース作成手順)

データベースの追加、削除

Azure Portalからデータベースを追加、削除できます。
データベースの追加、削除は、Azure CLIなどのコマンドを使用して行うことも可能です。

Azure Database for MySQL フレキシブル サーバーでデータベースを作成して管理する

データベースを追加

データベースのメニューから追加を選択します。
データベース名を入力し、文字セットと照合順序を選択します。
保存すると、データベースが作成されます。
作成されたデータベースは一覧に表示されます。

また、ユーザーが作成したデータベースは削除することも可能です。

 

データベースを表示(Azure Database for MySQL Flexible Serverのリソース作成手順)
データベースを追加(Azure Database for MySQL Flexible Serverのリソース作成手順)
データベースを追加(Azure Database for MySQL Flexible Serverのリソース作成手順)

MySQLのバージョンをアップデート

MySQL8.0の標準サポートが切れることから、8.4へのバージョンアップが提供されています。

Azure Database for MySQL バージョンサポート ポリシー

MySQLのバージョンをアップデート
MySQLのバージョンにアップグレードが表示されています。
アップグレードするMySQLのバージョンを選択し、アップグレードを行います。
なお、注意点が表示されているので、バージョンアップ前に必ず確認するようにします。
MySQLのバージョンをアップグレード(Azure Database for MySQL Flexible Serverのリソース作成手順)
MySQLのバージョンをアップグレード(Azure Database for MySQL Flexible Serverのリソース作成手順)

—広告—

最後に

Azure Database for MySQL フレキシブル サーバーの概要からリソース作成、基本的な設定までの手順を簡単にまとめてみました。
コンピューティングサイズの選択、ストレージサイズ、ゾーン冗長なども簡単に設定でき、とても便利だと思いました。
ストレージサイズとIOPSを個別に設定できたりするのが使い勝手が良いと思いました。
メンテナンス時間の設定も可能なのが非常に良いと感じました。

引き続き、いろいろ試してみたいと思います。

Azure Database for PostgreSQL フレキシブル サーバーの概要やリソース作成手順については、こちらで紹介しています。

Azure Database for MySQL フレキシブルサーバーの開始、停止、情報取得時に使うコマンド一覧は、こちらで紹介しています。

スポンサーリンク