

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Athena に接続できない
<a name="troubleshoot-connect-athena"></a>


|  | 
| --- |
|    対象者:  Amazon Quick 管理者  | 

このセクションでは、Athena への接続に関するトラブルシューティングについて説明します。

Amazon Athena に接続できない場合、クエリの実行時に、アクセス許可が設定されていないことを示す、不十分なアクセス許可によるエラーが発生する場合があります。Amazon Quick Sight を Athena に接続できることを確認するには、次の設定を確認してください。
+ AWS Amazon Quick Sight 内のリソースアクセス許可
+ AWS Identity and Access Management (IAM) ポリシー
+ Amazon S3 ロケーション
+ クエリ結果の場所
+ AWS KMS キーポリシー (暗号化されたデータセットのみ)

詳細については、以下を参照してください。その他の Athena の問題のトラブルシューティングについては、「[Amazon Quick Sight で Amazon Athena を使用する場合の接続の問題](troubleshoot-athena.md)」を参照してください。

## Amazon Quick Sight に Athena の使用を許可していることを確認します。
<a name="troubleshoot-connect-athena-authorizing"></a>


|  | 
| --- |
|    対象者:  Amazon Quick 管理者  | 

次の手順を使用して、Amazon Quick Sight に Athena の使用を正常に承認していることを確認します。 AWS リソースへのアクセス許可は、すべての Amazon Quick Sight ユーザーに適用されます。

このアクションを実行するには、Amazon Quick Sight 管理者である必要があります。アクセス権があるかどうかをチェックするには、右上のプロファイルからメニューを開いたときに、**[Manage QuickSight]** (QuickSight の管理) オプションが表示されることを確認します。

**Amazon Quick Sight が Athena にアクセスすることを許可するには**

1. プロファイル名 (右上) を選択します。**「クイックサイトの管理**」を選択し、**「カスタムアクセス許可**」セクションまでスクロールダウンします。

1. **AWS リソース**を選択し、**追加または削除**を選択します。

1. リストで Athena を検索します。Athena のチェックボックスをオフにしてからもう一度オンにして、Athena を有効にします。

   次に、[**Connect both (両方を接続)**] を選択します。

1. Amazon Quick Sight からアクセスするバケットを選択します。

   ここでアクセスする S3 バケットの設定は、リストから Amazon S3 を選択してアクセスする設定と同じです AWS のサービス。他のユーザーが使用しているバケットを誤って無効にしないように注意してください。

1. **[Finish]** (完了) を選択して、選択を確定します。保存せずに終了するには、**[Cancel]** (キャンセル) を選択します。

   

1. **更新**を選択して、Amazon Quick Sight アクセスの新しい設定を保存します AWS のサービス。または、**[Cancel]** (キャンセル) を選択して、変更を加えずに終了します。

1.  AWS リージョン 完了したら、正しい を使用していることを確認してください。

   このプロセスの最初のステップ AWS リージョン の一部として を変更する必要がある場合は、以前使用 AWS リージョン していた に戻します。

## IAM ポリシーが適切な許可を付与することを確認する
<a name="troubleshoot-connect-athena-perms"></a>


|  | 
| --- |
|    対象者: システム管理者  | 

 AWS Identity and Access Management (IAM) ポリシーは、特定のアクションにアクセス許可を付与する必要があります。IAM ユーザーまたはロールは、Athena がクエリに使用する S3 バケットの入力と出力の両方を読み込み/書き込みできる必要があります。

データセットが暗号化されている場合、IAM ユーザーは指定されたキーのポリシーで AWS KMS キーユーザーである必要があります。

**IAM ポリシーにクエリに S3 バケットを使用するアクセス権限があることを確認するには**

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

1. 使用している IAM ユーザーまたはロールを見つけます。ユーザー名またはロール名を選択し、関連するポリシーを確認します。

1. ポリシーのアクセス許可が正しいことを確認します。確認するポリシーを選択し、**[Edit policy]** (ポリシーの編集) を選択します。デフォルトで開くビジュアルエディタを使用します。JSON エディタを開いた場合は、[**Visual editor**] (ビジュアルエディタ) タブを選択します。

1. リスト内の S3 エントリを選択し、その内容を確認します。ポリシーでは、リスト、読み取り、書き込みのアクセス権限を付与する必要があります S3 がリストにない場合、または適切なアクセス許可がない場合は、ここで追加します。

Quick Sight で動作する IAM ポリシーの例については、「」を参照してください[Quick の IAM ポリシーの例](iam-policy-examples.md)。

## IAM ユーザーが S3 の場所に対する読み取り/書き込みアクセス権を持っていることを確認する
<a name="troubleshoot-connect-athena-read-write-access"></a>


|  | 
| --- |
|    対象者:  Amazon Quick 管理者  | 

Quick Sight から Athena データにアクセスするには、まず Athena とその S3 ロケーションが ** QuickSight の管理**画面で承認されていることを確認します。詳細については、「[Amazon Quick Sight に Athena の使用を許可していることを確認します。](#troubleshoot-connect-athena-authorizing)」を参照してください。

次に、関連する IAM アクセス許可を確認します。Athena 接続の IAM ユーザーには、結果が保存される S3 内の場所への、読み込み/書き込みアクセス権が必要です。まず、IAM ユーザーに [Athena へのアクセスを許可する](https://docs.aws.amazon.com/athena/latest/ug/setting-up.html#attach-managed-policies-for-using-ate) `AmazonAthenaFullAccess` のようなポリシーがアタッチされていることを確認します。Athena で必要な名前を使用してバケットを作成し、QuickSight がアクセスできるバケットのリストにこのバケットを追加します。結果バケットのデフォルトの場所 (`aws-athena-query-results-*`) を変更する場合、IAM ユーザーが新しい場所への読み込みと書き込みのアクセス許可を持っていることを確認します。

S3 URL に AWS リージョン コードを含めていないことを確認します。たとえば、`s3://us-east-1.amazonaws.com/awsexamplebucket/path` ではなく `s3://awsexamplebucket/path` を使用します。誤った S3 URL を使用すると、`Access Denied` エラーが発生します。

バケットポリシーとオブジェクトアクセスコントロールリスト (ACL、access control list) が、[IAM ユーザーがバケット内のオブジェクトにアクセスすることを許可している](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)ことも確認します。IAM ユーザーが別の にある場合は AWS アカウント、*Amazon Athena ユーザーガイド*」の[「クロスアカウントアクセス](https://docs.aws.amazon.com/athena/latest/ug/cross-account-permissions.html)」を参照してください。

データセットが暗号化されている場合は、IAM ユーザーが指定されたキーのポリシーで AWS KMS キーユーザーであることを確認します。これは、[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) の AWS KMS コンソールで実行できます。

**Athena クエリ結果の場所へのアクセス許可を設定するには**

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

1. 使用するワークグループが選択されていることを確認します。
   + 上部の **[Workgroup]** (ワークグループ) オプションを検証します。これは、**Workgroup: *group-name*** の形式を持っています。使用するグループ名である場合は、次のステップまでスキップします。
   + 別のワークグループを選択するには、上部の **[Workgroup]** (ワークグループ) を選択します。使用するワークグループを選択し、**[Switch workgroup]** (ワークグループの切り替え) を選択します。

1. 右上の **[Settings]** (設定) を選択します。

   (一般的ではありません) 「ワークグループが見つかりません」というエラーが表示された場合は、以下のステップに従って修正します。

   1.  現時点ではエラーメッセージは無視し、代わりに **[Settings]** (設定) ページで、**[Workgroup: *group-name*]** を検索します ワークグループ名はハイパーリンクです。ワークグループ名を開きます。

   1. **[Workgroup: *<groupname>*]** ページで、左側の **[Edit workgroup]** (ワークグループの編集) を選択します。エラーメッセージを閉じます。

   1. **[Query result location]** (クエリ結果の場所) 近くで、ファイルフォルダアイコン付きの **[Select]** (選択) ボタンをクリックし、S3 ロケーションセレクターを開きます。

   1. Athena の S3 の場所名の末尾にある小さな矢印を選択します。名前は `aws-athena-query-results` で始まる必要があります。

   1. (オプション) クエリ結果を暗号化するには、**[Encrypt results stored in S3]** (S3 に保存されている結果を暗号化する) チェックボックスをオンにします。

   1. [**Save (保存)**] を選択し、設定を保存します。

   1. エラーが再び表示されない場合は、**[Settings]** (設定) に戻ります。

      場合によっては、エラーが再び表示されることがあります。この場合は、次のステップを実行します。

      1. [ワークグループ]、**[View details]** (詳細の表示) の順に選択します。

      1. (オプション) 設定を保持するには、ワークグループの設定を書き留めるか、スクリーンショットを撮ります。

      1. **[Create workgroup]** (ワークグループの作成) を選択します。

      1. ワークグループを新しいワークグループに置き換えます。正しい S3 の場所と暗号化オプションを設定します。後で必要になるため、S3 の場所を書き留めます。

      1. **[Save]** (保存) を選択して続行します。

      1. 元のワークグループが不要になった場合は、無効にします。表示される警告を注意して読んでください。無効にすると喪失するものがわかります。

1. 前のステップでトラブルシューティングによって取得しなかった場合は、右上の **[Settings]** (設定) を選択し、**[Query result location]** (クエリ結果の場所) として表示される S3 ロケーションの値を取得します。

1. **[Encrypt query results]** (クエリ結果の暗号化) が有効な場合、SSE-KMS または CSE-KMS を使用しているかをチェックします。キーを書き留めます。

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で S3 コンソールを開き、正しいバケットを開いて、**[Permissions]** (アクセス許可) タブを選択します。

1. IAM ユーザーがアクセス権を持っていることを確認するには、**[Bucket Policy]** (バケットポリシー) を表示します。

   ACL を使用してアクセスを管理する場合は、[**Access Control List (アクセスコントロールリスト)**]を表示して、アクセスコントロールリスト (ACL)が設定されていることを確認します。

1. データセットが暗号化されている場合 (ワークグループ設定で**暗号化クエリ結果**が選択されている場合）、IAM ユーザーまたはロールがそのキーのポリシーで AWS KMS キーユーザーとして追加されていることを確認します。 AWS KMS 設定には [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) からアクセスできます。

**Athena が使用する S3 バケットへのアクセスを許可するには**

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. **[Query result location]** (クエリ結果の場所) で、Athena が使用する S3 バケットを選択します。

1. [**Permissions**] (アクセス許可) タブで、アクセス許可を確認します。

詳細については、 AWS サポートの記事[「Athena クエリを実行すると、「アクセスが拒否されました」というエラーが表示されます](https://aws.amazon.com/premiumsupport/knowledge-center/access-denied-athena/)。