

# Athena コンソールを使用してデータソースに接続する
<a name="connect-to-a-data-source-console-steps"></a>

Athena コンソールを使用して、データソース接続を作成および設定できます。

**データソースへの接続を作成するには**

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

1. コンソールのナビゲーションペインが表示されない場合は、左側の展開メニューをクリックします。  
![\[展開メニューを選択します。\]](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/nav-pane-expansion.png)

1. ナビゲーションペインで、**[データソースとカタログ]** を選択します。

1. **[データソースとカタログ]** ページで **[データソースを作成]** を選択します。

1. **[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 Data Catalog を使用してデータに接続する](data-sources-glue.md)」を参照してください。このワークフローを使用する手順については、「[Athena でデータカタログを登録して使用する](gdc-register.md)」を参照してください。
   + **[S3 - Apache Hive metastore]** (S3 - Apache Hive メタストア) を選択して、Apache Hive メタストアを使用する Amazon S3 内のデータセットをクエリします。このオプションの詳細については、「[Athena を Apache Hive メタストアに接続する](connect-to-data-source-hive-connecting-athena-to-an-apache-hive-metastore.md)」を参照してください。
   + Athena で使用する独自のデータソースコネクタを作成する場合、[**Custom data source**] (カスタムデータソース) を選択します。データソースコネクタの書き込みについては、「[Athena Query Federation SDK を使用してデータソースコネクタを開発する](connect-data-source-federation-sdk.md)」を参照してください。

1. [**次へ**] を選択します。

1. **[データソース詳細の入力]** ページの **[データソース名]** に、自動生成された名前を使用するか、Athena からデータソースをクエリする際に SQL ステートメントで使用する一意の名前を入力します。名前は最大 127 文字で、アカウント内で一意である必要があります。この設定は、作成後に変更することはできません。有効な文字は、a～z、A～Z、0～9、\$1 (アンダースコア)、@ (at マーク)、および - (ハイフン) です。`awsdatacatalog`、`hive`、`jmx`、および `system` の名前は Athena によって予約されており、データソース名には使用できません。

1. 選択したデータソースが AWS Glue 接続と統合されている場合。

   1. **[AWS Glue 接続の詳細]** に、必要な情報を入力します。接続には、特定のデータソースに接続するために必要なプロパティが含まれます。必要なプロパティは、接続タイプによって異なります。コネクタに関連するプロパティの詳細については、「[使用可能なデータソースコネクタ](connectors-available.md)」を参照してください。追加の接続プロパティの詳細については、「*AWS Glue ユーザーガイド*」の「[AWS Glue 接続プロパティ](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html)」を参照してください。
**注記**  
Glue 接続プロパティを更新する場合、更新されたプロパティを取得するには Lambda コネクタを再起動する必要があります。これを行うには、環境プロパティを編集し、実際には何も変更せずに保存します。
Glue 接続を更新したときに、対応する Lambda 関数で次のプロパティが自動的に更新されることはありません。これらのプロパティの Lambda 関数を手動で更新する必要があります。  
Lambda VPC 設定 – `security_group_ids`、`subnet_ids`
Lambda 実行ロール – `spill_bucket`、`secret_name`、`spill_kms_key_id`

   1. **[Lambda 実行 IAM ロール]** で、以下のいずれかを選択します。
      + **新しい実行ロールを作成して使用する** – (デフォルト) Athena は、ユーザーに代わって AWS Lambda のリソースにアクセスするために使用する実行ロールを作成します。Athena では、フェデレーティッドデータソースを作成するためにこのロールが必要です。
      + **既存の実行ロールを使用する** – 既存の実行ロールを選択するには、このオプションを使用します。このオプションでは、**[実行ロール]** ドロップダウンから使用する実行ロールを選択します。

1. 選択したデータソースが AWS Glue 接続と統合されていない場合。

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

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

      表示されるアプリケーション設定は、データソースのコネクタによって異なります。最低限必要な設定は次のとおりです。
      + **AthenaCatalogName** – ターゲットとなるデータソースを示す小文字の Lambda 関数の名前です (例えば、`cloudwatchlogs`)。
      + **[SpillBucket]** – Lambda 関数のレスポンスサイズ制限を超えるデータを保存するための、アカウント内の Simple Storage Service (Amazon S3) バケット。
**注記**  
スピルデータは、その後の実行では再利用されることはなく、安全に削除できます。Athena はこれらのデータを削除しません。これらのオブジェクトを管理するには、Simple Storage Service (Amazon S3) スピルバケットから古いデータを削除するオブジェクトライフサイクルポリシーを追加することを検討してください。詳細については、「Amazon S3 ユーザーガイド」の「[ストレージのライフサイクルの管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)」を参照してください。

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

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

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

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

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

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

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

1. [**次へ**] を選択します。

1. **[確認と作成]** ページで、データソースの詳細を確認します。変更するには、**[Edit]** (編集) を選択します。

1. **[Athena がアカウントにリソースを作成します]** の情報を読みます。同意する場合は、**[Athena がユーザーに代わってリソースを作成することを承認します]** を選択します。

1. **[データソースを作成]** を選択します。**Athena** がユーザー用に次のリソースを作成します。
   + Lambda 実行 IAM ロール
   + AWS Glue 接続 (データソースが AWS Glue 接続と互換性がある場合のみ）
   + Lambda function

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

データコネクタを使用したクエリについては、「[フェデレーティッドクエリを実行する](running-federated-queries.md)」を参照してください。