S3統合エラー:「リクエスト時刻と現在時刻の差が大きすぎます。(403) アクセス拒否」
症状
Amazon S3 クラウドベースの統合を使用している際に、「リクエスト時刻と現在時刻の差が大きすぎます」というメッセージが表示され、統合が失敗します。
環境
Amazon S3 と連携している BarTender インテグレーション。
対処方法/回答
このエラーメッセージは S3 サーバーから発生しており、S3 サーバー上のドロップフォルダへのアクセスが拒否されることで、インテグレーションが失敗します。
簡単に言うと、Amazon の S3 サーバーはネットワークタイムプロトコルサーバーと同期して非常に正確な時刻を保っています。インテグレーションをホストしているローカルコンピューターが S3 上のファイルにアクセスしようとすると、サーバーはローカルの時刻とサーバーの時刻を比較します。もし時刻にずれがある場合、サーバーへのアクセスが拒否され、このエラーが返されます。
このずれはタイムゾーンの違いによるものではありません。S3 側でタイムゾーンは考慮されています。ずれが発生するのは、ローカルコンピューターの時計が正しくない場合です。主な原因としては、以下のようなものがあります。
- コンピューターをスリープから復帰させて、時計が同期される前にインテグレーションを実行した場合
- 手動で時刻を変更した場合
- コンピューターがネットワークタイムプロトコルサーバーと自動的に同期する設定になっていない場合
ほとんどの場合、このエラーはインテグレーション用のコンピューターを常に起動状態にし、ネットワークタイムプロトコルサーバーと時刻を同期させておくことで解決できます。Windows ドメインネットワークを使用している場合は、プライマリドメインコントローラーがタイムサーバーになります。それ以外のコンピューターでは、インターネット上のネットワークタイムプロトコルサーバーと同期します。
ドメインネットワークの場合はプライマリドメインコントローラー、それ以外の場合はローカルコンピューターが、正しくネットワークタイムプロトコルサーバーと同期していることを確認してください。