

# データベースアクティビティストリームを使用した Amazon Aurora のモニタリング
<a name="DBActivityStreams"></a><a name="das"></a>

データベースアクティビティストリームを使用すると、データベースアクティビティのストリームをほぼリアルタイムでモニタリングできます。

**Topics**
+ [データベースアクティビティストリーミングの概要](#DBActivityStreams.Overview)
+ [Aurora MySQL データベースアクティビティストリーミングのネットワーク前提条件](DBActivityStreams.Prereqs.md)
+ [データベースアクティビティストリーミングのスタート](DBActivityStreams.Enabling.md)
+ [データベースアクティビティストリーミングのステータスの取得](DBActivityStreams.Status.md)
+ [データベースアクティビティストリーミングの停止](DBActivityStreams.Disabling.md)
+ [データベースアクティビティストリーミングのモニタリング](DBActivityStreams.Monitoring.md)
+ [データベースアクティビティストリームの IAM ポリシーの例](DBActivityStreams.ManagingAccess.md)

## データベースアクティビティストリーミングの概要
<a name="DBActivityStreams.Overview"></a>

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

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

**Contents**
+ [データベースアクティビティストリーミングの機能](#DBActivityStreams.Overview.how-they-work)
+ [データベースアクティビティストリーミングの非同期および同期モード](#DBActivityStreams.Overview.sync-mode)
+ [データベースアクティビティストリームの要件と制限](#DBActivityStreams.Overview.requirements)
+ [利用可能なリージョンとバージョン](#DBActivityStreams.Overview.Availability)
+ [データベースアクティビティストリーミングでサポートされる DB インスタンスクラス](#DBActivityStreams.Overview.requirements.classes)

### データベースアクティビティストリーミングの機能
<a name="DBActivityStreams.Overview.how-they-work"></a>

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

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

**重要**  
Amazon Aurora のデータベースアクティビティストリーム機能は無料でご利用いただけますが、Amazon Kinesis のデータストリームに対しては課金されます。詳細については、「[Amazon Kinesis Data Streams の料金表](https://aws.amazon.com/kinesis/data-streams/pricing/)」を参照してください。

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

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

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

![\[Firehose が消費する Aurora DB クラスターからのデータベースアクティビティストリームを示すアーキテクチャ図\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/aurora-das.png)


### データベースアクティビティストリーミングの非同期および同期モード
<a name="DBActivityStreams.Overview.sync-mode"></a>

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

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

  同期モードでは、データベースパフォーマンスよりもアクティビティストリーミングの精度が優先されます。
**注記**  
 同期モードは、Aurora PostgreSQL で使用できます。Aurora MySQL では同期モードを使用できません。

### データベースアクティビティストリームの要件と制限
<a name="DBActivityStreams.Overview.requirements"></a>

Aurora では、データベースアクティビティストリームに、次の要件と制限があります。
+ データベースアクティビティストリーミングには、Amazon Kinesis が必要です。
+ 常に暗号化されているため、アクティビティストリーミングには AWS Key Management Service (AWS KMS) が必要です。
+ Amazon Kinesis データストリームに追加の暗号化を適用することは、AWS KMS キーで暗号化済みのデータベースアクティビティストリーミングと互換性がありません。
+ DB クラスターレベルでデータベースアクティビティストリーミングを開始します。DB インスタンスをクラスターに追加する場合、インスタンスでアクティビティストリーミングをスタートする必要はありません。アクティビティストリーミングは自動的に監査されます。
+ Aurora グローバルデータベースでは、各 DB クラスターでアクティビティストリーミングを個別に開始してください。各クラスターは、独自の AWS リージョン 内の独自の Kinesis ストリーミングに監査データを配信します。
+ Aurora PostgreSQL では、メジャーバージョンのアップグレード前に必ずデータベースアクティビティストリームを停止してください。アップグレードの完了後に、データベースアクティビティストリームを開始できます。

### 利用可能なリージョンとバージョン
<a name="DBActivityStreams.Overview.Availability"></a>

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

### データベースアクティビティストリーミングでサポートされる DB インスタンスクラス
<a name="DBActivityStreams.Overview.requirements.classes"></a>

Aurora MySQL では、次の DB インスタンスクラスでデータベースアクティビティストリーミングを使用できます。
+ db.r8g.\$1large
+ db.r7g.\$1large
+ db.r7i.\$1large
+ db.r6g.\$1large
+ db.r6i.\$1large
+ db.r5.\$1large
+ db.x2g.\$1

Aurora PostgreSQL では、次の DB インスタンスクラスでデータベースアクティビティストリーミングを使用できます。
+ db.r8g.\$1large
+ db.r7i.\$1large
+ db.r7g.\$1large
+ db.r6g.\$1large
+ db.r6i.\$1large
+ db.r6id.\$1large
+ db.r5.\$1large
+ db.r4.\$1large
+ db.x2g.\$1