Cloud SQL では、インスタンスをオンデマンドでバックアップするか、バックアップ スケジュールを使用して自動でバックアップできます。インスタンスで使用できるバックアップ構成は、インスタンスのバックアップ オプションによって異なります。Cloud SQL のバックアップは増分バックアップであり、失われたデータを Cloud SQL インスタンスに復元する場合に役立ちます。バックアップも、デフォルトで Google 管理の暗号鍵または顧客管理の暗号鍵(CMEK)を使用して暗号化されます。バックアップを使用すると、次のことができます。
- インスタンスに問題が発生した場合に、インスタンスを以前の状態に復元できます。
- 別のリージョンまたはゾーンのバックアップを使用して新しいインスタンスを作成し、障害復旧(DR)を設定できます。
- バックアップを使用して複数のインスタンスを作成し、開発、テスト、移行に役立てられます。
このようなバックアップを保持するには、インスタンスのバックアップ保持設定を定義します。保持設定は、インスタンスの Cloud SQL エディションとバックアップ オプションによって異なります。また、インスタンスの削除後にバックアップを保持することにより、削除後にインスタンスを復元することもできます。
バックアップ オプション
Cloud SQL には、インスタンスのバックアップを管理する 2 つのバックアップ サービス オプションがあります。
- 拡張バックアップ: バックアップは、Backup and DR サービスを利用する一元化されたバックアップ管理プロジェクトで管理および保存がされ、保持期間の適用、詳細なスケジュール設定、モニタリングができます。
- 標準バックアップ: バックアップは Cloud SQL インスタンスと同じプロジェクトで作成、管理、保存されます。これは既存の Cloud SQL バックアップ サービスであり、現在は標準バックアップと呼ばれています。
インスタンスごとにバックアップ オプションを選択する必要があります。各バックアップ オプションとその機能の詳細については、バックアップ オプションを選択するをご覧ください。
バックアップ リクエストの種類
Cloud SQL インスタンスのオンデマンド バックアップ、自動バックアップ、最終バックアップを作成できます。これらのバックアップで使用できる構成は、インスタンスで選択したバックアップ オプションによって異なります。
オンデマンド バックアップ
オンデマンド バックアップは、いつでも作成できるバックアップです。データベース上でリスクの高いオペレーションを実行しようとしている場合や、バックアップの時間枠まで待たずにバックアップを作成したい場合に便利です。オンデマンド バックアップは、インスタンスで自動バックアップが有効かどうかにかかわらず、すべてのインスタンスで作成できます。
自動バックアップ
自動バックアップは、インスタンスの実行中に、1 時間ごと、毎日、毎週、毎月などのスケジュールされた頻度で実行されます。スケジュールの頻度は、インスタンスで選択したバックアップ オプションと、選択したバックアップ オプションのバックアップ構成で定義した頻度によって異なります。バックアップは、バックアップ時間枠内に開始されます。
インスタンスが停止すると、追加の自動バックアップが作成され、インスタンスが停止する前にすべての変更が保護されます。自動バックアップの保持は、インスタンスで選択したバックアップ オプションで構成されている保持ポリシーによって異なります。可能な場合は、インスタンスのアクティビティが少ない時間帯にバックアップをスケジュールすることをおすすめします。
自動バックアップはポイントインタイム リカバリのサポートに必要なため、手動で削除しないことをおすすめします。
インスタンスの自動バックアップを構成するには、自動バックアップを構成するをご覧ください。
最終バックアップ
最終バックアップでは、インスタンスを削除する前に Cloud SQL インスタンスのバックアップを作成できます。これは、インスタンスを削除した後にインスタンス データを保持する場合に便利です。最終バックアップを使用して、新しいインスタンスを作成するか、既存のインスタンスに復元できます。最終バックアップの詳細にアクセスして表示する方法については、最終バックアップのリストを表示するをご覧ください。
インスタンスを削除するときに最終バックアップを自動的に作成するようにインスタンスを設定するには、インスタンスの最終バックアップを有効にします。インスタンスの最終バックアップを有効にするときに、最終バックアップの保持期間を設定することもできます。インスタンスで最終バックアップを有効にしていない場合は、インスタンスを削除するときに最終バックアップを作成することもできます。最終バックアップはプライマリ インスタンスでのみ使用でき、レプリカではサポートされていません。また、Cloud SQL カスタム組織のポリシーを設定して、組織内のすべてのインスタンスでインスタンス削除時に最終バックアップを作成し、標準の保持期間を設定することもできます。詳細については、一般的なユースケースのカスタム組織ポリシーの例をご覧ください。
デフォルトでは、Cloud SQL は最終バックアップを 30 日間保持します。ただし、Cloud SQL によるバックアップの保持期間はカスタマイズできます。標準バックアップの場合は 1 日から 365 日、拡張バックアップの場合は 1 日から 99 年の範囲で指定できます。この期間バックアップが利用可能であれば、いつでもバックアップからインスタンスを復元できます。最終バックアップは他のバックアップと同様に、保持日数に基づいて料金が発生します。
標準バックアップ オプションを使用して、新しいインスタンスまたは既存のインスタンスで最終バックアップを有効にする方法については、最終バックアップを構成するをご覧ください。拡張バックアップの場合、最終バックアップは関連付けられたバックアップ プランによって管理されます。
インスタンスの削除後に最終バックアップを管理するには、削除されたインスタンスのバックアップを管理するをご覧ください。
バックアップの保持期間
バックアップの保持は、バックアップ リクエストのタイプと、インスタンスで選択したバックアップ オプションによって定義されます。自動バックアップの場合、インスタンスのバックアップ オプションに応じて、保持期間は 7 日間から 99 年間の範囲で設定できます。オンデマンド バックアップの場合、バックアップは削除されるまで無期限に保存されます。インスタンスのバックアップ オプションに関連するバックアップ保持の詳細については、バックアップ オプションを選択するをご覧ください。
インスタンスの削除後もバックアップを保持する
保持されたバックアップは、インスタンスの削除後に Cloud SQL によって保持されるバックアップです。これらのバックアップは、オンデマンド バックアップと、インスタンスが稼働中に作成された自動バックアップで構成されます。インスタンスを削除すると、これらのバックアップはインスタンスから独立し、プロジェクト レベルで保存されます。保持されたバックアップは、インスタンスの削除時に取得された最後のバックアップである最終バックアップとは異なります。
これらのバックアップの説明を更新すると、 Google Cloud プロジェクトでバックアップを簡単に管理できます。保持されたバックアップは、いつでも新しい Cloud SQL インスタンスまたは既存の Cloud SQL インスタンスに復元できます。
これらのバックアップでは、保持期間はバックアップのタイプによって定義され、インスタンスの削除後に変更することはできません。標準バックアップの場合、オンデマンド バックアップはバックアップを手動で削除するか、バックアップを含むプロジェクトを削除するまで、無期限に保持されます。拡張バックアップの場合、オンデマンド バックアップは選択した保持ルールに基づいて保持されます。自動バックアップは、インスタンスの削除後より 1 日 1 つのバックアップが段階的に削除されます。このローリング期間は削除前のインスタンスの保持設定に基づいて定義され、インスタンスで選択したバックアップ オプションに応じて、1 日から 99 年の範囲となります。たとえば、インスタンスの自動バックアップの保持設定が 7 に設定されている場合、最新の自動バックアップはインスタンスの削除から 7 日後に削除されます。
保持されたバックアップはいつでも手動で削除できます。ただし、保持されたバックアップを削除すると、削除されたバックアップは復元できません。
標準バックアップの場合、インスタンス名は Cloud SQL でインスタンスが削除された後に使用できるため、保持されたバックアップは instance_deletion_time
というフィールドを使用してGoogle Cloud プロジェクトに保存されます。このフィールドを使用すると、特定のバックアップがライブ インスタンスに属しているか、削除されたインスタンスに属しているかを特定できます。バックアップの説明を更新して、管理を容易にすることもできます。
標準バックアップ オプションを使用して、新しいインスタンスまたは既存のインスタンスで保持されたバックアップを有効にする方法については、保持されたバックアップを構成するをご覧ください。拡張バックアップの場合、保持されたバックアップは関連付けられたバックアップ プランによって管理されます。
インスタンスの削除後に保持されたバックアップを管理するには、削除されたインスタンスのバックアップを管理するをご覧ください。
バックアップの復元
また、自動バックアップ ポリシーの一部として使用できる正常なバックアップがない場合は、Cloud SQL はすべてのアクティブなインスタンスに対して最後に実施された日次バックアップを少なくとも 1 つ保持しようと試みます。このバックアップを復元目的で使用するには、Google Cloud カスタマーケアにお問い合わせください。
バックアップとデータの完全性チェック
Cloud SQL はバックグラウンドでのデータベース完全性チェックを自動的に実行し、データの完全性の潜在的な問題を特定します。完全性チェックは、お客様が開始したバックアップまたは復元バックアップのサンプリングを復元することで、オフライン プロセスとして行われます。
レプリカのバックアップ
レプリカ インスタンスではバックアップを使用できません。レプリカ インスタンスはプライマリ インスタンスのコピーであるため、バックアップはプライマリ インスタンスで維持されます。フェイルオーバーまたは切り替えによりレプリカ インスタンスがスタンドアロン インスタンスに昇格すると、そのインスタンスでバックアップが有効になり、独自のバックアップ構成が必要になります。昇格したレプリカは、プライマリ インスタンスのバックアップ構成を継承せず、プライマリ インスタンスのバックアップにはアクセスできません。
バックアップとエクスポート
バックアップは、保持ポリシーに従って Cloud SQL によって管理され、Cloud SQL インスタンスとは別に保存されます。Cloud SQL バックアップは、ライフサイクルを管理する Cloud Storage にアップロードされるエクスポートとは異なります。バックアップにはインスタンスのディスク全体が含まれます。エクスポートでは特定のコンテンツを選択できます。
バックアップや復元のオペレーションを使用してデータベースを新しいバージョンにアップグレードすることはできません。バックアップから復元できるのは、バックアップ作成時と同じデータベース バージョンのインスタンスに限られます。
新しいバージョンにアップグレードするには、データベースをエクスポートして新しい Cloud SQL インスタンスにインポートします。バックアップ サイズ
Cloud SQL バックアップは最初のバックアップを除きすべての増分バックアップとなります。バックアップには、前回のバックアップの作成後に変更されたデータのみが含まれます。最も古いバックアップはデータベースと同様のサイズですが、その後のバックアップのサイズはデータを変更した割合によって異なります。最も古いバックアップが削除されると、その次に古いバックアップのサイズが増加してフル バックアップになり、バックアップ間の差分を埋めるように調整されます。以降の各増分バックアップも、新しいフル バックアップに合わせて更新されます。
個々のバックアップのサイズを確認できます。バックアップ サイズは、各バックアップの課金対象となるサイズを表します。
トラブルシューティング
問題 | トラブルシューティング |
---|---|
現在のオペレーションのステータスを確認できない。 | Google Cloud コンソールでは、オペレーションの完了時に成功または失敗のみが表示されます。警告やその他の情報を表示するように設計されていません。 特定の Cloud SQL インスタンスのすべてのオペレーションを確認するには、 |
オンデマンド バックアップ オペレーションを開始したユーザーを確認したい。 | オペレーションを開始したユーザーはユーザー インターフェースに表示されません。 ユーザーを特定するには、ログを表示してテキストでフィルタします。個人情報の監査ログが必要になる場合があります。関連するログファイルは次のとおりです。
|
インスタンスを削除すると、その後インスタンスのバックアップを作成できない。 | データの最終バックアップを作成せずにインスタンスを削除すると、データを復元できなくなります。ただし、インスタンスを復元すると、Cloud SQL はバックアップも復元します。削除したインスタンスの復元について詳しくは、インスタンスの削除後もバックアップを保持するをご覧ください。 エクスポートを行っていれば、新しいインスタンスを作成してインポートを行い、データベースを再作成できます。エクスポートでは Cloud Storage への書き込みが行われ、インポートでは Cloud Storage からの読み取りが行われます。 |
自動バックアップが長時間停止していて、キャンセルできない。 | データベースのサイズによっては、バックアップに時間がかかる可能性があります。 オペレーションをキャンセルする必要がある場合は、カスタマー サポートにインスタンスの |
SQL ダンプファイルで参照されているユーザーが存在しない場合、復元オペレーションが失敗する可能性があります。 | SQL ダンプを復元する前に、オブジェクトを所有しているデータベース ユーザーか、ダンプされたデータベース内のオブジェクトに対する権限が付与されているデータベース ユーザーが、ターゲット データベース内に存在している必要があります。そうでない場合、復元オペレーションを実行すると、元の所有権または権限でのオブジェクトの再作成に失敗します。 SQL ダンプを復元する前に、データベース ユーザーを作成します。 |
自動バックアップの保持日数を 7 日から 30 日以上に増やしたい。 | 保持する自動バックアップ数を構成できますが、デフォルト値(7 件)未満の数は保持できません。自動バックアップは、構成された保持値に基づいて定期的に削除されます。復元可能な自動バックアップは、現在表示されているバックアップだけです。 バックアップを無期限に保持する場合は、オンデマンド バックアップを作成します。オンデマンド バックアップは、自動バックアップと同じ方法では削除されません。オンデマンド バックアップは無期限に維持されます。つまり、削除されるか、所属するインスタンスが削除されるまで保持されます。このタイプのバックアップは自動的に削除されないため、課金に影響する可能性があります。 |
自動バックアップが失敗したときにメール通知を受信できない。 | Cloud SQL からバックアップのステータスの通知を受信するには、ログベースのアラートを構成します。 |
Transact-SQL RESTORE コマンドや SQL Server Management Studio(SSMS)を使用してインスタンスを復元することはできません。 |
Cloud SQL は、SSMS を介したインスタンスの復元をサポートしていません。インスタンスを復元するには、gcloud sql import コマンドを実行します。 |
インスタンスの削除時に最終バックアップを作成することを選択した場合、インスタンスを削除できない。 |
インスタンスを削除する際は、削除前にインスタンスの最終バックアップを作成するかどうかを確認する必要があります。final-backup インスタンス設定を使用して最終バックアップを有効にした場合、インスタンスを削除するときに選択する内容は、インスタンスの最終バックアップを有効にしたときに設定した最終バックアップ インスタンス構成と一致する必要があります。この問題を軽減するには、次のいずれかを行います。
|
最終バックアップ設定でプライマリ インスタンスを正常に作成した後、レプリカ インスタンスを作成できません。 |
最終バックアップ インスタンスの設定を有効にして新しいインスタンスを作成する場合は、最終バックアップの組織のポリシーを更新して、バックアップ構成をプライマリ インスタンスにのみ適用する必要があります。レプリカ インスタンスでは最終バックアップはサポートされていません。 詳細については、Cloud SQL の組織のポリシーをご覧ください。 |
次のステップ
- Cloud SQL インスタンスのバックアップ オプションを選択します。
- 復元の詳細をご確認ください。
- バックアップから復元する