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