トラブルシューティング
このページでは、FPT Object Storage の使用時によく発生する問題と、考えられる原因、解決方法を説明します。
クライアントや SDK が FPT Object Storage ではなく Amazon S3 に接続する
症状: InvalidAccessKeyId が返される、またはリクエストが amazonaws.com のアドレスに送信される。
原因: S3 ツールや SDK は、endpoint を設定しない限り Amazon S3 にリクエストを送信します。
解決方法: クライアントまたは SDK で、使用する Region の endpoint を設定してください。たとえば、AWS CLI では --endpoint-url が必要で、s3cmd では S3 Endpoint と DNS-style bucket+hostname の設定が必要です。S3 クライアントで接続すると SDK リファレンスを参照してください。各 Region の endpoint は、Portal の Access Key タブで確認できます。
bucket-name.<endpoint> へのリクエストが DNS エラーまたは SSL エラーで失敗する
症状: クライアントが my-bucket.s3-hcm04.fptcloud.com などのアドレスを名前解決できない、または SSL 証明書の不一致が報告される。bucket 名にドット(.)が含まれている場合によく発生します。
原因: FPT Object Storage は 2 つのアドレス指定方式をサポートしています。
- virtual-hosted style: bucket 名がホスト名の一部になります(例:
https://my-bucket.s3-hcm04.fptcloud.com/photo.jpg)。 - path-style: bucket 名がパスの一部になります(例:
https://s3-hcm04.fptcloud.com/my-bucket/photo.jpg)。
virtual-hosted style は DNS と、ホスト名全体に一致する SSL 証明書に依存するため、一部のネットワークやドットを含む bucket 名では失敗することがあります。
解決方法: クライアントを path-style に切り替えてください。
| ツール | 設定 |
|---|---|
| AWS CLI | aws configure set default.s3.addressing_style path |
| s3cmd | host_bucket を host_base と同じ値(例: s3-hcm04.fptcloud.com)に設定します。 |
| boto3 (Python) | config=botocore.config.Config(s3={"addressing_style": "path"}) |
| その他の SDK | SDK リファレンスに記載されているとおり、path-style のオプションを有効にします。 |
リクエストが AccessDenied(403)で失敗する
キーを所有している ID を確認してください。
- SubUser: ロールが None になっているか、Bucket Policy でこの SubUser に bucket へのアクセスが許可されていない可能性があります。SubUser を管理すると SubUser に bucket ごとのアクセス権を付与するを参照してください。
- IAM User: 新しい IAM User には、ポリシーをアタッチするまで権限がありません。また、ポリシーは bucket とその object の両方(
arn:aws:s3:::bucket-nameとarn:aws:s3:::bucket-name/*)を対象にする必要があります。IAM User と IAM Role を管理するを参照してください。 - 削除されたキー: Portal で削除したキーは、すぐに使用できなくなります。
object の URL をブラウザーで開くと AccessDenied が返される
原因: 匿名ユーザーが object の URL を開けるのは、その object が公開されている場合のみです。Bucket ACL を Public にすると、誰でも bucket の内容を一覧表示できますが、その中の object は公開されません。
解決方法: Object ACL で object を公開するか、すべてのユーザーに s3:GetObject を許可する Bucket Policy を追加してください。権限を管理するを参照してください。
CORS が原因で Web ページが bucket からファイルを読み込めない
症状: ブラウザーのコンソールに No 'Access-Control-Allow-Origin' header などのエラーが表示される。
解決方法: Web サイトのオリジンと、使用する HTTP メソッドを許可する CORS ルールを bucket に追加してください。bucket を設定するを参照してください。
SDK または AWS CLI の更新後、チェックサムエラーでアップロードが失敗する
症状: アップグレード後、アップロード時に XAmzContentSHA256Mismatch、MissingContentLength、InvalidRequest などのエラーが発生する。
原因: 2025 年以降にリリースされた AWS SDK と AWS CLI のバージョンは、デフォルトでアップロードリクエストにデータ整合性チェックサムを追加します。
解決方法: リクエストのチェックサム計算オプションを when_required に設定してください。AWS CLI および AWS 設定ファイルを読み込む SDK の場合は、~/.aws/config に次の行を追加します。
[default]
request_checksum_calculation = when_required
response_checksum_validation = when_required
Portal で 100 GB を超えるファイルをアップロードできない
原因: Portal で 1 回にアップロードできるのは最大 100 GB です。
解決方法: AWS CLI や s3cmd などの S3 クライアント、または SDK を使用してファイルをアップロードしてください。これらのツールは、大きなファイルを自動的にパートに分割します(multipart upload)。S3 クライアントで接続するを参照してください。
Access Key の Secret Key を紛失した
原因: Secret Key はキーの作成時に一度だけ表示され、後から取得することはできません。
解決方法: 新しいキーを生成し、古いキーを使用しているすべてのアプリケーションを更新してから、古いキーを削除してください。Access Key を管理するを参照してください。
Portal に IAM User タブが表示されない
原因: IAM User と IAM Role は、HCM-04 cluster の Object Storage でのみ利用できます。
解決方法: その他の cluster では、SubUser を使用して限定的なアクセス権を共有してください。SubUser を管理するを参照してください。
s3cmd の設定が保存されない
原因: s3cmd --configure の最後に表示されるプロンプト Save settings? [y/N] のデフォルト値は N です。
解決方法: s3cmd --configure を再度実行して最後のプロンプトで y を入力するか、~/.s3cfg を直接編集してください。
さらにサポートが必要な場合
FPT Cloud サポートに連絡してください。その際、bucket 名、Region、使用しているツールまたは SDK とそのバージョン、正確なエラーメッセージ、エラーが発生した時刻を伝えてください。