データベースアクティビティストリーミングの概要 - Amazon Aurora

データベースアクティビティストリーミングの概要

Amazon Aurora データベース管理者として、データベースを保護し、コンプライアンスおよび規制要件を満たす必要があります。1 つの戦略は、データベースアクティビティストリーミングをモニタリングツールに統合することです。このようにして、Amazon Aurora クラスターでモニタリングを行い、監査アクティビティのアラームを設定します。

セキュリティの脅威は、外部と内部の両方です。内部の脅威から保護するために、データベースアクティビティストリーミング機能を設定して、データストリームへの管理者アクセスを制御できます。 DBA には、ストリームの収集、送信、保存、および処理に対するアクセス権限がありません。

データベースアクティビティストリーミングの機能

Amazon Aurora では、データベースアクティビティストリーミングをクラスターレベルで開始します。クラスター内のすべての DB インスタンスで、データベースアクティビティストリーミングが有効になっています。

Aurora DB クラスターは、アクティビティをほぼリアルタイムで Amazon Kinesis データストリームにプッシュします。Kinesis ストリーミングが自動的に作成されます。Kinesis から、Amazon Data Firehose や AWS Lambda などの AWS サービスを設定して、ストリーミングを消費し、データを保存できます。

重要

Amazon Aurora のデータベースアクティビティストリーム機能は無料でご利用いただけますが、Amazon Kinesis のデータストリームに対しては課金されます。詳細については、「Amazon Kinesis Data Streams の料金表」を参照してください。

Aurora グローバルデータベースを使用する場合は、DB クラスターでデータベースアクティビティストリーミングを個別に開始してください。各クラスターは、独自の AWS リージョン 内の独自の Kinesis ストリーミングに監査データを配信します。アクティビティストリーミングは、フェイルオーバー中に異なる動作をしません。通常どおり、グローバルデータベースを監査し続けます。

コンプライアンス管理のためのアプリケーションを設定して、データベースアクティビティストリーミングを使用できます。Aurora PostgreSQLでは、コンプライアンスアプリケーションは、IBM の Security Guardium、Imperva の SecureSphere Database Audit and Protection などです。このようなアプリケーションでストリームを使用して、Aurora DB クラスターについてのアラートと監査アクティビティを生成できます。

次の図は、Amazon Data Firehose で設定された Aurora DB クラスターを示しています。

データベースアクティビティストリーミングの非同期および同期モード

次のモードのいずれかで、データベースセッションでデータベースアクティビティイベントを処理するように選択できます。

  • 非同期モード - データベースセッションでアクティビティストリーミングイベントが生成されると、セッションは直ちに通常のアクティビティに戻ります。アクティビティストリーミングイベントは、バックグラウンドで永続的なレコードになります。バックグラウンドタスクでエラーが発生した場合は、RDS イベントが送信されます。このイベントは、アクティビティストリーミングのイベントレコードが失われた可能性がある時間枠のスタートと終了を示します。

    非同期モードでは、アクティビティストリーミングの精度よりもデータベースのパフォーマンスが優先されます。

    注記

    非同期モードは、Aurora PostgreSQL と Aurora MySQL の両方で使用できます。

  • 同期モード - データベースセッションでアクティビティストリーミングイベントが生成されると、そのイベントが永続化されるまで、セッションによってその他のアクティビティはブロックされます。何らかの理由でイベントを永続化できない場合、データベースセッションは通常のアクティビティに戻ります。ただし、アクティビティストリーミングレコードがしばらくの間失われる可能性があることを示す RDS イベントが送信されます。システムが正常な状態に戻ったら、2 番目の RDS イベントが送信されます。

    同期モードでは、データベースパフォーマンスよりもアクティビティストリーミングの精度が優先されます。

    注記

    同期モードは、Aurora PostgreSQL で使用できます。Aurora MySQL では同期モードを使用できません。

データベースアクティビティストリームの要件と制限

Aurora では、データベースアクティビティストリームに、次の要件と制限があります。

  • データベースアクティビティストリーミングには、Amazon Kinesis が必要です。

  • 常に暗号化されているため、アクティビティストリーミングには AWS Key Management Service (AWS KMS) が必要です。

  • Amazon Kinesis データストリームに追加の暗号化を適用することは、AWS KMS キーで暗号化済みのデータベースアクティビティストリーミングと互換性がありません。

  • DB クラスターレベルでデータベースアクティビティストリーミングを開始します。DB インスタンスをクラスターに追加する場合、インスタンスでアクティビティストリーミングをスタートする必要はありません。アクティビティストリーミングは自動的に監査されます。

  • Aurora グローバルデータベースでは、各 DB クラスターでアクティビティストリーミングを個別に開始してください。各クラスターは、独自の AWS リージョン 内の独自の Kinesis ストリーミングに監査データを配信します。

  • Aurora PostgreSQL では、アップグレード前に必ずデータベースアクティビティストリームを停止してください。アップグレードの完了後に、データベースアクティビティストリームを開始できます。

リージョンとバージョンの可用性

利用できる機能とそのサポートは、各 Aurora データベースエンジンの特定のバージョン、および AWS リージョン によって異なります。Aurora とデータベースアクティビティストリーミングで使用できるバージョンとそのリージョンの詳細については、「Aurora でのデータベースアクティビティストリーミング」を参照してください。

データベースアクティビティストリーミングでサポートされる DB インスタンスクラス

Aurora MySQL では、次の DB インスタンスクラスでデータベースアクティビティストリーミングを使用できます。

  • db.r7g.*large

  • db.r6g.*large

  • db.r6i.*large

  • db.r5.*large

  • db.x2g.*

Aurora PostgreSQL では、次の DB インスタンスクラスでデータベースアクティビティストリーミングを使用できます。

  • db.r7g.*large

  • db.r6g.*large

  • db.r6i.*large

  • db.r6id.*large

  • db.r5.*large

  • db.r4.*large

  • db.x2g.*