APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【AWS Glue】CUR2.0のAthena統合を設定する方法

はじめに

こんにちは!クラウド事業部の中根です。

CUR2.0が登場しましたが、レガシーCURと違って、Athena統合の仕組みがなくなっており、構築に苦戦しました。
Glueを使った設定方法をご紹介します。

CUR 2.0の設定

CUR2.0の設定方法はこちらの記事の前半部分にまとめています。
こちらを参考に、「Athenaでの分析」の手前まで進めてください。

techblog.ap-com.co.jp

Glueの構築

1. クローラーの作成

クローラーは簡単に言うと、データ形式やスキーマを自動的に解析し、テーブルをGlueデータカタログに登録してくれ、定期的な更新もしてくれるものです。
前述の記事の後半でAthenaテーブルの作成をしていますが、それを自動でやってくれます。

Glueの画面にアクセスし、「Clawlers」>「Create clawlers」を押下します。

クローラーの名前を設定します。

「Add a data source」を押下します。

CURのデータのあるS3バケットのdataディレクトリまでを指定します。

IAMロールを作成し、次に進みます。

「Add database」を押下します。(別タブが開きます)

データベース名を入力して、作成します。

飛ぶ前のページに戻り、リロードボタンを押してからデータベースを選択します。

設定を確認し、クローラーを作成します。

2. クローラーでテーブル作成

クローラーを作成後、「Run crawler」を押下します。

しばらく待つと、クローラーの実行が完了します。

テーブルが作成されていることを確認しましょう。

3. Athenaワークグループの作成

(デフォルトのワークグループを使用する場合は飛ばしても良いです。)

Athenaのコンソール画面にアクセスします。
「ワークグループ」>「ワークグループを作成」を押下します。

ワークグループ名を適当に設定します。

クエリ結果保存用のS3バケットを指定し、ワークグループを作成します。

4. データ確認

テーブルの「Table data」からAthenaクエリをすぐに実行できます。

ワークグループがデフォルトの「primary」になっていて失敗する場合は、クエリをコピーして、3.で作成したワークグループに切り替えてから実行しましょう。

クエリ結果が表示されていれば、設定が完了です。

5. トラブルシューティング

もしデータが見られない場合は、IAM権限だけでなく、Lake Formationを確認してみてください。
IAM権限とは別で、作成したテーブルに対して、select権限などを設定する必要があることがあります。
デフォルトだとIAM権限があればアクセスできるようですが、ご注意ください。
私が初めてやったときはデフォルトでアクセスできない設定になっており、ハマりました。

その他のトラブルシューティング方法はこちらも参考にしてください。

終わりに

APCはAWS Advanced Tier Services(アドバンストティアサービスパートナー)認定を受けております。

その中で私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
www.ap-com.co.jp

https://www.ap-com.co.jp/service/utilize-aws/

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp