AWS Athena
AWS AthenaをSquadbaseに接続するための手順と必要情報の取得方法
必要情報
| 項目 | 説明 |
|---|---|
| AWS Access Key ID | Athena でクエリを実行する権限を持つIAMユーザーまたはロールのアクセスキーIDです。 |
| AWS Secret Access Key | アクセスキーIDに対応するシークレットアクセスキーです。 |
| AWS Region | Athena ワークグループおよびS3 バケットが存在するAWSリージョンです。(例:us-east-1) |
| Athena Workgroup(任意) | 使用するAthena ワークグループの名前です。S3 Output Locationを指定しない場合は必須です。 |
| S3 Output Location(任意) | Athena がクエリ結果を保存するS3 パスです。(例:s3://bucket-name/path/)Athena Workgroupを指定しない場合は必須です。 |
Athena Workgroup または S3 Output Location のいずれかを必ず指定してください。
取得方法
AWS Access Key ID / AWS Secret Access Key
- AWSマネジメントコンソールにログインする
- IAM → ユーザー に移動する
- 使用するIAMユーザーを選択する(またはAthena 権限を持つ新しいユーザーを作成する)
- セキュリティ認証情報 タブを開く
- アクセスキー の項目で アクセスキーを作成 をクリックする
- アクセスキーID と シークレットアクセスキー の両方をコピーし、安全な場所に保存する
シークレットアクセスキーは作成時にのみ表示されます。ダイアログを閉じる前に必ずコピーしてください。
IAMユーザーには以下のようなインラインポリシーを設定してください。各 Resource の値は実際の環境に合わせて置き換えてください。
インラインポリシーの設定手順:
- IAMユーザーの詳細画面を開く
- 権限 タブ → 権限を追加 → インラインポリシーを作成 をクリックする

- JSON タブを選択し、以下のポリシーを貼り付けて値を置き換える
- ポリシー名を入力して保存する
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AthenaQueryAccess",
"Effect": "Allow",
"Action": [
"athena:StartQueryExecution",
"athena:GetQueryExecution",
"athena:GetQueryResults",
"athena:StopQueryExecution",
"athena:GetWorkGroup"
],
"Resource": [
"arn:aws:athena:ap-northeast-1:123456789012:workgroup/my-workgroup" // <-- これを具体的な値に置き換える
]
},
{
"Sid": "S3QueryResultsAccess",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my-athena-results-bucket", // <-- これを具体的な値に置き換える
"arn:aws:s3:::my-athena-results-bucket/*" // <-- これを具体的な値に置き換える
]
},
{
"Sid": "S3DataSourceReadAccess",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my-data-source-bucket", // <-- これを具体的な値に置き換える
"arn:aws:s3:::my-data-source-bucket/*" // <-- これを具体的な値に置き換える
]
},
{
"Sid": "GlueCatalogAccess",
"Effect": "Allow",
"Action": [
"glue:GetDatabase",
"glue:GetDatabases",
"glue:GetTable",
"glue:GetTables",
"glue:GetPartition",
"glue:GetPartitions"
],
"Resource": [
"arn:aws:glue:ap-northeast-1:123456789012:catalog", // <-- これを具体的な値に置き換える
"arn:aws:glue:ap-northeast-1:123456789012:database/my_database", // <-- これを具体的な値に置き換える
"arn:aws:glue:ap-northeast-1:123456789012:table/my_database/*" // <-- これを具体的な値に置き換える
]
}
]
}AWS Region
Athena のワークグループおよび関連するS3 バケットが存在するリージョンのIDを使用します。
リージョンIDの例:
| リージョン | ID |
|---|---|
| 米国東部(バージニア北部) | us-east-1 |
| 米国西部(オレゴン) | us-west-2 |
| アジアパシフィック(東京) | ap-northeast-1 |
| 欧州(アイルランド) | eu-west-1 |
AWSマネジメントコンソールの右上でリージョンを確認できます。
Athena Workgroup
- AWSマネジメントコンソールで Athena に移動する
- 左サイドバーの ワークグループ をクリックする
- 使用したいワークグループ名を取得する(デフォルトは
primary)
ワークグループにクエリ結果の保存場所が設定されている場合、S3 Output Locationを別途指定する必要はありません。
S3 Output Location
Athena がクエリ結果を保存するS3 バケットのパスです。AWSマネジメントコンソールの S3 に移動し、使用するバケットを選択して確認してください。
形式:s3://バケット名/任意のプレフィックス/