0Pricing
Cloud & IT Cert Prep · レッスン

AthenaによるS3ログのクエリ

データベースを使わずにサーバーレスSQLでログを検索する仕組みを理解します。

「AthenaによるS3ログのクエリ」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

Amazon Athenaとは

Amazon Athenaは、Amazon S3に保存されたデータに対して標準SQLを直接実行できる、サーバーレスのインタラクティブクエリサービスです。プロビジョニングや管理が必要なデータベースはありません。AthenaからS3内のデータを指定し、スキーマを定義してクエリを実行します。そのため、AWSが生成する膨大なログファイルの分析に適しています。

サーバーレスとクエリごとの従量課金

Athenaはサーバーレスで、スキャンしたデータ量に基づいてクエリごとに料金が発生します。クエリを実行していないときのアイドルコストはありません。この料金モデルでは、効率的なクエリと整理されたデータが重要になります。スキャンするデータが少ないほど、処理が速く、料金も安くなるためです。これはAthenaの利用全体を通じて繰り返し登場する考え方です。

セキュリティログにAthenaを使う理由

セキュリティに関するログは膨大です。CloudTrail、VPC Flow Logs、ALBアクセスログなどがすべてS3に保存されます。Athenaを使えば、データパイプラインを構築せず、使い慣れたSQLでこれらを調査できます。インシデント発生時には、数十億件のレコードにわたる数か月分の履歴を数分で検索できます。これはまさに調査で求められる機能です。

スキーマオンリード

Athenaはスキーマオンリードを使用します。S3内のファイルをどのように解釈するかを表すテーブルスキーマを定義し、そのスキーマをデータの保存時ではなくクエリ実行時に適用します。元のログファイルが変更されることはありません。そのため、変更されていない同じログに対して、いつでも新しいテーブルやビューを重ねて定義できます。

データカタログの役割

Athenaは、中央メタデータストアであるAWS Glue Data Catalogからテーブル定義を読み取ります。テーブルは、S3内の場所とデータ形式を、列およびデータ型に対応付けます。カタログに登録すると、そのテーブルをAthenaや他の分析サービスで利用できるようになり、ログデータに対して共有の定義を1つ持てます。

サポートされる形式

Athenaは、JSON、CSV、Apache Parquet、ORC、Avroなど、多くの形式をクエリできます。CloudTrailログはJSON形式で、Flow Logsはスペース区切りのテキストです。Parquetのような列指向形式は、クエリに必要な列だけをAthenaが読み取るため、非常に効率的です。スキャンするデータ量が減り、コストも削減できます。

クエリの実行

クエリはAthenaコンソール、API、またはCLIで実行し、結果はS3のクエリ結果の保存先に書き込まれます。調査用の簡単なクエリであれば、ユーザーごとのコンソールログイン失敗回数を集計できます。Athenaはデータ量に応じて数秒から数分で結果を返し、管理が必要なインフラストラクチャはありません。

SELECT useridentity.username, COUNT(*) AS attempts
FROM cloudtrail_logs
WHERE eventname = 'ConsoleLogin'
  AND errormessage = 'Failed authentication'
GROUP BY useridentity.username

Athenaアクセスのセキュリティ保護

AthenaへのアクセスはIAMポリシーによって制御され、クエリで読み取れるのは呼び出し元にアクセスが許可されたS3データだけです。また、クエリの結果の保存先も暗号化してください。結果には機密性の高いログ内容が含まれる可能性があるためです。ワークグループを使うと、チームを分離し、結果の暗号化を強制し、クエリごとのデータスキャン上限を設定できます。

フェデレーティッドクエリ

S3以外にも、Athenaのフェデレーティッドクエリでは、コネクタを介してDynamoDBやRDSなどのデータソースにアクセスできます。セキュリティログの分析の多くはS3を対象としますが、フェデレーションを使えば、すべてのデータを先にS3へ移動しなくても、ログデータとアセットインベントリなどの参照データを結合して調査に役立つ情報を追加できます。

ガバナンスのためのワークグループ

ワークグループは、チームごとにクエリ、結果、設定を分離します。ワークグループでは、暗号化された結果の保存先を強制したり、専用のクエリ結果バケットを設定したり、1つのクエリでスキャンできるバイト数に上限を設けたりできます。これにより、コストを抑えながら、あるチームの機密性の高い調査結果を別のチームの結果から分離できます。

Athenaを使う場面

大量の履歴ログをアドホックに分析する必要がある場合、特にS3内のCloudTrailやFlow Logsを分析する場合は、Athenaを使用します。リアルタイムのアラートには引き続きCloudWatchとGuardDutyを利用します。Athenaは、大規模なデータセットを対象に、事後調査やレポート作成を行うための詳細分析ツールです。

クイックチェック

Athenaの基礎知識を確認しましょう。

まとめ

Amazon Athenaは、S3データに対してSQLを直接実行します。サーバーレスで、スキャンしたデータ量に基づく料金体系です。テーブル定義をGlue Data Catalogに保存するスキーマオンリードを使用し、JSONや効率的なParquetなどの形式をサポートします。IAM、暗号化された結果の保存先、ワークグループを使ってセキュリティを確保します。CloudTrailやFlow Logsを対象とした詳細な事後分析に適した、代表的なツールです。

よくある質問

「AthenaによるS3ログのクエリ」レッスンは無料ですか?

はい。「AthenaによるS3ログのクエリ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

「AthenaによるS3ログのクエリ」で何を学びますか?

データベースを使わずにサーバーレスSQLでログを検索する仕組みを理解します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cloud & IT Cert Prepを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「AthenaによるS3ログのクエリ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?

はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. AthenaによるS3ログのクエリ
  2. CloudTrailデータ上のテーブル作成
  3. SQLクエリによるインシデント調査
  4. 速度とコストのためのログパーティション化
← Cloud & IT Cert Prepに戻る