このページでは、Cloud Storage で Cassandra のバックアップをスケジュールする方法について説明します。この方法では、バックアップは指定した Cloud Storage バケットに保存されます。
Cassandra のバックアップをスケジュールするには、次の手順を行います。
- 次の create-service-accountコマンドを実行して、標準のroles/storage.objectAdminロールを持つ Google Cloud サービス アカウント(SA)を作成します。この SA ロールを使用すると、バックアップ データを Cloud Storage に書き込むことができます。hybrid-base-directory/hybrid-filesディレクトリで次のコマンドを実行します。./tools/create-service-account --env non-prod --dir ./service-accounts apigee-non-prodという名前の 1 つのサービス アカウントが作成され、ダウンロードした鍵ファイルが./service-accountsディレクトリに配置されます。 Google Cloud サービス アカウントの詳細については、サービス アカウントを作成して管理するをご覧ください。
- 上記の create-service-accountコマンドにより、サービス アカウントの秘密鍵を含む JSON ファイルが作成され、コマンドを実行したディレクトリに保存されます。以降のステップでこのファイルのパスが必要になります。
- Cloud Storage バケットを作成します。バケットに適したデータ保持ポリシーを指定してください。15 日のデータ保持ポリシーを使用することをおすすめします。
- overrides.yamlファイルを開きます。
- 次の cassandra.backupプロパティを追加してバックアップを有効にします。すでに構成されているプロパティは削除しないでください。パラメータcassandra: ... backup: enabled: true serviceAccountPath: SA_JSON_FILE_PATH dbStorageBucket: CLOUD_STORAGE_BUCKET_PATH schedule: BACKUP_SCHEDULE_CODE cloudProvider: "GCP" # For remote server backup set this to HYBRID (all caps) ...例... cassandra: storage: type: gcepd capacity: 50Gi gcepd: replicationType: regional-pd auth: default: password: "abc123" admin: password: "abc234" ddl: password: "abc345" dml: password: "abc456" nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-data backup: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my-cassandra-backup-sa.json" dbStorageBucket: "gs://myname-cassandra-backup" schedule: "45 23 * * 6" cloudProvider: "GCP" ... ここで
- 構成の変更を新しいクラスタに適用します。次に例を示します。$APIGEECTL_HOME/apigeectl apply --datastore -f YOUR_OVERRIDES_FILE ここで、YOUR_OVERRIDES_FILE は、編集したオーバーライド ファイルのパスです。 
- バックアップ ジョブを確認します。次に例を示します。kubectl get cronjob -n apigee NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE apigee-cassandra-backup 33 * * * * False 0 <none> 94s 
| プロパティ | 説明 | 
|---|---|
| backup:enabled | バックアップはデフォルトでは無効になっています。このプロパティを trueに設定する必要があります。 | 
| backup:serviceAccountPath | SA_JSON_FILE_PATH 
 相対ファイルパスを指定することもできます。このパスは、 | 
| backup:dbStorageBucket | CLOUD_STORAGE_BUCKET_PATH Cloud Storage バケットのパス。形式は  | 
| backup:cloudProvider | 
 Cloud Storage バックアップの場合は、プロパティを  リモート サーバーのバックアップの場合は、プロパティを  | 
| backup:schedule | BACKUP_SCHEDULE_CODE バックアップの開始時刻。標準の crontab 構文で指定します。デフォルト:  |