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 CLI 2.0 のインストール
- ソース サーバーとして使用される Azure Database for MariaDB サーバー 。
重要
読み取りレプリカ機能は、汎用またはメモリ最適化の価格レベルの 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
次のステップ
- レプリカの読み取り の詳細を確認する
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示