S3ServiceException エラー - Amazon Redshift

S3ServiceException エラー

最も一般的な s3ServiceException エラーは、異なる AWS リージョンに存在するクラスターやバケットを指定していたり、不十分な Amazon S3 権限が記述されていたりする、形式が不適切か不正確である認証情報文字列により引き起こされます。

このセクションでは、各種エラーのトラブルシューティング情報を提供します。

無効な認証情報文字列

認証情報文字列が不適切にフォーマットされた場合、次のエラーメッセージを受け取ります。

ERROR: Invalid credentials. Must be of the format: credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret-access-key> [;token=<temporary-session-token>]'

認証情報文字列にスペースまたは改行が含まれておらず、一重引用符で囲まれていることを確認してください。

無効なアクセスキー ID

アクセスキー ID が存在しない場合、次のエラーメッセージが表示されます。

[Amazon](500310) Invalid operation: S3ServiceException:The AWS Access Key Id you provided does not exist in our records.

多くの場合、これはコピーと貼り付けのエラーです。アクセスキー ID を正しく入力したことを確認してください。また、一時的なセッションキーを使用している場合は、token の値が設定されていることを確認します。

無効なシークレットアクセスキー

シークレットアクセスキーが正しくない場合、次のようなエラーメッセージを受け取ります。

[Amazon](500310) Invalid operation: S3ServiceException:The request signature we calculated does not match the signature you provided. Check your key and signing method.,Status 403,Error SignatureDoesNotMatch

多くの場合、これはコピーと貼り付けのエラーです。シークレットアクセスキーを正しく入力したこと、およびそれがアクセスキー ID 用の正しいキーであることを確認します。

バケットが異なるリージョンにある

COPY コマンドに指定された Amazon S3 バケットはクラスターと同じ AWS リージョンに置かれている必要があります。Amazon S3 バケットとクラスターが異なるリージョンにある場合、次のようなエラーを受け取ります。

ERROR: S3ServiceException:The bucket you are attempting to access must be addressed using the specified endpoint.

Amazon S3 マネジメントコンソールを利用してバケットを作成するときにリージョンを選択するか、Amazon S3 API または CLI を利用してバケットを作成するときにエンドポイントを指定することで、特定のリージョンに Amazon S3 バケットを作成できます。詳細については、「Amazon S3 へのファイルのアップロード」を参照してください。

Amazon S3 リージョンの詳細については、Amazon Simple Storage Service ユーザーガイドバケットへのアクセスを参照してください。

代わりに、COPY コマンドで REGION オプションを使用してリージョンを指定できます。

アクセスが拒否される

認証情報により識別されるユーザーアカウントには、Amazon S3 バケットへの LIST および GET アクセスが必要です。ユーザーに十分な権限がない場合、次のエラーメッセージを受け取ります。

ERROR: S3ServiceException:Access Denied,Status 403,Error AccessDenied

バケットへのユーザーアクセスの管理については、Amazon S3 デベロッパーガイドからアクセスコントロールを参照してください。