メインコンテンツまでスキップ

AWS リアルタイム アノマリー検出

DoiT は、次の AWS サービスに対してほぼリアルタイムのアノマリー検出をサポートしています。

  • Amazon Elastic Compute Cloud(EC2)

  • Amazon Relational Database Service(RDS)。プロビジョンド RDS インスタンスの場合、次のコンポーネントがサポートされます。

    • DB インスタンス時間:消費された DB インスタンスタイプに基づきます。

    • ストレージ(GB あたり・月あたり):DB インスタンスにプロビジョニングしたストレージ容量に基づきます。

    • プロビジョンド IOPS(月あたり):消費した IOPS に関係なく、プロビジョンド IOPS レート(Amazon RDS Provisioned IOPS ストレージのみ)。

    あわせて「Working with storage for Amazon RDS DB instances」もご覧ください。

AWS CloudTrail

AWS のリアルタイム アノマリー検出を有効にするには、AWS CloudTrail を用意し、該当する AWS アカウントでリアルタイム アノマリー機能を有効にする必要があります。

すべての AWS リージョンでイベントを記録するために、マルチリージョンのトレイルを作成することを推奨します。AWS Organizations で組織を作成している場合は、組織内のすべての AWS アカウントのすべてのリージョンでイベントを記録するために、マルチリージョンの組織トレイルを作成できます。

S3 バケットのリージョン

トレイルを作成する際、CloudTrail のログファイルを保存するために、次のいずれかのリージョンで作成された Amazon S3 バケットを選択する必要があります。

  • us-east-1
  • us-east-2
  • us-west-2
  • eu-west-1
  • eu-central-1
  • eu-west-2
  • eu-west-3
  • ap-northeast-1
  • ap-southeast-1
  • ap-southeast-2
  • ca-central-1

AWS アカウントでリアルタイム アノマリーを有効化

新しいアカウントをリンクする場合、または既存のアカウントを編集する場合に、リアルタイム アノマリー検出を有効化できます。リアルタイム アノマリー検出は、CloudTrail のログファイルをホストしている AWS アカウントに対してのみ有効化してください。

新しいアカウントで有効化

  1. DoiT コンソールにサインインし、上部ナビゲーションバーから Integrate を選択し、AWS を選択します。

  2. Link Amazon Web Services ページで、Link account を選択します。

  3. CloudTrail のログを保存している S3 バケットに関する情報を入力します。設定内容は、AWS IAM ロールの作成方法によって異なります。

    • Create a role automaticallyReal-time anomalies 機能を選択し、S3 バケット名を入力します。

      Add real-time anomaly to AWS account - automatic

      ヒント

      IAM ロール用に作成される CloudFormation スタックは、s3:GetBucketLocations3:PutBucketNotification の権限も付与します。これらは、DoiT のリアルタイム アノマリー機能がバケットを特定し、AWS CloudTrail のバケット通知を追加するために必要です。アカウントのリンクが正常に完了した後は、これら 2 つの権限を削除できます。必要な権限の詳細は、Real-time anomalies を参照してください。

    • Create a role manually:S3 バケット名を入力し、バケットが存在するリージョンを指定します。

      The manual role creation form

既存のアカウントで有効化

すでにリンク済みのアカウントでリアルタイム アノマリーを有効化するには:

  1. Link Amazon Web Services ページで対象のアカウントを見つけます。

  2. アカウント行の最右端にあるケバブメニュー()を選択し、Edit account を選択します。

  3. 追加する機能として Real-time anomalies を選択し、機能を展開して、CloudTrail のログファイルを含む S3 バケット名を入力します。バケットはサポート対象リージョンのいずれかに存在している必要があります。

    Add real-time anomaly to AWS account

  4. Update account を選択すると、AWS コンソールで CloudFormation スタックが作成され、新しい権限で IAM ロールが更新されます。あるいは Prefer CLI を選択して、AWS CloudShell 経由で CloudFormation スタックを作成するためのコマンドを取得します。

    ヒント

    IAM ロール用に作成される CloudFormation スタックは、s3:GetBucketLocations3:PutBucketNotification の権限も付与します。これらは、DoiT のリアルタイム アノマリー機能がバケットを特定し、AWS CloudTrail のバケット通知を追加するために必要です。アカウントのリンクが正常に完了した後は、これら 2 つの権限を削除できます。必要な権限の詳細は、Real-time anomalies を参照してください。

AWS マルチアカウント環境

組織で AWS Control Tower を用いた AWS マルチアカウント環境が構成されており、KMS ポリシーと CloudTrail の S3 バケットが別アカウントでホストされている場合、リアルタイム アノマリーを有効化するには、次の 2 つの作業が必要です。

  1. CloudTrail の S3 バケットをホストしているアカウントを DoiT プラットフォームにリンクします。

  2. 前の手順で作成した DoiT の IAM ロールに対して、次の権限を付与します。

    • CloudTrail のログファイルを暗号化している AWS KMS キーの使用権限。KMS ポリシーを更新し、DoiT の IAM ロールの ARN を含む新しいステートメントを追加する必要があります。

    • AWS アカウントが所有するプライベートイメージ内の EC2 インスタンス情報を取得するための ec2:DescribeImages 権限。

リアルタイム アノマリー検出のコスト

リアルタイム アノマリー検出機能は、S3 バケットに保存された AWS CloudTrail イベントを活用します。この機能には次の 2 つの側面からコストが発生する可能性があります。

  • Amazon S3 に配信される管理イベント:各リージョン内の管理イベントの初回コピーは無料で配信されるため、マルチリージョンの組織トレイルを作成し、重複記録を引き起こすその他のトレイルを削除することで、このコストを回避できます。詳細は、AWS CloudTrail の料金 および CloudTrail トレイルのコスト管理を参照してください。

  • S3 のストレージとアクセス

    • S3 バケット内の CloudTrail 管理イベントのストレージコストは、アクティビティ量が多いアカウントであっても、通常は低く抑えられます。

    • アノマリー検出エンジンは、S3 バケットが存在するのと同じリージョンからログファイルを読み取ります(そのため、リージョン間またはインターネットへのデータ転送料の高額な料金を回避できます)。コストは SKU DataTransfer-Out-Bytes に課金され、通常は月あたり US$1.00 未満です。

以下は、直近数か月におけるリアルタイム アノマリー検出機能の S3 コストを示すレポート例です。

S3 cost

ヒント

S3 バケット名でリソースをフィルタリングする際、目的の S3 バケットが一覧に表示されない場合は、プラスアイコン(+)を選択して、正確な名前を新しいフィルターとして追加してください。詳しくは、Filter results: No matches or incomplete results を参照してください。