データベースアクティビティストリームを使用した 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 エンジン」を参照してください。
データベースアクティビティストリーミングでサポートされる DB インスタンスクラス
Aurora MySQL では、次の DB インスタンスクラスでデータベースアクティビティストリーミングを使用できます。
-
db.r8g.*large
-
db.r7g.*large
-
db.r7i.*large
-
db.r6g.*large
-
db.r6i.*large
-
db.r5.*large
-
db.x2g.*
Aurora PostgreSQL では、次の DB インスタンスクラスでデータベースアクティビティストリーミングを使用できます。
-
db.r8g.*large
-
db.r7i.*large
-
db.r7g.*large
-
db.r6g.*large
-
db.r6i.*large
-
db.r6id.*large
-
db.r5.*large
-
db.r4.*large
-
db.x2g.*