Azure CLI と REST API を使用して Azure Database for MariaDB の読み取りレプリカを作成および管理する方法

重要

Azure Database for MariaDB は、提供終了予定です。 Azure Database for MySQL に移行することを強くお勧めします。 Azure Database for MySQL への移行の詳細については、「Azure Database for MariaDB の動作」を参照してください

この記事では、Azure CLI と REST API を使用して Azure Database for MariaDB サービスの読み取りレプリカを作成および管理する方法を説明します。

Azure CLI

Azure CLI を使用して、読み取りレプリカを作成して管理できます。

前提条件

重要

読み取りレプリカ機能は、汎用またはメモリ最適化の価格レベルの Azure Database for MariaDB サーバーにのみ使用可能です。 ソース サーバーがこれらの価格レベルのいずれであるかを確認します。

読み取りレプリカを作成します

重要

既存のレプリカがないソースのレプリカを作成すると、ソースは最初に、レプリケーションの準備をするために再起動します。 これを考慮して、これらの操作はオフピーク期間中に実行してください。

読み取りレプリカ サーバーは、次のコマンドを使用して作成できます。

az mariadb server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup

az mariadb server replica create コマンドには、次のパラメーターが必要です。

設定 値の例 説明
resource-group  myresourcegroup  レプリカ サーバーを作成するリソース グループ。 
name mydemoreplicaserver 作成する新しいレプリカ サーバーの名前。
source-server mydemoserver レプリケート元の既存のソース サーバーの名前または ID。

リージョンをまたがる読み取りレプリカを作成するには、--location パラメーターを使用します。

次の CLI の例では、米国西部にレプリカを作成します。

az mariadb server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus

Note

レプリカを作成できるリージョンの詳細については、読み取りレプリカの概念に関する記事を参照してください。

Note

マスターと同じサーバー構成で、読み取りレプリカが作成されます。 作成された後、レプリカ サーバーの構成を変更できます。 レプリカが確実にマスターに追随できるように、レプリカ サーバーの構成をソースと同じかそれ以上の値にしておくことをお勧めします。

ソース サーバーのレプリカを一覧表示する

特定のソース サーバーのレプリカをすべて表示するには、次のコマンドを実行します。

az mariadb server replica list --server-name mydemoserver --resource-group myresourcegroup

az mariadb server replica list コマンドには、次のパラメーターが必要です。

設定 値の例 説明
resource-group  myresourcegroup  レプリカ サーバーを作成するリソース グループ。 
server-name mydemoserver ソース サーバーの名前または ID。

レプリカ サーバーへのレプリケーションを停止します。

重要

サーバーへのレプリケーションの停止は、元に戻すことができません。 ソースとレプリカの間のレプリケーションを停止すると、元に戻すことはできません。 レプリカ サーバーはスタンドアロン サーバーになり、読み取りと書き込みをサポートするようになります。 このサーバーをもう一度レプリカにすることはできません。

読み取りレプリカ サーバーへのレプリケーションは、次のコマンドを使用して停止できます。

az mariadb server replica stop --name mydemoreplicaserver --resource-group myresourcegroup

az mariadb server replica stop コマンドには、次のパラメーターが必要です。

設定 値の例 説明
resource-group  myresourcegroup  レプリカ サーバーが存在するリソース グループ。 
name mydemoreplicaserver レプリケーションを停止するレプリカ サーバーの名前。

レプリカ サーバーを削除します

読み取りレプリカ サーバーの削除は、az mariadb server delete コマンドを使用して実行できます。

az mariadb server delete --resource-group myresourcegroup --name mydemoreplicaserver

ソース サーバーを削除する

重要

ソース サーバーを削除すると、すべてのレプリカ サーバーへのレプリケーションを停止し、ソース サーバー自体を削除します。 これでレプリカ サーバーは、読み取りと書き込みの両方をサポートするスタンドアロン サーバーになります。

ソース サーバーを削除するには、az mariadb server delete コマンドを実行します。

az mariadb server delete --resource-group myresourcegroup --name mydemoserver

REST API

Azure REST API を使用して、読み取りレプリカを作成して管理できます。

読み取りレプリカを作成します

作成 API を使用して、読み取りレプリカを作成できます。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}"
  }
}

注意

レプリカを作成できるリージョンの詳細については、読み取りレプリカの概念に関する記事を参照してください。

汎用またはメモリ最適化ソース サーバーで azure.replication_support パラメーターを [レプリカ] に設定しておらず、サーバーを再起動していない場合は、エラーを受け取ります。 レプリカを作成する前に、この 2 つの手順を済ませておいてください。

レプリカは、マスターと同じコンピューティングとストレージの設定を使用して作成されます。 レプリカが作成されたら、ソース サーバーとは独立していくつかの設定 (コンピューティング世代、仮想コア、ストレージ、バックアップ保持期間) を変更できます。 価格レベルも独立して変更できます (Basic レベルへの変更や Basic レベルからの変更を除く)。

重要

ソース サーバーの設定が新しい値に更新される前に、レプリカの設定をそれと同等以上の値に更新します。 このアクションは、レプリカがマスターに対するあらゆる変更に追従できるようにするのに役立ちます。

レプリカの一覧表示

レプリカ一覧表示 API を使用して、ソース サーバーのレプリカの一覧を表示できます。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}/Replicas?api-version=2017-12-01

レプリカ サーバーへのレプリケーションを停止します。

更新 API を使用して、ソース サーバーと読み取りレプリカの間のレプリケーションを停止できます。

ソース サーバーと読み取りレプリカへのレプリケーションを停止した後、それを元に戻すことはできません。 読み取りレプリカは、読み取りと書き込みの両方をサポートするスタンドアロン サーバーになります。 スタンドアロン サーバーをもう一度レプリカにすることはできません。

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

ソースまたはレプリカ サーバーの削除

ソースまたはレプリカ サーバーを削除するには、削除 API を使用します。

ソース サーバーを削除すると、すべての読み取りレプリカへのレプリケーションが停止されます。 読み取りレプリカは、読み取りと書き込みの両方をサポートするようになったスタンドアロン サーバーになります。

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}?api-version=2017-12-01

次のステップ