Redshift クラスターからデータをアンロードするために AWS Glue サービスの S3 VPC エンドポイントを作成すると、ETL ジョブは、VPC エンドポイント ポリシーが「フル アクセス」に設定されている場合にのみ機能します。
すなわち
{
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Principal": "*"
}
]
}
ポリシーを「カスタム」に設定し、以下のように変更した場合は動作しません。
{
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": ["arn:aws:s3:::examplebucket",
"arn:aws:s3:::examplebucket/*"],
"Principal": "*"
}
]
}
ETL ジョブでは、ETL スクリプトと一時ファイルを保存する場所として examplebucket を指定したため、ポリシーがカスタムに設定されている場合にのみ ETL ジョブが失敗する理由を理解するのは難しいと思います。Glue は、ジョブで指定されたバケット以外の別の S3 リソースにアクセスしようとしますか?