Amazon S3オブジェクト監視連携

Amazon S3

Amazon S3は、スケーラブルなオブジェクトを保管および取得し、信頼性の高いクラウドストレージプラットフォームを提供します。Site24x7とAWSの連携により、サービスレベルでのストレージを収集したり、各バケットレベルでのメトリックをリクエストできます。また、重要なS3オブジェクトに対してグローバルな場所から定期的にチェックを実行し、機能と応答時間を監視します。

目次

設定

  • キーベースまたはIAMロールベース認証で、Site24x7のAWSアカウントへのアクセスを有効にします。
  • AWSアカウント連携ページのディスカバリーするサービス項目で、[S3]のチェックボックスが選択されていることを確認します。

ポリシーと権限

S3バケットの検出と監視を行うには、Site24x7による以下の権限が必要です。
詳細はこちらのページをご確認ください。

  • "s3:GetObjectAcl",
  • "s3:GetEncryptionConfiguration",
  • "s3:GetLifecycleConfiguration",
  • "s3:GetBucketTagging",
  • "s3:ListAllMyBuckets",
  • "s3:GetBucketVersioning",
  • "s3:GetBucketAcl",
  • "s3:GetBucketLocation",
  • "s3:GetBucketPolicy",
  • "s3:GetReplicationConfiguration",
  • "s3:GetBucketLogging"
  • "s3:GetObjectAcl",
  • "s3:ListBucket",
  • "s3:GetBucketLocation"

ポーリング間隔

ストレージメトリックは、1日1回収集されます。リクエストおよびデータ移行メトリックは、設定しているポーリング設定(1分から1日)に収集されます。
詳細はこちらのページをご確認ください。

セキュリティ把握

Amazon GuardDutyとS3を単一コンソールで連携して、サイバー攻撃が行われているAmazon S3インスタンスを把握します。Amazon S3のGuardDuty Findingをセキュリティレベルでグループ分けします。機能ごとのグループで重大度カテゴリをソートし、対応するルールパッケージ名とコメントを表示します。

S3インスタンスのしきい値設定を行い、通知を受け取ることもできます。

  • GuardDutyしきい値設定の重大度に基づくセキュリティFinding
  • GPUメモリ使用率、アクセラレーターメモリ使用量、アクセラレーター使用率などのアクセラレーター関連メトリック

サポートしているパフォーマンスメトリック

ストレージメトリック

属性 詳細 統計 データタイプ
バケットサイズ すべてのストレージクラス(Amazon Glacierを除く)のバケットに保管されているデータ量です。 平均 バイト
オブジェクト数 すべてのストレージクラス(Amazon Glacierを除く)のバケットに保管されているオブジェクト数です。 平均 カウント

リクエストメトリック

Amazon S3マネジメントコンソールでオブジェクトおよびバケットのオペレーションを監視し、S3バケットに対してリクエストメトリックを有効にします。

属性 詳細 統計 データタイプ
すべてのリクエスト タイプに関係なく、Amazon S3バケットすべてのオブジェクトに対して行われたHTTPリクエストの合計数が表示されます。バケットでメトリックを設定している場合、フィルター条件を満たすオブジェクトに対するHTTPリクエストのみがカウントされます。 合計 カウント
GETリクエスト Amazon S3バケット内のオブジェクトに対して行われたHTTP GETリクエストの合計数です。 合計 カウント
PUTリクエスト Amazon S3バケット内のオブジェクトに対して行われたHTTP PUTリクエストの合計数です。 合計 カウント
DELETEリクエスト Amazon S3バケットのオブジェクトに対して行われたHTTP DELETEリクエストの合計数です。マルチオブジェクトのDELETEリクエストも含まれます。表示されるのは、削除されるオブジェクト数ではなく、オブジェクトに対して行われたリクエスト数です。 合計 カウント
HEADリクエスト Amazon S3バケットに対して行われたHTTP HEADリクエストの合計数です。 合計 カウント
LISTリクエスト Amazon S3バケットに対して行われたHTTP LISTリクエスト合計数です。 合計 カウント
POSTリクエスト Amazon S3バケットに対して行われたHTTP POSTリクエストの合計数です。 合計 カウント
ダウンロードされたバイト数 Amazon S3バケットに送信されたリクエストに対するダウンロードの合計バイト数です。(リクエストで本文が含まれている箇所) 合計 バイト
アップロードされたバイト数 Amazon S3バケットに送信されたリクエストに対するアップロードの合計バイト数です。(リクエストで本文が含まれている箇所) 合計 バイト
4xx エラー Amazon S3バケットで行われたリクエストに対して、クライアント側エラーが発生した合計回数です。 合計 カウント
5xx エラー Amazon S3バケットで行われたリクエストに対して、サーバー側エラーが発生した合計回数です。 合計 カウント
最初のバイトレイテンシー Amazon S3バケットがリクエスト全体を受信してから、レスポンスを開始するまでにかかった時間です。 平均 秒
合計リクエストレイテンシー Amazon S3バケットが最初のバイトを受信してから、最後のバイトを送信するまでにかかった時間です。 平均 秒
Select Request SQLを使用してオブジェクトから特定のデータを取得するために行われた、Amazon S3 Selectリクエスト数です。 合計 カウント
Select Bytes Scanned オブジェクトからデータをフィルタリングする際、Amazon S3 Selectリクエストによってスキャンされたバイトの合計数です。 合計 カウント
Select Bytes Returned オブジェクトからデータをフィルタリングした後、Amazon S3 Selectリクエストによって返されたバイトの合計数です。 合計 カウント
HTTP 4xx Errors Percentage S3バケットへのHTTPリクエストのうち、4xxクライアントエラーが発生した割合を示します。 平均 %
HTTP 5xx Errors Percentage S3バケットへのHTTPリクエストのうち、5xxクライアントエラーが発生した割合を示します。 平均 %

レプリケーションメトリック

属性 説明 統計 データタイプ
レプリケーションレイテンシー レプリケーションルールのあるレプリケーション先領域がソースレプリケーションより遅れている最大秒数 最大 秒
ペンディングレプリケーションバイト レプリケーションルールのあるペンディングレプリケーションの合計バイト数 最大 MB
ペンディングレプリケーション操作 レプリケーションルールのあるペンディングレプリケーションの操作数 最大 数
操作が失敗したレプリケーション 失敗したAmazon S3レプリケーション操作の数 合計 数

設定詳細

監視S3バケットでは、以下のインベントリデータが収集されます。

属性 詳細
バケット名 S3バケットの名前です。
作成時間 バケットが作成された日時です。
S3バケットのロケーション バケットがプロビジョニングされるAWSリージョンです。
バケットポリシー S3バケットへのアクセス管理で割り当てられたバケットポリシーとユーザーポリシーです。
ライフサイクルルール オブジェクトのライフサイクル管理の設定ルールです。
ストレージクラス ストレージクラスのタイプです。‐標準、IA(低頻度のアクセス)、Glacier、RRS(冗長性削減)‐
オーナー バケットの所有者です。

しきい値設定

S3バケット監視のしきい値設定方法は次のとおりです。

  1. [管理]→[設定プロファイル]→[しきい値と可用性]に移動します。
  2. [しきい値プロファイルの追加]をクリックします。
  3. 監視タイプドロップダウンから[S3バケット]を選択し、表示名にプロファイル名を入力します。
  4. しきい値設定来にメトリック名が表示されます。これらメトリックにしきい値を指定でき、またバケットがパブリックの際に通知を[はい]に指定することで、S3バケットがパブリック状態にある際にアラート通知を受け取るよう設定できます。
  5. [保存]をクリックします。

予測

次のパフォーマンスメトリックの未来の値を予測し、AWSインフラの容量追加やスケーリングを計画します。

  • バケットサイズ
  • オブジェクト数

S3オブジェクトの確認

S3オブジェクトの状況をバケットレベルで確認し、しきい値を設定できます。オブジェクトがS3バケットから消去された際に通知を行います。

オブジェクトの値を入力し、プレフィックスとともにオブジェクト名が入力されていることを確認してください。
例として、オブジェクトエンドポイントが"https://s3-region.amazonaws.com/bucket-name/prefix-name/object.txt"の場合、次の値を入力します。prefix-name/object.txt

Amazon S3オブジェクト監視

Site24x7のビルド済みAPI監視機能を使用して、S3オブジェクトのURLを定期的にチェックし、機能していることを確認します。Site24x7は、設定した間隔で、各場所からオブジェクトURLにHTTPリクエストを送信し、結果を検証します。

必要条件

  • Amazon S3の監視連携を有効にする必要があります。
  • S3バケット監視のステータスがアクティブになっている必要があります。

S3オブジェクト監視の追加

オブジェクトAPIエンドポイントのチェックを検出、追加および設定する手順です。

  • Site24x7で、[Cloud]→[AWS]→[AWSアカウント名]に移動ます。
  • ドロップダウンメニューで[S3オブジェクト]項目の[+]アイコンをクリックします。

S3オブジェクトのディスカバリー

以下は、S3バケットから特定のURLエンドポイントを検出する手順です。

  • ドロップダウンメニューからS3バケットを選択します。(複数選択はできません。)
  • 選択したS3バケットのオブジェクトURLと一致するように適切な正規表現を入力します。選択したバケットから特定のオブジェクトのURLのみをオプトインするには、入力文字列の先頭または文末に[ *]を追加します。たとえば、(images /.*)のような正規表現パターンを使用して特定のパスまたはディレクトリ内のオブジェクトのみを検出したり、(.png。*)のような正規表現パターンを使用して特定のタイプのオブジェクトが検出できます。
  • [オブジェクトの検出]をクリックします。

S3オブジェクトの選択

正規表現パターンにマッチするすべてのオブジェクトURLは、以下のようにリスト化されます。監視したいエンドポイントのチェックボックスをクリックし、[選択したオブジェクトの追加]を選択します。

S3オブジェクト監視の設定

チェックの設定に値を入力し、S3オブジェクトにエンドポイント監視を追加します。

  • 表示名: チェックに適切な名前を入力します。
  • S3オブジェクトURL: 選択されたS3オブジェクトエンドポイントURLはここにリストされます。リストからエンドポイントフォームを削除するには、フォームをクリックし、選択を解除して保存します。
  • チェック間隔: 1、5、10、20、25、30(分)または1、2(時間)からチェックする間隔を選択します。たとえば、1分を選択した場合、選択した各地理的位置では1分ごとにエンドポイントに到達しようとします。
  • 接続タイムアウト: 1〜45秒の間で接続時間を指定します。時間内にレスポンスが返ってこなければ、そのチェックは失敗とみなされます。
  • IPv6優先: デュアルスタックオブジェクトのエンドポイントを監視している場合は、トグルを[はい]に切り替えます。
  • 監視場所: 新しい場所にプロファイルを作成するか、既存のプロファイルを選択または編集します。エンドポイントは、該当する場所からリクエストを受け取ります。詳細はこちら
  • 監視グループ: 監視を論理的にグループ化し、管理の向上を図ります。新規で監視グループを作成するか、既存の監視グループにエンドポイント監視を追加します。
  • 監視に依存:依存リソースのDOWNステータスに基づいて、S3オブジェクト監視へのアラートが抑制されます。

HTTP設定では、以下の項目を入力します。

  • HTTPメソッド: GETまたはHEADから、使用するHTTPメソッドを指定します。
  • ユーザーエージェント: 特定のブラウザをエミュレートする場合に、ユーザーエージェントを入力します。

リクエストの検証では、以下の項目を入力します。

  • 文字列を含むべき:レスポンスに存在し、失敗を示している文字列を入力します。
  • 文字列を含まないべき:レスポンスに存在せず、失敗を示している文字列を入力します。
  • 大文字と小文字の区別:大文字と小文字が区別する場合は、トグルを[はい]に切り替えます。
  • 正規表現と一致するべき:レスポンスに存在し、失敗を示している正規表現パターンを入力します。

設定プロファイルでは、以下の項目を入力します。

  • しきい値と可用性:サポートしている各属性の値を設定し、メトリックデータポイントが定義した値を超えたときにアラートを受け取るようにします。新規しきい値プロファイルを作成するか、デフォルトのしきい値プロファイルを選択/設定します。
  • 通知プロファイル: しきい値の違反または失敗が発生した場合、いつ、誰に通知するのかを設定します。新規しきい値プロファイルを作成するか、デフォルトのしきい値プロファイルを選択/設定します。カスタマイズされた通知プロファイルの作成手順はこちらのページをご確認ください。
  • ユーザーアラートグループ:アラートグループを選択します。グループに複数のユーザーを追加する場合は、こちらのページをご確認ください。
  • タグ:オブジェクトに関連したユーザー定義のキーと値のペアが検出され、自動的に割り当てられます。
  • ITオートメーション: アラートイベントに応じて、AWSリソースで運用タスクを自動的に実行します。自動化プロファイルを作成してオブジェクトのエンドポイント監視に関連付けることで、監視がDOWN/TROUBLE/UP/ANY STATUS CHANGEのとき、またはしきい値に対して属性値が変化したときに実行できます。
  • 3rdパーティー連携: 監視を3rdパーティのアラートサービスと連携させ、インシデント管理を改善します。まだ連携設定がお済みでない場合は、[管理]→[3rdパーティー連携]で設定可能です。詳細はこちらのページをご確認ください。
  • [保存]をクリックします。

Amazon S3フォルダー監視

Amazon S3フォルダー監視でS3仮想フォルダーとともにS3バケットを監視します。

必要条件

  • Amazon S3バケット監視連携が有効化されている。
  • S3バケット監視がアクティブである。

S3フォルダー監視でできること

S3フォルダー監視で次のことを行えます。

  • ストレージメトリック、オブジェクト数、個々のフォルダーレベルとフォルダー階層レベルのフォルダー数の収集
  • 個々のフォルダーレベルのオブジェクト修正メトリックの収集
  • 毎分のメトリックデータ追跡

S3フォルダー監視には次の項目が存在します。

  • S3フォルダーサマリー:ここでは、S3バケット内のオブジェクト数、フォルダー数、およびオブジェクトのサイズが表示されます。これには以下が含まれます。
    • オブジェクト数とオブジェクト数の合計
    • ポーリング頻度ごとに取得された追加オブジェクトと修正オブジェクト数
    • フォルダー数とフォルダー数の合計
    • 最大と最小オブジェクトサイズ
  • S3フォルダーサマリーの「最終更新オブジェクト詳細」では、監視しているフォルダーで直近に発生した操作や更新内容を確認できます。

    このセクションには以下が表示されます。

    • 最終更新オブジェクト:フォルダー内で最も最近更新されたオブジェクトの名前
    • 最終更新時刻:オブジェクトが最後に更新された正確なタイムスタンプ

    これにより、フォルダーが現在進行形で更新されているか、あるいは一定期間変更がないかを迅速に把握できます。特に以下のようなユースケースに有効です。

    • 想定通りのデータアップグレードやファイル生成ワークフローの検証
    • データパイプラインにおける遅延やアクティビティ停止の検知
    • 頻繁な更新が想定される、時間を争うフォルダーの監視

    例えば、数分ごとにファイルが届くはずのフォルダーにおいて、最終更新時刻に大きな遅れが生じている場合、上流のプロセスに問題が発生している可能性があります。

    また、しきい値プロファイルから「最終更新時刻」メトリックに対してアラートのしきい値を設定し、停止や遅延を検知することができます。
    この設定により、想定される時間内にフォルダーが更新されなかった場合にアラートを受け取れるようになります。これは以下のようなユースケースに有効です。

    • 停止したデータ取り込みパイプラインの特定
    • 定期的なファイルアップロードが想定通りに行われているかの確認
    • 後続システムにおけるデータの鮮度の維持

  • フォルダー全体:バケット名、フォルダーロケーション、フォルダー名といった監視情報を表示します。
  • 障害:フォルダーのダウンとトラブルの履歴と、障害の開始時間、終了時間、期間、理由を表示します。
  • インベントリー:フォルダーのインベントリーデータを表示します。
  • ログレポート:収集時間、ステータス、オブジェクト数、オブジェクト数の合計、フォルダー数、フォルダー数の合計、追加オブジェクトと修正オブジェクト数といったログ情報が表示されます。期間を選択して、ロケーションや可用性ごとにログレポートをフィルターします。[CSVダウンロード]をクリックしてCSVでレポートを取得します。

S3フォルダー監視のディスカバリーと追加

S3フォルダー監視のディスカバリーと追加方法は次のとおりです。

  1. Site24x7で、[Cloud]→[AWS]→[AWSアカウント名]に移動します。
  2. [S3フォルダー]項目横の[+]アイコンをクリックします。
  3. S3フォルダー監視画面で、S3バケットのドロップダウンからS3バケットを選択します。
  4. フォルダーパスを入力して、S3バケットを指定します。選択したS3バケットの全てのフォルダーをディスカバリーするには、フォルダーパスに/*と入力して、サブフォルダーを含めてください。特定のフォルダーとそのサブフォルダーを表示するには、親フォルダー名に/*を追加してください。例えば、S3バケットに3つのフォルダーzylker_1、zylker_2、zylker_3があり、zylker_2はzylker_aというサブフォルダーをもつとします。
    • zylker_2とサブフォルダーを表示するには、フォルダーパス項目にzylker_2/*と入力します。
    • zylker_1フォルダーのみ表示するには、フォルダーパス項目にzylker_1と入力します。
    • zylker2のサブフォルダーzylker_aのみを表示するには、フォルダーパス項目にzylker_2/zylker_aと入力します。
  5. [フォルダーのディスカバリー]をクリックして、対応するフォルダーを表示します。
  6. [フォルダーの追加]をクリックして、対応するフォルダーを追加します。
  • [S3バケット]→[S3フォルダー]タブに移動後、[S3フォルダーの追加]をクリックして、S3フォルダーを追加することもできます。
  • S3バケット名がAWSに追加されているものとマッチしている場合、それらバケットのフォルダーは自動追加されません。
    手動での追加は行えます。この場合、Site24x7がS3バケットの存在をポーリング間隔で確認しますが、メトリックデータは収集されません。
    AWSにより追加されるS3バケット名は次のとおりです。
    • aws-cloudtrail-logs
    • elasticbeanstalk
    • aws-logs
    • s3.amazonaws.com
    • rds-backup
    • redshift-
    • access-logs
    • config-rules
    • cross-account-replication
    • -cloudformation
    • -elasticache|emr-logs
    • -glue
  • AWSによって追加されないS3バケットおよびハイボリュームなフォルダーの場合、1日に一度メトリックデータが取得されます。

各S3バケットにデフォルトで1S3フォルダー監視が追加されます。S3フォルダーの自動ディスカバリーを行うには、[Cloud]→[AWS]→[S3バケット]に移動し、監視名横のハンバーガーアイコンから[編集]を選択します。S3フォルダーの自動ディスカバリーを[はい]に指定します。
これによりすべてのS3フォルダーおよびS3バケット内のサブフォルダーに関するストレージとオブジェクト修正メトリックが自動でディスカバリーされて、監視されます。

例えば、S3バケットにzylker_1、zylker_2、zylker_3という3フォルダーが存在するとします。また、zylker_2にはzylker_aというサブフォルダーが存在しています。S3フォルダーの自動ディスカバリーを機能を有効にすると、3つのS3フォルダー(zylker_1、zylker_2、zylker_3)とサブフォルダー (zylker_a)が自動でディスカバリーされ監視されます。

次のケースでは、S3フォルダーの自動ディスカバリー機能を有効にしても、フォルダーやサブフォルダーは自動でディスカバリーされず、手動で追加する必要があります。
  • フォルダー名がAWSログと同じ
  • フォルダー名がボールトと同じ
  • フォルダー名がUUID 例:123e4567-e89b-12d3-a456-426614174000
  • フォルダー名に数字や特殊文字を含む 例:123456, $%^&&,23456#$%