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

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

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

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

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

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

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

重要

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

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

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

次の図は、Amazon Kinesis 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 エンジンバージョン

Aurora PostgreSQL では、以下のバー本のデータベースアクティビティストリーミングがサポートされています。

  • すべての 13 バージョン

  • すべての 12 バージョン

  • バージョン 11.6、バージョン 11 以降

  • バージョン 10.11、バージョン 10 以降

Aurora PostgreSQL のバージョンの詳細については、「Amazon Aurora PostgreSQL リリースとエンジンのバージョン」を参照してください。

Aurora MySQL の場合、データベースアクティビティストリーミングはバージョン 2.08 以上でサポートされています。このバージョンは MySQL バージョン 5.7 と互換性があります。

注記

データベースアクティビティストリーミングは、Aurora Serverless v1 または Aurora Serverless v2 ではサポートされていません。

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

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

  • db.r6g

  • db.r5

  • db.r4

  • db.r3

  • db.x2g

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

  • db.r6g

  • db.r5

  • db.r4

  • db.x2g

データベースアクティビティストリーミングでサポートされる AWS リージョン

データベースアクティビティストリーミングは、次の AWS リージョン ではサポートされていません。

  • 中国 (北京) リージョン、cn-north-1

  • 中国 (寧夏) リージョン、cn-northwest-1

  • AWS GovCloud (米国東部)、us-gov-east-1

  • AWS GovCloud (米国西部)、us-gov-west-1