データのインポートとエクスポートに関するベスト プラクティス

このページでは、Cloud SQL を使用してデータをインポートおよびエクスポートする際のベスト プラクティスについて説明します。Cloud SQL にデータをインポートする手順については、データのインポートをご覧ください。データが Cloud SQL にある場合も、お客様が管理しているインスタンスにある場合も、データをエクスポートするための手順については、データのエクスポートをご覧ください。

インポートとエクスポートのベスト プラクティス

データをインポートおよびエクスポートする際に考慮すべきベスト プラクティスは次のとおりです。

Cloud Storage リクエスト元による支払いバケットを使用しない

Cloud SQL からのインポートとエクスポートに、リクエスト元による支払いが有効になっている Cloud Storage バケットは使用できません。

SQL ダンプファイルの作成時に正しいフラグを使用する

コスト削減のためデータを圧縮する

Cloud SQL では、圧縮ファイルと非圧縮ファイルの両方のインポートとエクスポートがサポートされています。特に大きいインスタンスをエクスポートするときは、圧縮すると Cloud Storage のストレージ スペースを大幅に節約でき、ストレージ コストの削減にもなります。

BAK ファイルをエクスポートする場合は、.gz ファイル拡張子を使用してデータを圧縮します。ファイル拡張子 .gz のファイルは、インポートすると自動的に解凍されます。

長時間にわたるインポートおよびエクスポート プロセスの削減

インポート機能(Cloud Storage バケット経由)を使用した Cloud SQL へのインポートとエクスポートは、データベースのサイズによっては、完了するまでに時間がかかる場合があります。その結果、次の影響があります。

  • 長時間実行されている Cloud SQL インスタンス オペレーションを停止することはできません。
  • 各インスタンスに対して実行できるインポートまたはエクスポートのオペレーションは、一度に 1 つのみです。

Cloud SQL のインポートまたはエクスポート機能をバッチサイズのより小さいデータで使用して、各オペレーションの完了に要する時間を短縮できます。

インポートしたデータベースを確認する

インポートが完了したら、データベースに接続し、該当するデータベース コマンドを実行して内容が正しいことを確認します。たとえば接続して、データベース、テーブル、特定のエントリを一覧表示します。

既知の制限事項

Cloud Storage は、最大 5 テラバイトの単一オブジェクト サイズをサポートしています。5 TB を超えるデータベースがある場合は、Cloud Storage へのエクスポート オペレーションは失敗します。その場合は、エクスポート ファイルを小さなセグメントに分割する必要があります。

エクスポート オペレーションの自動化

Cloud SQL にはデータベースのエクスポートを自動化するための組み込みの機能はありませんが、いくつかの Google Cloud コンポーネントを使用して、独自の自動化ツールを構築できます。詳細については、このチュートリアルをご覧ください。

トラブルシューティング

インポート オペレーションのトラブルシューティング

問題 トラブルシューティング
インポート オペレーションに時間がかかりすぎる。 アクティブな接続が多すぎると、インポート オペレーションが妨げられる可能性があります。

未使用のオペレーションを終了します。Cloud SQL インスタンスの CPU とメモリの使用量をチェックして、十分なリソースがあることを確認します。インポートに最大限のリソースを確保するため、オペレーションを開始する前にインスタンスを再起動することをおすすめします。

再起動により、次の処理が行われます。

  • すべての接続を終了します。
  • リソースを消費している可能性のあるタスクをすべて終了します。
ダンプファイルで参照しているユーザーが存在しない場合、インポート オペレーションが失敗することがある。 ダンプファイルをインポートする前に、オブジェクトを所有しているデータベース ユーザーか、ダンプされたデータベース内のオブジェクトに対する権限が付与されているデータベース ユーザーがターゲット データベース内に存在している必要があります。そうでない場合、インポート オペレーションを実行すると、元の所有権または権限でのオブジェクトの再作成に失敗します。

インポートする前に、データベース ユーザーを作成します。

エクスポート オペレーションのトラブルシューティング

問題 トラブルシューティング
エクスポートが完了する前にオペレーションがタイムアウトすると、Could not receive data from client: Connection reset by peer. というエラー メッセージが表示されます。 Cloud Storage が所定の時間(通常は約 7 分)内にデータを受信しないと、接続はリセットされます。最初のエクスポート クエリは、非常に時間がかかる可能性があります。

pg_dump ツールを使用して、手動でエクスポートします。

エクスポートを自動化したい。 Cloud SQL には、エクスポートを自動化する方法がありません。

自動バックアップの自動化に関する記事のように、Google Cloud プロダクト(Cloud Scheduler、Pub/Sub、Cloud Functions)を使用して、独自の自動エクスポート システムを構築できます。

次のステップ