sql >> データベース >  >> RDS >> Database

TimescaleDBバックアップをクラウドに保存するためのヒント

    Daniel Keys Moranは、「情報なしでデータを入手することはできますが、データなしで情報を入手することはできません」と述べています。データはすべての組織の重要な資産です。データを失うと、情報も失われます。これは、ひいては、悪いビジネス上の決定につながる可能性があり、ビジネスが運営できなくなる可能性さえあります。データのディザスタリカバリ計画を立てることは必須であり、クラウドはここで特に役立ちます。クラウドストレージを活用することで、バックアップデータを保存するためのストレージを準備したり、高価なストレージシステムに前もってお金をかけたりする必要がなくなります。 AmazonS3とGoogleCloudStorageは、信頼性が高く、安価で、耐久性があるため、優れたオプションです。

    以前、PostgreSQLバックアップをAWSとGCPに保存することについて書きました。それでは、TimescaleDBデータのバックアップをAWSS3とクラウドストレージに保存するためのヒントをいくつか見てみましょう。

    AWSS3バケットの準備

    AWSは、AWSS3でデータを管理するためのシンプルなウェブインターフェースを提供します。バケットという用語は、ファイルシステムストレージという従来の用語の「ディレクトリ」に似ており、オブジェクトの論理コンテナです。

    S3で新しいバケットを作成するのは簡単です。S3メニューに直接移動して、以下に示すように新しいバケットを作成できます。

    バケット名を入力する必要があります。名前はグローバルに一意です。名前空間としてのAWSは、すべてのAWSアカウントで共有されます。インターネットからバケットへのアクセスを制限することも、ACL制限を使用してバケットを公開することもできます。暗号化は、バックアップデータを保護する上で重要な方法です。

    GoogleCloudストレージバケットの準備

    GCPでクラウドストレージを設定するには、[ストレージ]カテゴリに移動し、[ストレージ]->[バケットの作成]を選択します。 Amazon S3と同様に、バケット名を入力します。バケット名もGCPでグローバルに一意です。

    バックアップを保存する場所を選択してください。場所には3つのタイプがあります。単一のリージョン、デュアルリージョン、またはマルチリージョンに保存できます。

    バケットのストレージクラスのタイプを選択します。4つのカテゴリがあります。それは;標準、ニアライン、コールドライン、およびアーカイブ。各カテゴリには、データを取得する方法とコストに関する基準があります。

    バケットの暗号化、保持ポリシーに関連するいくつかの詳細設定がありますおよびアクセス制御。

    クラウドストレージユーティリティの構成

    AWS CLIは、コマンドラインを介してS3、EC2、セキュリティグループ、VPCなどのAWSサービスとやり取りするためにAWSが提供するインターフェースです。ファイルをS3に転送する前に、バックアップファイルが存在するノードでAWSCLIを設定できます。ここでAWSCLIのインストール手順に従うことができます。

    以下のコマンドを実行して、AWSCLIのバージョンを確認できます。

    [email protected]:~# /usr/local/bin/aws --version
    
    aws-cli/2.1.7 Python/3.7.3 Linux/4.15.0-91-generic exe/x86_64.ubuntu.18 prompt/off

    その後、サーバーからアクセスキーとシークレットキーを次のように構成する必要があります。

    [email protected]:~# aws configure
    
    AWS Access Key ID [None]: AKIAREF*******AMKYUY
    
    AWS Secret Access Key [None]: 4C6Cjb1zAIMRfYy******1T16DNXE0QJ3gEb
    
    Default region name [None]: ap-southeast-1
    
    Default output format [None]:

    これで、バックアップを実行してバケットに転送する準備が整いました。

    $ aws s3 cp “/mnt/backups/BACKUP-1/full-backup-20201201.tar.gz” s3://s9s-timescale-backup/

    上記のコマンドのシェルスクリプトを作成し、毎日実行するようにスケジューラを構成できます。

    GCPにはGSUtilツールが用意されており、コマンドラインからCloudStorageにアクセスできます。 GSUtilのインストール手順はここにあります。インストール後、gcloudinitを実行してGCPへのアクセスを設定できます。

    [email protected]:~# gcloud init

    URLにアクセスして認証コードを追加することで、GoogleCloudへのログインを求めるメッセージが表示されます。

    すべての構成が完了したら、次のコマンドを実行して、クラウドストレージへのバックアップ転送を実行できます。

    [email protected]:~# gsutil cp /mnt/backups/BACKUP-1/full-backup-20201201.tar.gz gs://s9s-timescale-backup/

    ClusterControlを使用してバックアップを管理する

    ClusterControlは、TimeScaleDBバックアップのクラウドへのアップロードをサポートしています。現在、Amazon AWS、Google Cloud Platform、およびMicrosoftAzureをサポートしています。クラウドへのTimescaleDBバックアップを構成するのは非常に簡単です。次に示すように、TimescaleDBクラスターのバックアップに移動してバックアップを作成できます。

    「クラウドへのバックアップのアップロード」オプションを有効にして、続行します。クラウドプロバイダーを選択し、アクセスキーと秘密キーを入力するように求められます。この場合、クラウドのバックアッププロバイダーとしてAWSS3を使用します。

    最後に、以前に作成されたバケットを選択します。バックアップの保持とバックアップのスケジュールは次のように構成できます。


    1. AWSでのOracleデータベースのMySQLへの移行、パート2

    2. PostgresまたはCouchDBでの全文検索?

    3. PostgreSQLの監査ログ

    4. テーブルから重複する行を削除する