コネクタのデプロイとデータソースへの接続 - Amazon Athena

コネクタのデプロイとデータソースへの接続

横串検索を作成するための準備は、Lambda 関数データソースコネクタのデプロイと、Lambda 関数のデータソースへの接続の 2 つの部分から成るプロセスです。このプロセスでは、Lambda 関数に後ほど Athena コンソールで選択できる名前を付けます。コネクタには SQL クエリで参照できる名前を付けます。

注記

AWS Secrets Manager で Athena 横串検索機能を使用するには、Secrets Manager に Amazon VPC プライベートエンドポイントを設定する必要があります。詳細については、「AWS Secrets Manager ユーザーガイド」の「Secrets Manager VPC プライベートエンドポイントを作成する」を参照してください。

パート 1: データソースコネクタのデプロイ

データソースコネクタを選択し、名前を付けてデプロイするには、統合されたプロセスで Athena コンソールと Lambda コンソールを使用します。

注記

Amazon Athena の横串検索機能を使用するには、ワークグループを Athena エンジンバージョン 2 に設定します。この手順については、「Athena エンジンバージョンの変更」を参照してください。

データソースコネクタをデプロイする

  1. https://console.aws.amazon.com/athena/ で Athena コンソールを開きます。

  2. コンソールのナビゲーションペインが表示されない場合は、左側の展開メニューをクリックします。

    
                            展開メニューを選択します。
  3. ナビゲーションペインで、[Data source] (データソース) をクリックします。

  4. [Data sources] (データソース) タブで [Connect data source] (データソースを接続する) を選択します。

  5. [Data source selection] (データソースの選択) については、次のガイドラインを考慮して、Athena でクエリを実行するデータソースを選択します。

    • データソースに対応するフェデレーションクエリのオプションを選択します。Athena には、MySQL、Amazon DocumentDB、PostgreSQL などのソースに設定できる事前構築されたデータソースコネクタがあります。

    • このページで Apache Hive メタストアまたは他のフェデレーションクエリのデータソースオプションを使用していない場合、Amazon S3 内のデータをクエリするには [S3 - AWS Glue Data Catalog] を選択します。Athena では、AWS Glue Data Catalog を使用して Amazon S3 にデータソースのメタデータとスキーマ情報を格納します。これはデフォルト (非フェデレーション) のオプションです。詳細については、「AWS Glue を使用した Amazon S3 内のデータソースへの接続」を参照してください。

    • [S3 - Apache Hive metastore] (S3 - Apache Hive メタストア) を選択して、Apache Hive メタストアを使用する Amazon S3 内のデータセットをクエリします。このオプションの詳細については、「Apache Hive メタストアへの Athena の接続」を参照してください。

    • Athena で使用する独自のデータソースコネクタを作成する場合、[Custom data source] (カスタムデータソース) を選択します。データソースコネクタの書き込みについては、「Athena Query Federation SDK を使用したデータソースコネクタの記述」を参照してください。

    このチュートリアルでは、フェデレーションデータソースとして [Amazon CloudWatch Logs] を選択します。

  6. [Next] を選択します。

  7. [Data source details] (データソースの詳細) ページの [Data source name] (データソース名) に、Athena からデータソースをクエリする際に SQL ステートメントで使用する名前 (例えば CloudWatchLogs) を入力します。名前は最大 127 文字で、アカウント内で一意である必要があります。この設定は、作成後に変更することはできません。有効な文字は、a~z、A~Z、0~9、_ (アンダースコア)、@ (at マーク)、および - (ハイフン) です。awsdatacataloghivejmx、および system の名前は Athena によって予約されており、データソース名には使用できません。

  8. Lambda 関数を使用する場合、[Lambda 関数の作成] を選択します。選択したコネクタの機能ページが AWS Lambda コンソールで開きます。このページには、コネクタに関する詳細情報が表示されます。

  9. [アプリケーションの設定] で、各アプリケーション設定の説明をよく読み、要件に対応する値を入力します。

    表示されるアプリケーション設定は、データソースのコネクタによって異なります。最低限必要な設定は次のとおりです。

    • AthenaCatalogName – ターゲットとなるデータソースを示す小文字の Lambda 関数の名前です (例えば、cloudwatchlogs)。

    • [SpillBucket] – Lambda 関数のレスポンスサイズ制限を超えるデータを保存するための、アカウント内の Simple Storage Service (Amazon S3) バケット。

      注記

      スピルしたデータは、その後の実行では再利用されることはなく、12 時間後には安全に削除できます。Athena はこれらのデータを削除しません。これらのオブジェクトを管理するには、Simple Storage Service (Amazon S3) スピルバケットから古いデータを削除するオブジェクトライフサイクルポリシーを追加することを検討してください。詳細については、Amazon S3 ユーザーガイドの「ストレージのライフサイクルの管理」をご参照ください。

  10. [I acknowledge that this app creates custom IAM roles and resource policies] (このアプリがカスタム IAM ロールとリソースポリシーを作成することを承認します) を選択します。詳細については、[Info] (情報) リンクを選択してください。

  11. [デプロイ] を選択します。デプロイが完了すると、Lambda 関数が Lambda コンソールの [リソース] セクションに表示されます。

パート 2: データソースへの接続

データソースコネクタをアカウントにデプロイしたら、Athena を接続できます。

アカウントにデプロイしたコネクタを使用して Athena をデータソースに接続するには

  1. Athena コンソールの [Connect data sources] (データソースを接続) ページに戻ります。

  2. [接続の詳細] セクションで、[Lambda 関数を選択または入力] 検索ボックスの横にある更新アイコンを選択します。

  3. Lambda コンソールで作成した関数の名前を選択します。Lambda 関数の ARN が表示されます。

  4. (オプション) [Tags] (タグ) でキーと値のペアを追加して、このデータソースに関連付けます。タグの詳細については、「Athena リソースへのタグ付け」を参照してください。

  5. [Next] を選択します。

  6. [Review and create] (確認と作成) ページで、データソースの詳細について確認し、[Add data source] (データソースの追加) を選択します。

  7. データソースのページの [データソースの詳細] セクションには、新しいコネクタに関する情報が表示されます。これで、Athena クエリでコネクタを使用できるようになりました。

    データコネクタを使用したクエリの記述については、「フェデレーティッドクエリの記述」を参照してください。