Azure Database for MySQL インスタンスをデプロイする

完了

Azure Database for MySQL は、MySQL Community Edition を基盤としたリレーショナル データベース サービスです。 これは、予測可能なパフォーマンスと動的なスケーラビリティを備えたミッション クリティカルなワークロードを処理できる、フル マネージドのサービスとしてのデータベース (DBaaS) オファリングです。

Azure Database for MySQL のデプロイ オプション

Azure で MySQL データベースをホストするには、フレキシブル サーバーデプロイ オプションを使用できます。 フレキシブル サーバー オプションには、次の機能があります。

  • データベース サーバーの制御とコストの最適化を強化します。
  • MySQL エンジンをカスタマイズしてアプリケーションを開発する機能。
  • ゾーン冗長の高可用性。
  • パッチとアップグレードのタイミングを制御するための管理メンテナンス期間。
  • チューニング用の構成パラメーター。

サーバー インスタンスをデプロイするためのコマンド

このユニットでは、Azure Database for MySQL - フレキシブル サーバー インスタンスをデプロイする手順について説明します。 実際には、いくつかの手順を実行するスクリプトの実行など、次のユニットで同様の手順を実行します。

Azure Database for MySQL - フレキシブル サーバー インスタンスをデプロイするには、最初にリソース グループを作成します。 次に、リソース グループにサーバー インスタンスを作成します。 最後に、インスタンスにアクセスするには、ファイアウォール規則を構成します。

次の手順では、これらのタスクのコマンドの概要を示します。

  1. Azure CLI にサインインするには、次のコマンドを使用します。

    az login
    
  2. Azure リソース グループを作成するには、次のコマンドを使用します。

    az group create \
        --name <resource-group-name> \
        --location <location>
    

    次の一覧では、 <...> プレースホルダーに使用する値について説明します。

    • <resource-group-name> は、サブスクリプション内で一意である必要があります。
    • <location>は、コマンド Nameを使用するときに、az account list-locations --output table列に返される値のいずれかである必要があります。
  3. Azure Database for MySQL - フレキシブル サーバー インスタンスを作成するには、次のコマンドを使用します。

    az mysql flexible-server create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --sku-name Standard_B1ms \
        --tier Burstable \
        --public-access <public-IP> \
        --storage-size 32 \
        --storage-auto-grow Enabled \
        --iops 500 \
        --version 8.0.21
    

    次の一覧では、前に説明した値に加えて、 <...> プレースホルダーに使用する値について説明します。

    • <MySQL-server-name> は、リソース グループ内で一意である必要があります。 名前に含めることができるのは、英小文字、数字、ハイフン (-) のみです。 名前の長さは 3 ~ 63 文字にする必要があり、便利な場合は、 <resource-group-name>に使用するのと同じ値を使用できます。
    • <MySQL-password> は管理者のパスワードです。 パスワードの長さは 8 ~ 128 文字にする必要があります。パスワードには、英語の大文字、英小文字、数字、英数字以外の 3 つのカテゴリの文字を含める必要があります。
    • <public-IP> は、Azure の外部で接続を許可するホスト名のパブリック IP アドレスです。これは、ローカル ホストからのデータベースのテストに使用されます。
  4. ファイアウォール規則を作成するには、前のコマンドと同じプレースホルダー値で次のコマンドを使用します。

    az mysql flexible-server firewall-rule create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --rule-name AllowAllAzureIPs \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    

Azure CLI を使用して接続し、接続をテストする

MySQL 8.0 以降、ユーザー認証方法は caching_sha2_password に変更され、 mysql_native_password 認証は使用できなくなります。 別の方法として、Azure CLI の az mysql flexible-server connect コマンドを使用して、データベース サーバーへの接続をテストし、基本的なデータベースをすばやく作成し、 mysql.exe または MySQL Workbench をインストールせずにサーバーに対して直接クエリを実行できます。 コマンドを対話モードで実行して、一度に複数のクエリを実行することもできます。

次のコマンドを使用して、前のコマンドと同じプレースホルダー値と新しい <database-name> 値を使用してデータベースを作成し、サーバーに接続し、クエリを実行します。

  1. データベースを作成するには、次のコマンドを使用します。

    az mysql flexible-server db create \
        --resource-group <resource-group-name> \
        --server-name <MySQL-server-name> \
        --database-name <database-name> \
        --charset utf8mb4 \
        --collation utf8mb4_unicode_ci
    
  2. 対話モードでサーバーに接続するには、次のコマンドを使用します。

    az mysql flexible-server connect \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --interactive
    
  3. クエリを実行するには、次のコマンドを使用します。

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --querytext "select * from table1;"
    

    または、ファイルにクエリを配置し、次のコマンドを使用してクエリを実行することもできます。

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --file-path "./test.sql"
    

ユニットの概要

Azure Database for MySQL - フレキシブル サーバー インスタンスを作成するコマンドについて学習しました。 次のユニットでは、Jakarta EE アプリケーションで使用するデータベースを作成して構成します。