インスタンスのクローンを作成する

このページでは、Cloud SQL インスタンスのクローンの作成方法について説明します。

Cloud SQL インスタンスのクローンを作成すると、ソース インスタンスのコピーであるが完全に独立した新しいインスタンスが作成されます。クローン作成の完了後にソース インスタンスを変更してもクローンに反映されることはなく、その逆も同様です。

ソース インスタンスの構成(アクティベーション ポリシー、データベース フラグ、接続など)はクローンにコピーされます。インスタンス IP アドレスとレプリカはコピーされません。これらのアイテムは明示的にクローンで構成する必要があります。インスタンスのクローンを作成しても、既存のバックアップのクローンは作成されません。

レプリカのクローンを作成することはできません。別のインスタンスからクローン作成されたインスタンスのクローンを作成することは可能です。

過去の時点におけるインスタンスのクローンを作成することができます。これは、破壊的なイベントからデータベースを回復するのに役立ちます。詳しくは、ポイントインタイム リカバリを行うをご覧ください。

第 2 世代インスタンスのクローンを作成する

Console

  1. Google Cloud Platform Console で Cloud SQL の [インスタンス] ページに移動します。

    [Cloud SQL インスタンス] ページに移動

  2. クローン作成元のインスタンスを見つけ、そのリストの右端にあるその他の操作メニューを開きます。

    その他メニューの画像

  3. [クローンを作成] をクリックします。
  4. [クローンの作成] ページで、必要に応じてインスタンス ID を更新し、[クローンを作成] をクリックします。[最新状態のインスタンスを複製] は選択されたままにしておきます。

    クローンの初期化中に、インスタンスの一覧ページに戻ります。

gcloud

インスタンスのクローンを作成します。

gcloud sql instances clone [SOURCE_INSTANCE_NAME] [TARGET_INSTANCE_NAME]

cURL

インスタンスのクローンを作成します。

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"cloneContext": {"destinationInstanceName": "[TARGET_INSTANCE_NAME]" }}' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[SOURCE_INSTANCE_NAME]/clone

第 1 世代インスタンスを作成する

Console

  1. Google Cloud Platform Console で Cloud SQL の [インスタンス] ページに移動します。

    [Cloud SQL インスタンス] ページに移動

  2. クローンを作成する第 1 世代のインスタンスを見つけ、そのリストの右端にあるその他の操作メニューを開きます。

    その他メニューの画像

  3. [クローンを作成] を選択します。
  4. インスタンスのバックアップがなく、またバイナリログが有効になっていない場合は、すぐに有効にし、[次へ]、[バックアップを待機] をクリックします。バックアップ期間の後で、クローンを作成するタスクを最初から再開します。

    クローン ステッパーでの有効化されたバックアップの画像

  5. インスタンス ID を更新できる [クローンの作成] ページが表示されたら、必要に応じて更新し、[クローンを作成] をクリックします。

    最終クローン作成ページの画像

    クローンの初期化中に、インスタンスの一覧ページに戻ります。

gcloud

  1. インスタンスの詳細を取得します。
    gcloud sql instances describe [INSTANCE_NAME]
    
  2. backupConfiguration の下で binaryLogEnabledenabled の値を見つけます。
  3. 値のいずれも有効になっていない場合は、すぐに有効にします。
    1. バックアップを有効にします。
      gcloud sql instances patch [INSTANCE_NAME] --backup-start-time [HH:MM]
      
    2. バイナリログを有効にします。
      gcloud sql instances patch [INSTANCE_NAME] --enable-bin-log
      
  4. バックアップもバイナリログも有効になっていなかった場合は、バックアップが取得されるのを待ちます。

    バックアップ ウィンドウにより、これに最長で 1 日かかることがあります。

  5. インスタンスのクローンを作成します。
    gcloud sql instances clone [SOURCE_INSTANCE_NAME] [TARGET_INSTANCE_NAME]
    

cURL

  1. 現在のバックアップ設定の値を取得します。
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[SOURCE_INSTANCE_NAME]?fields=settings
    

    出力に backupConfiguration が含まれます。

    "backupConfiguration": [
     {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": false,
        "binaryLogEnabled": false
     }
    
  2. enabledbinaryLogEnabled のいずれかが false の場合は、インスタンス リソースの patch メソッドを使用して、これらを両方とも有効にします。バックアップ設定のプロパティについて、現状を維持するものと、変更するものを指定します。

    バックアップを有効にするには、enabledtrue に設定し、startTime にバックアップの時間枠の開始時刻を設定します。バイナリログを有効にするには、binaryLogEnabledtrue に設定します。

    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"settings" : {"backupConfiguration" : {"startTime": "[HH:MM]", "enabled": true, "binaryLogEnabled": true}}}' \
         -X PATCH \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[SOURCE_INSTANCE_NAME]
    
  3. バックアップもバイナリログも有効になっていなかった場合は、バックアップが取得されるのを待ちます。

    バックアップ期間によっては、これに最長で 1 日かかることがあります。

  4. インスタンスのクローンを作成します。
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"cloneContext": {"kind": "sql#cloneContext",
                  "destinationInstanceName": "[TARGET_INSTANCE_NAME]" }}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[SOURCE_INSTANCE_NAME]/clone
    
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...