コンテンツにスキップ

Amazon Athena

1. サービス概要

Amazon Athena は、S3 に保存されたデータを標準 SQL を使って直接分析できるサーバーレスなクエリサービスである。
ユーザーは、データベースやデータウェアハウスを用意することなく、S3 上のデータを直接クエリし、結果を取得できる。
Athena は、大規模なデータを高速かつ簡単に分析するための、コスト効率の高いソリューションを提供する。

主なユースケースとして、

  • アドホックなデータ分析
  • ログ分析
  • データ探索
  • ビジネスインテリジェンス(BI)
  • レポート作成
  • データ変換

などが挙げられる。
Amazon Athena は、これらのユースケースに対応するための様々な機能と、AWS の他のサービスとの統合を提供する。

2. 主な特徴と機能

2.1 サーバーレス

Athena は、サーバーレスなクエリサービスであり、ユーザーはインフラのプロビジョニングや管理を行う必要はない。
AWS が、クエリの実行に必要なリソースを自動的に管理する。

2.2 SQL クエリ

Athena は、標準 SQL をサポートしており、ユーザーは使い慣れた SQL クエリを使ってデータを分析できる。
これにより、特別なスキルや学習を必要とせずに、データ分析を始められる。

2.3 様々なデータ形式をサポート

JSON, CSV, Parquet, ORC などの様々なデータ形式をサポートしている。
これにより、多様なデータソースに対応でき、柔軟なデータ分析が可能である。

2.4 JDBC/ODBC 接続

JDBC/ODBC ドライバーを提供しており、Tableau, Power BI などの BI ツールから、Athena に接続し、S3 上のデータを分析できる。
これにより、データの可視化と分析が容易になる。

2.5 スキーマ定義

AWS Glue Data Catalog と連携することで、S3 上のデータに対してスキーマを定義できる。
これにより、データの型や構造を明示的に定義し、クエリの実行を効率化できる。

2.6 統合されたサービス

Athena は、AWS Glue Data Catalog, Amazon S3, AWS Lake Formation などの AWS の他のサービスと統合されている。
これにより、データの探索、変換、分析をシームレスに行える。

2.7 拡張性とスケーラビリティ

Amazon Athena は、大量のデータでも高速にクエリを実行できるように設計されており、スケーラビリティに優れている。
ユーザーは、ペタバイト規模のデータに対して、高速に分析を実行できる。

3. アーキテクチャおよび技術要素

  1. ユーザーは、AWS マネジメントコンソール、API、または JDBC/ODBC ドライバーを通じて、Athena にクエリを送信。
  2. Athena は、S3 上のデータを読み込み、クエリを分析。
  3. クエリは、並列処理され、結果が返却。
  4. 必要に応じて、AWS Glue Data Catalog を使用して、スキーマを定義。

Amazon Athena は、サーバーレスアーキテクチャに基づいており、クエリ実行に必要なコンピューティングリソースを AWS が管理する。
ユーザーはインフラの管理を意識する必要はなく、クエリの実行に集中できる。

4. セキュリティと認証・認可

Amazon Athena は、データセキュリティを確保するために、以下の機能を提供する:

  • IAM 統合: AWS Identity and Access Management (IAM) を利用して、Athena へのアクセスを制御する。
  • データ暗号化: S3 に保存されたデータは転送中および保存時に暗号化される。
  • VPC エンドポイント: VPC 内から Athena にアクセスする際に、インターネットを経由せずにアクセスできる。
  • アクセス制御: IAM ポリシーを通じて、ユーザーやグループごとに、Athena の操作権限を詳細に制御できる。
  • データアクセスコントロール: AWS Lake Formation と連携して、S3 上のデータに対するアクセス制御を詳細に管理できる。

これらのセキュリティ対策により、S3 上のデータへの不正アクセスを防止し、機密情報を保護できる。

5. 料金形態

Amazon Athena の料金は主に以下に基づく:

  • クエリ実行: スキャンされたデータ量に応じて課金。
  • データ操作: DML クエリ(INSERT, UPDATE, DELETE など)を実行した場合、データ操作量に応じて課金。
  • データカタログ: AWS Glue Data Catalog を利用する場合、別途料金が発生。

6. よくあるアーキテクチャ・設計パターン

Amazon Athena は、様々なデータ分析に利用できる。一般的なパターンは以下の通りである:

  • アドホックなデータ分析: S3 に保存されたデータを一時的に分析し、データ探索や検証。
  • ログ分析: S3 に保存されたアプリケーションログやアクセスログを分析し、問題の特定やセキュリティ分析。
  • データ探索: 大量のデータを探索し、データの傾向やパターンを把握。
  • ビジネスインテリジェンス (BI): S3 上のデータを BI ツールで分析し、ビジネスインサイトを抽出。
  • レポート作成: S3 上のデータからレポートを作成し、ビジネスの状況を把握。
  • データ変換: S3 上のデータを変換し、他のストレージに保存。

7. 設定・デプロイ手順(ハンズオン例)

  1. AWS マネジメントコンソールから Amazon Athena を開き、クエリエディタを開く。
  2. S3 バケットとデータ形式を指定し、テーブルを作成。
  3. SQL クエリを記述し、実行。
  4. クエリ結果を確認し、必要に応じて可視化。
  5. 必要に応じて、AWS Glue Data Catalog を使用してスキーマを定義。

8. 試験で問われやすいポイント

8.1 サーバーレス

  • 特徴: サーバーのプロビジョニングや管理が不要。
  • 利点: インフラ管理なしでクエリを実行可能。
  • 試験対策: サーバーレスのメリット、管理範囲が問われる。

8.2 SQL クエリ

  • 対応: 標準 SQL。
  • 利用: 使い慣れた SQL でデータを分析。
  • 試験対策: SQL クエリの実行方法、利用できる関数が問われる。

8.3 様々なデータ形式をサポート

  • サポート対象: JSON, CSV, Parquet, ORC など。
  • 利用: 多様なデータソースに対応可能。
  • 試験対策: 各データ形式の特徴、利用シーンが問われる。

8.4 JDBC/ODBC 接続

  • 提供: JDBC/ODBC ドライバーを提供。
  • 利用: Tableau, Power BI などの BI ツールから接続可能。
  • 試験対策: 各ツールとの連携方法、利用シナリオが問われる。

8.5 スキーマ定義

  • 連携: AWS Glue Data Catalog。
  • 目的: データの型や構造を明示的に定義。
  • 試験対策: スキーマ定義の重要性、Glue との連携が問われる。

8.6 料金体系

  • 課金対象: スキャンされたデータ量、DML クエリのデータ操作量、Glue Data Catalog 利用料。
  • 最適化: クエリの最適化、データ形式の適切な選択がコスト削減に有効。
  • 試験対策: 料金体系、課金対象が問われる。

8.7 類似・関連サービスとの比較

  • Amazon Redshift: データウェアハウスサービス。Athena は S3 上のデータ分析に特化。
  • AWS Glue: データ統合サービス。Athena は Glue で定義されたスキーマを利用可能。

8.8 試験で頻出となる具体的な問われ方と答え

  • Q: Amazon Athena は何を提供するサービスですか?
  • A: S3 に保存されたデータを標準 SQL を使って直接分析できるサーバーレスなクエリサービスである。
  • Q: Amazon Athena は、どのようなデータ形式をサポートしていますか?
  • A: JSON, CSV, Parquet, ORC などの様々なデータ形式をサポートしている。
  • Q: Amazon Athena は、どのように他の BI ツールと連携しますか?
  • A: JDBC/ODBC ドライバーを提供しており、Tableau, Power BI などの BI ツールから接続できる。
  • Q: Amazon Athena のスキーマ定義には、どのようなサービスを利用できますか?
  • A: AWS Glue Data Catalog を利用して、S3 上のデータに対してスキーマを定義できる。
  • Q: Amazon Athena の料金はどのように計算されますか?
  • A: スキャンされたデータ量、DML クエリのデータ操作量、AWS Glue Data Catalog の利用料に基づいて計算される。