スキップしてコンテンツを表示

Athena で発生する "Unable to verify/create output bucket" エラーの解決方法を教えてください。

所要時間1分
0

SQL Workbench/J または AWS Lambda で Amazon Athena クエリを実行する際、あるいは AWS SDK を使用する際に、次のエラーが発生します: "Unable to verify/create output bucket."

解決策

クエリ結果の場所を手動で設定した場合は、対応する Amazon Simple Storage Service (Amazon S3) バケットが存在することを確認してください。

S3 バケットが存在する場合は、クエリを実行するユーザーまたはロールの AWS Identity and Access Management (IAM) ポリシーにおいて、次のプロパティを確認します。

  • ポリシーは、必要な権限 (例: s3:GetBucketLocation) を許可しているかどうかを確認します。
  • IAM ポリシーには、aws:SourceIp または aws:SourceVpc に対する Deny ステートメントを含めることはできません。この場合、Amazon S3 へのアクセス許可は制限されます。

たとえば、次のポリシーでは、IAM ユーザーまたはロールはクエリを実行できます。

{  
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListMultipartUploadParts",
        "s3:AbortMultipartUpload",
        "s3:CreateBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-athena-query-results-*",
        "arn:aws:s3:::query-results-custom-bucket",
        "arn:aws:s3:::query-results-custom-bucket/*"
      ]
    }
  ]
}

注: 既存の S3 バケットでは、s3:CreateBucket 権限を削除します。クエリ結果の場所を手動で設定する場合は、ポリシーに arn:aws:s3:::aws-athena-query-results-* を含めることはできません。クエリ結果の場所を手動で設定する場合のみ、ポリシーには arn:aws:s3:::query-results-custom-bucket および arn:aws:s3:::query-results-custom-bucket/* が必要です。

関連情報

Athena から Amazon S3 へのアクセスを制御する

Amazon S3 バケットポリシーの例

バケットポリシーを使用して仮想プライベートクラウド (VPC) エンドポイントからのアクセスを制御する

Amazon S3 のポリシーアクション

AWS公式更新しました 7ヶ月前
コメントはありません

関連するコンテンツ