翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Neptune DB クラスターのバックアップと復元の概要
このセクションでは、Amazon Neptune でのデータのバックアップおよび復元に関する基本情報について説明します。
トピック
Neptune DB クラスターの耐障害性
Neptune DB クラスターは、耐障害性を持つように設計されています。クラスターボリュームは 1 つの AWS リージョン内の複数のアベイラビリティーゾーンにまたがり、各アベイラビリティーゾーンにはクラスターボリュームデータのコピーが含まれます。この機能は、DB クラスターがデータ喪失なしでアベイラビリティーゾーンの障害に耐えることができ、発生するのはサービスの短時間の中断のみであることを意味します。
DB クラスターのプライマリインスタンスが失敗した場合、Neptune は以下のいずれかの方法で、新しいプライマリインスタンスに自動的にフェイルオーバーします。
既存の Neptune レプリカを新しいプライマリインスタンスに昇格する
新しいプライマリインスタンスを作成する
DB クラスターに 1 つ以上の Neptune レプリカがある場合は、障害発生中に 1 つの Neptune レプリカがプライマリインスタンスに昇格されます。障害イベントによって短い中断が発生し、その間例外によって読み取りと書き込みオペレーションが失敗します。ただし、一般的なサービスの復元時間は 120 秒未満であり、多くの場合 60 秒未満で復元されます。DB クラスターの可用性を高めるために、複数のアベイラビリティーゾーン内で少なくとも 1 つ以上の Neptune レプリカを作成することをお勧めします。
各レプリカに優先度を割り当てることで、Neptune レプリカがプライマリインスタンスに昇格される順序をカスタマイズできます。優先度の範囲は、最も高い 0 から最も低い 15 までです。プライマリインスタンスが失敗した場合、Neptune は最も高い優先度の Neptune レプリカを新しいプライマリインスタンスに昇格します。Neptune レプリカの優先度はいつでも変更できます。優先度を変更しても、フェイルオーバーはトリガーされません。
AWS CLI を使用して、DB インスタンスのフェイルオーバー優先順位を次のように設定できます。
aws neptune modify-db-instance --db-instance-identifier
(the instance ID)
--promotion-tier(the failover priority value)
複数の Neptune レプリカで同じ優先度を共有できる場合は、昇格階層が発生します。複数の Neptune レプリカで同じ優先度を共有する場合、Neptune は最大サイズのレプリカを昇格します。複数の Neptune レプリカで同じ優先度とサイズを共有する場合、Neptune は同じ昇格階層の任意のレプリカを昇格します。
DB クラスターに Neptune レプリカが含まれていない場合、障害イベントの発生時にプライマリインスタンスが再作成されます。障害イベントによって中断が発生し、その間例外によって読み取りと書き込みオペレーションが失敗します。新しいプライマリインスタンスが再作成されると、サービスが回復します。これは、通常は 10 分未満で行われます。Neptune レプリカのプライマリインスタンスへの昇格は、新しいプライマリインスタンスの作成よりもはるかに短時間で実行されます。
Neptune バックアップ
Neptune は、クラスターボリュームを自動的にバックアップし、バックアップ保持期間中、復元データを保持します。Neptune のバックアップは連続的かつ増分的であるため、バックアップ保持期間内の任意の時点にすばやく復元できます。バックアップデータが書き込まれるときに、データベースサービスのパフォーマンスに影響が出たり、中断が発生したりすることはありません。DB クラスターを作成または変更するときに、バックアップ保持期間 (1 ~ 35 日) を指定できます。
バックアップストレージの使用状況を管理するには、バックアップの保存期間を短縮するか、不要になった古い手動スナップショットを削除するか、またはその両方を行います。コストを管理するには、保存期間を超えて保持されている継続的バックアップと手動スナップショットに使用されているストレージの量をモニタリングできます。バックアップの保存期間を短縮し、不要になった手動スナップショットを削除できます。
バックアップ保持期間を超えたバックアップを保持する場合は、クラスターボリュームの中にデータのスナップショットを作成できます。スナップショットの保存には、Neptune の標準ストレージ料金がかかります。Neptune のストレージ料金の詳細については、Amazon Neptune 料金表
Neptune は、バックアップ保存期間全体にわたって増分リストアデータを保持します。したがって、バックアップ保持期間を超えて保持したいデータのスナップショットを作成するだけで済みます。スナップショットから新しい DB クラスターを作成できます。
重要
DB クラスターを削除すると、自動バックアップはすべて同時に削除され、復旧できません。つまり、最終的な DB スナップショットを手動で作成しない限り、後で DB インスタンスを最終状態に復元することはできません。手動スナップショットは、クラスターを削除したときに削除されません。
注記
Amazon Neptune DB クラスターの場合、DB クラスターの作成方法に関係なく、デフォルトのバックアップ保持期間は 1 日です。
Neptune の自動バックアップを無効にすることはできません。Neptune のバックアップ保持期間は、DB クラスターによって管理されます。
Neptune バックアップストレージの管理に役立つ CloudWatch メトリクス
Amazon CloudWatch TotalBackupStorageBilled
メトリクス、SnapshotStorageUsed
メトリクス、および BackupRetentionPeriodStorageUsed
メトリクスを使用して、次に示すように、Neptune バックアップに使用されているストレージの量を確認およびモニタリングできます。
-
BackupRetentionPeriodStorageUsed
は、継続的バックアップを保存するために現時点までに使用されたバックアップストレージの量 (バイト単位) を示します。この値は、クラスターボリュームのサイズと、保存期間中に行った変更の量によって変わります。ただし、請求のため、この値が保存期間中に累積的なクラスターボリュームのサイズを超えることはありません。たとえば、クラスターのVolumeBytesUsed
サイズが 107,374,182,400 バイト (100 GiB) で、保持期間が 2 日間である場合、BackupRetentionPeriodStorageUsed
の最大値は 214,748,364,800 バイト (100 GiB + 100 GiB) になります。 -
SnapshotStorageUsed
は、バックアップ保持期間を超えて手動スナップショットを保存するために使用されたバックアップストレージの量 (バイト単位) を示します。手動スナップショットは、作成タイムスタンプが保持期間以内である間は、スナップショットのバックアップストレージにはカウントされません。すべての自動スナップショットも、スナップショットのバックアップストレージにはカウントされません。各スナップショットのサイズは、そのスナップショットを作成した時点のクラスターボリュームのサイズです。SnapshotStorageUsed
値は、保持するスナップショットの数と、各スナップショットのサイズによって異なります。たとえば、保持期間外のスナップショットが 1 つあり、このスナップショットを作成した時点のクラスターのVolumeBytesUsed
サイズが 100 GiB であったとします。この場合、SnapshotStorageUsed の量は 107,374,182,400 バイト (100 GiB) です。 -
TotalBackupStorageBilled
は、BackupRetentionPeriodStorageUsed
とSnapshotStorageUsed
の合計からバックアップストレージの空き容量 (1 日のクラスターボリュームのサイズと等しい) を引いた値を示します。バックアップストレージの空き容量は、最新のボリュームサイズと同じです。たとえば、クラスターのVolumeBytesUsed
サイズが 100 GiB、保持期間が 2 日間、保持期間外の手動スナップショットが 1 つある場合、TotalBackupStorageBilled
は 214,748,364,800 バイト (200 GiB + 100 GiB - 100 GiB) になります。
Neptune クラスターをモニタリングし、レポートを作成するには、CloudWatch コンソール
Neptune バックアップからのデータの復元
Neptune が保持するバックアップデータから、または保存した DB クラスターのスナップショットから、新しい Neptune DB クラスターを作成することで、データを回復できます。バックアップデータから作成された DB クラスターの新しいコピーは、バックアップ保持期間内の任意の時点にすばやく復元できます。バックアップ保持期間中の Neptune バックアップが継続的かつ増分的であることは、復元時間を短縮するためにデータのスナップショットを頻繁に作成する必要がないことを意味します。
DB インスタンスの最新の復元可能時刻または最も早い復元可能時刻を判断するには、Neptune コンソールで Latest Restorable Time
値または Earliest Restorable Time
値を探します。DB クラスターの最新の復元可能時間は、DB クラスターを復元できる最も直近の時点であり、通常は現在時間の 5 分以内です。最も早い復元時間は、クラスターボリュームをバックアップ保持期間内でどこまで遡って復元できるかを示します。
DB クラスターの復元が完了したことは、Latest Restorable Time
および Earliest Restorable Time
の値を確認することでわかります。復元オペレーションが完了するまで、Latest Restorable Time
と Earliest Restorable
Time
の値としては NULL が返されます。Latest Restorable
Time
または Earliest Restorable Time
が NULL を返す場合、バックアップまたは復元オペレーションをリクエストすることはできません。
AWS Management Console を使用して、特定の時点に DB インスタンスを復元するには
AWS マネジメントコンソールにサインインして Amazon Neptune コンソール (https://console.aws.amazon.com/neptune/home
) を開きます。 ナビゲーションペインで、[インスタンス] を選択します。復元する DB クラスターのプライマリインスタンスを選択します。
-
[Instance actions]、[Restore to point in time] の順に選択します。
[Launch DB Instance] (DB インスタンスの起動) ウィンドウで、[Restore time] (復元時間) の下にある[Custom] (カスタム) を選びます。
[Custom] で、復元する日時を指定します。
[Settings] (設定) の下の[DB instance identifier] (DB インスタンス識別子) に新しい復元された DB インスタンスの名前を入力します。
-
[DB インスタンスの起動] を選択して、復元された DB インスタンスを起動します。
指定した名前で新しい DB インスタンスが作成された後、新しい DB クラスターが作成されます。DB クラスター名は、新しい DB インスタンスの名前の後に
–cluster
を付けたものです。たとえば、新しい DB インスタンスの名前がmyrestoreddb
の場合、新しい DB クラスターの名前はmyrestoreddb-cluster
になります。
Neptune のバックアップウィンドウ
自動バックアップは、優先されるバックアップウィンドウ中に毎日行われます。バックアップウィンドウに割り当てられた時間より長い時間がバックアップに必要な場合、ウィンドウが終了した後もバックアップが完了するまでバックアップが継続します。DB インスタンスの週 1 回のメンテナンス時間とバックアップウィンドウは重複できません。
自動バックアップウィンドウ中、バックアッププロセスのスタート時にストレージ I/O が一時中断することがあります (通常は数秒間)。マルチ AZ 配置のバックアップ中は、レイテンシーが数分間高くなることがあります。
バックアップウィンドウは通常、Neptune の基礎になる Amazon RDS コントロールプレーンによって、リージョンごとに 8 時間ブロックからランダムに選択されます。デフォルトのバックアップウィンドウが割り当てられる各リージョンの時間については、『Amazon RDS ユーザーガイド』のバックアップウィンドウセクションをご覧ください。