Azure Database for PostgreSQL - フレキシブル サーバーで移行サービス用に Azure CLI を設定する方法

Azure CLI は、リソースを作成および管理するために Azure サービス全体で使用される一連のコマンドです。 Azure portal と同じ機能を備えていますが、コマンドライン環境での作業を好むユーザー向けに最適化されています。 Azure CLI を使用して移行を開始するには、ローカル コンピューターに Azure CLI をインストールする必要があります。

前提条件

  • Azure CLI をインストールする: お使いのオペレーティング システムに応じて、Azure CLI をダウンロードしてインストールします。 これは Windows、macOS、Linux 向けに提供されています。
  • Azure CLI インストール ガイド: Azure CLI のインストールに関する Azure の公式ドキュメント (「Azure CLI をインストールする方法」) に記載されている手順を実行してください。
  • Azure CLI のバージョンを確認する: 移行サービスに必要であるため、Azure CLI バージョンが少なくとも 2.56.0 以降であることを確認します。 現在のバージョンを確認するには、コマンド az --version を使用します。
  • Azure にサインインする: インストールしたら、az login を実行して認証します。 これにより、既定のブラウザーが開き、自分の Azure 資格情報を使用してサインイン プロセスが完了します。

これらの手順で、Azure CLI を使用して Azure Database for PostgreSQL の移行サービスを効果的に管理するための環境を準備します。 インストール プロセスの更新または変更については、常に最新の Azure ドキュメントを参照してください。

移行サービスの CLI コマンドを設定する

すべての CLI コマンドは、az postgres flexible-server migration から始まります。 また、さまざまなオプションを理解し、CLI コマンドの正しい構文をフレーミングするのに役立つヘルプ ステートメントも用意されています。

CLI がインストールされたら、コマンド プロンプトを開き、以下のコマンドを使用して Azure アカウントにログインします。

az login

移行コマンド

移行サービスには、PostgreSQL インスタンスを Azure Database for PostgreSQL - フレキシブル サーバーに移行するのに役立つ次のコマンドが用意されています。

ヘルプ コマンド

Azure CLI の --help コマンドは、操作に必要な動詞など、コマンドとそのサブコマンドに関する詳細なドキュメントを提供する役立つオプションです。 –-help コマンドを実行すると、Azure Database for PostgreSQL の移行サービスに必要なコマンドとそれに関連付けられたアクションを表示できます。

az postgres flexible-server migration –-help

この出力では、Azure CLI を使用してデータベースの移行を効果的に管理するために必要な手順とパラメーターが案内されています。

Create コマンド

Azure CLI の az postgres flexible-server migration create コマンドは、新しい移行ワークフローを開始するために使用されます。 これにより、ソース PostgreSQL インスタンスからターゲットの Azure Database for PostgreSQL - フレキシブル サーバー インスタンスへのデータベースの移行が容易になります。 このコマンドを実行すると、スムーズで効率的な移行プロセスを確保するために必要なパラメーターと構成を設定できます。

詳細については、「az postgres flexible-server migration create」を参照してください

一覧表示コマンド

az postgres flexible-server migration list コマンドは、Azure Database for PostgreSQL ターゲットに対して行われたすべての移行試行を一覧表示するために使用されます。 このコマンドを使用すると、開始された移行の概要を把握し、各移行試行の状態と詳細を追跡できます。

詳細については、「az postgres flexible-server migration list」を参照してください

表示コマンド

az postgres flexible-server migration show コマンドは、進行中の移行を監視するのに役立ち、移行の現在の状態とサブ状態を示します。 これらの詳細には、移行の現在の状態とサブ状態に関する情報が含まれます。

詳細については、「az postgres flexible-server migration show」を参照してください

移行の状態には、次のものがあります。

移行の状態

State 説明
InProgress 移行インフラストラクチャのセットアップが進行中、または実際のデータ移行が進行中です。
取り消されました 移行が取り消されたか削除されました。
Failed 移行は失敗しました。
Validation Failed 検証が失敗しました。
Succeeded 移行が成功し、完了しました。
WaitingForUserAction オンライン移行にのみ適用されます。 ユーザー アクションがカットオーバーを実行するのを待機しています。

移行サブ状態

下位状態 説明
PerformingPreRequisiteSteps データ移行のためのインフラストラクチャのセットアップが進行中です。
Validation in Progress 検証を実行中です。
MigratingData データ移行が進行中です。
CompletingMigration 移行は完了の最終段階です。
完了 移行が完了しました。
Failed 移行は失敗しました。

検証のサブ状態

下位状態 説明
Failed 検証が失敗しました。
Succeeded 検証が成功しました。
警告 検証で警告が発生しています。

Update コマンド

az postgres flexible-server migration update コマンドは、Azure Database for PostgreSQL フレキシブル サーバーへの移行プロセスを管理するために使用されます。 具体的には、次の用途に使用できます。

  • 一括移行を実行する: これにより、データベース トラフィックがソース サーバーからターゲット フレキシブル サーバーに切り替わり、移行プロセスが完了します。
    • 基本データの移行が完了すると、その移行タスクは WaitingForCutoverTrigger サブ状態に移動します。 この状態では、ユーザーは移行グリッドで移行名を選ぶか、CLI を使ってポータルから一括移行をトリガーできます。
    • 一括移行を開始する前に、次のことを確認するのが重要です。
      • ソースへの書き込みが停止されています
      • latency 値が 0 または 0 に近くに減少しています
      • latency 値は、ターゲットがソースと最後に同期した時期を示します。 この時点で、ソースへの書き込みを停止し、一括移行を開始することができます。 ソースに大量のトラフィックがある場合は、最初に書き込みを停止して、Latency が 0 に近づいてから、一括移行を開始することをお勧めします。
      • 一括移行操作では、ソースからターゲットへの保留中のすべての変更が適用され、そして移行が完了します。 Latency がゼロではなくても "一括移行" をトリガーした場合、レプリケーションはその時点までで停止します。 その場合、一括移行の時点までのソース上のすべてのデータが、ターゲットに適用されます。 たとえば、一括移行の時点で待ち時間が 15 分の場合、過去 15 分間のすべての変更データがターゲットに適用されます。
  • 移行を取り消す: 必要に応じて、このオプションを使用して移行プロセスを停止できます。
  • ソース側で論理レプリケーションをセットアップする: これは、フレキシブル サーバーへのデータ レプリケーションのためにサーバーを準備するので、ソース サーバーが Azure Database for PostgreSQL - 単一サーバーである場合に便利です。

詳細については、「az postgres flexible-server migration update」を参照してください

まとめ

次の表は、移行コマンドで使用されるパラメーターをまとめたものです。

パラメーター 関連するコマンド 説明
subscription create、list、show、update PostgreSQL フレキシブル サーバーのサブスクリプション ID
resource-group create、list、show、update PostgreSQL フレキシブル サーバーのリソース グループ
name create、list、show PostgreSQL フレキシブル サーバーの名前
migration-name create、show、update フレキシブル サーバーに対して試行された移行に対する一意識別子。 このフィールドで使用できる文字は英数字のみで、ハイフン (-) 以外の特殊文字は使用できません。 名前の先頭に - を付けることはできません。また、1 つのフレキシブル サーバー ターゲットへの 2 つの移行に、同じ名前をつけることはできません。
filter list 移行をフィルター処理するには、2 つの値 (Active と All) がサポートされています
help create、list、show、update 各コマンドに関する情報が表示されます。
migration-mode create これは省略可能なパラメーターです。 使用できる値は offline、online です。 既定値: オフライン。
migration-option create 移行をトリガーする前に検証を実行できます。 既定値は ValidateAndMigrate です。 使用できる値は、Migrate、Validate、ValidateAndMigrate です。
properties create ソース、ターゲット サーバー、移行するデータベース、SSL モード、ソースの種類の定義に関する情報が含まれる JSON ファイルへの絶対パス

JSON ファイルの詳細

az postgres flexible-server migration create コマンドには、--properties パラメーターの一部として JSON ファイルのパスが必要です。これには、ソース データベース サーバーのリソース ID、管理者の資格情報、移行するデータベース、その他の重要な設定など、移行の構成の詳細が含まれています。 さまざまなプロパティを次に示します。

プロパティ名 説明
sourceDbServerResourceId オンプレミス、Azure 仮想マシン (VM)、AWS_RDS の形式のソース サーバーの詳細 - <<hostname or IP address>>:<<port>>@<<username>>。 ソース サーバーが Azure Database for PostgreSQL - 単一サーバーの場合、リソース ID の形式は /subscriptions/<<Subscription ID>>/resourceGroups/<<Resource Group Name>>/providers/Microsoft.DBforPostgreSQL/servers/<<PostgreSQL Single Server name>> です
adminCredentials このパラメーターは、ソース サーバーとターゲット PostgreSQL フレキシブル サーバーの両方の管理者ユーザーのパスワードを一覧表示します。 これらのパスワードは、ソース サーバーとターゲットの両方のサーバーに対する認証に役立ちます。 これには 2 つのサブプロパティ sourceServerPasswordtargetServerPassword が含まれています
targetServerUserName 既定値は、PostgreSQL ターゲット フレキシブル サーバーの作成時に作成された管理者ユーザーであり、指定されたパスワードは、このユーザーに対する認証に使用されます。
dbsToMigrate フレキシブル サーバーに移行するデータベースのリストを指定します。 一度に含めることができるデータベース名は最大 8 個です。 DB の一覧を配列形式で指定します。
overwriteDBsInTarget true (既定値) に設定すると、移行しようとしているものと同じ名前の既存のデータベースがターゲット サーバーにある場合、移行サービスによってそのデータベースが自動的に上書きされます
migrationRuntimeResourceId 移行にランタイム サーバーを使用する必要がある場合は必要です。 形式は /subscriptions/<<Subscription ID>>/resourceGroups/<<Resource Group Name>>/providers/Microsoft.DBforPostgreSQL/flexibleServers/<<PostgreSQL Flexible Server name>> です。
sourceType 必須の パラメーター。 値には、on-premises、AWS_RDS、AzureVM、PostgreSQLSingleServer を指定できます
sslMode 移行用の SSL モード。 PostgreSQLSingleServer の SSL モードは VerifyFull であり、他のソースの種類の場合は Prefer/Require です。