OSS バケットのエンドポイントでは、プレビューがレンダリングされる代わりにファイルがダウンロードされます。カスタムドメインをバケットにマッピングすると、ブラウザー内でのプレビューのレンダリングと柔軟なアクセス制御が可能になります。
-
2025 年 3 月 20 日 00:00:00 (UTC+08:00) 以降、新規 Object Storage Service (OSS) ユーザーは、デフォルトのパブリックエンドポイント (例:
oss-cn-hangzhou.aliyuncs.com) を介して中国本土リージョンのバケットのデータ API にアクセスできなくなります。このようなリクエストは、PublicEndpointForbiddenエラー (HTTP 400、EC 0048-00000401) で拒否されます。これらの API へのパブリックアクセスを維持するには、OSS Update Notice に記載されているとおり、カスタムドメインを使用する必要があります。 -
カスタムドメイン名をマッピングする前に、登録済みのドメイン名があること、または 新しいドメイン名を登録することを確認してください。バケットが中国本土にある場合、マッピングするドメイン名には ICP 登録が必要です。バケットが中国本土以外のリージョン (China (Hong Kong) や Singapore など) にある場合、マッピングするカスタムドメイン名に ICP 登録は不要です。中国本土から中国本土以外のバケットへのクロスボーダーアクセスでは、ネットワーク遅延が大きくなる場合があります。ユーザーの所在地に基づいてバケットのリージョンを選択してください。
仕組み
CNAME (Canonical Name) レコードは、カスタムドメインをバケットのエンドポイントにマッピングします。ユーザーがカスタムドメインにアクセスすると、DNS が CNAME を名前解決し、リクエストをバケットのエンドポイントにルーティングします。
要件に応じてマッピング方法を選択してください:
-
標準アクセス:ドメイン名をパブリックエンドポイントにマッピング
-
クロスリージョンまたは長距離アクセラレーション:ドメイン名をアクセラレーションエンドポイントにマッピング
パブリックエンドポイントへのドメイン名マッピング
ドメインをパブリックエンドポイントにマッピングして、静的ファイル (画像、スクリプト) をホストし、オンラインプレビューを有効にします。
ステップ 1:バケットへのドメインマッピング
-
[バケット] ページに移動し、目的のバケット名をクリックします。次に、左側のナビゲーションペインで をクリックします。
-
[カスタムドメイン名をマッピング] をクリックし、マッピングするドメイン (例:
oss-example.cn) を入力します。システムによって、ドメインがマッピング要件を満たしているかどうかが自動的にチェックされます。
-
チェックが完了したら、ドメインをバケットにマッピングします。
直接マッピング
ドメインが現在の Alibaba Cloud アカウントのものである場合は、直接マッピングします。 [確認] をクリックしてドメインをバケットにマッピングします。

ドメイン所有権の検証とマッピング
ドメインが別の Alibaba Cloud アカウントに属しているか、別の DNS プロバイダーを使用している場合は、まずドメインの所有権を検証します。 次の手順では、別の Alibaba Cloud アカウントが所有するドメインの場合の手順について説明します。
-
ドメインを所有するアカウントで Alibaba Cloud DNS コンソールにログインします。対象のドメインの操作列で、 [設定] をクリックします。
-
[レコードの追加] をクリックします。下記の説明に従ってレコード情報を入力し、その他の設定はデフォルト値のままにします。
-
[レコードタイプ]:[TXT] を選択します。
-
[ホスト名]: OSS コンソールに表示されるホスト名 (例:
_dnsauth) を入力します。image.oss-example.cnなどのサブドメインをマッピングする場合は、ホスト名にサブドメインのプレフィックスを追加します。例:_dnsauth.image。 -
[レコード値]: OSS コンソールに表示される
21a0****************************などのレコード値を入力します。
-
-
[OK] をクリックします。表示される [リソースレコードの変更確認] ダイアログボックスで、もう一度 [OK] をクリックします。
-
OSS コンソールに戻り [ドメイン名の所有権を検証] をクリックします。 これにより、ドメインがバケットにマッピングされます。 DNS レコードが反映されるまで時間がかかる場合があります。 エラーが表示された場合は、数分待ってから再試行してください。
説明TXT レコードは、ドメイン所有権の検証にのみ使用できます。 検証が成功した後に削除してください。 その後の使用には影響しません。
-
ステップ 2:パブリックエンドポイントを指す CNAME レコードの設定
ドメインをバケットにマッピングした後、CNAME ドメイン名 (推奨) またはパブリックエンドポイントを指す CNAME レコードを設定して有効化します。
CNAME レコードを作成する前に、カスタムドメイン名をターゲットバケットにマッピングする必要があります。 このマッピングがないと、リクエストが正しいバケットに解決されず、予期しないコンテンツが返される可能性があります。
ドメインマッピングを削除するときは、ルーティングエラーを防ぐために、対応する CNAME レコードも削除してください。
自動設定
ドメインが現在の Alibaba Cloud アカウントに属している場合、ドメインをマッピングした後、コンソールで [CNAME レコードの自動追加] を有効にします。システムは Alibaba Cloud DNS でドメインの CNAME レコードを自動的に追加します。
同じホスト名のレコードが既に存在するため CNAME レコードを自動的に追加できないことを示すメッセージが表示された場合、このドメインに対して CNAME レコードが以前に作成されたことを意味します。 Alibaba Cloud DNS コンソールにログインして、CNAME レコードがまだ使用中かどうかを確認します。 使用中でない場合は削除し、正しい CNAME レコードを追加します。

手動設定
ドメインに CNAME レコードが既に存在する場合、またはドメインが別の Alibaba Cloud アカウントまたは DNS プロバイダーに属している場合は、DNS プロバイダーで CNAME レコードを設定する必要があります。 次の手順では、Alibaba Cloud DNS を使用して CNAME レコードを設定する方法を示します。
-
[バケット] ページに移動し、対象バケットの名前をクリックして、左側のナビゲーションペインで [概要] をクリックします。[インターネット経由のアクセス] の右側にある [CNAME ドメイン名] (推奨) または [バケットドメイン名] をコピーします。
-
ドメインを所有するアカウントで Alibaba Cloud DNS コンソールにログインします。対象ドメインの操作列で、 [設定]をクリックします。
-
[レコードの追加] をクリックします。下記の説明に従ってレコード情報を入力し、その他の設定はデフォルト値のままにします。
説明CNAME レコードがすでに存在する場合は、そのレコードの「操作」列にある [編集] をクリックしてレコード値を CNAME ドメイン名 (推奨) または OSS バケットのパブリックエンドポイントに変更します。
-
[レコードタイプ] では、[CNAME] を選択します。
-
[ホスト名]: APEX ドメイン (ルートドメイン) をマッピングする場合は、
@を入力します。image.oss-example.cnのようなサブドメインをマッピングする場合は、サブドメインプレフィックス (例:image) を入力します。エイペックス (ルート) ドメインへの CNAME レコードのマッピングは、DNS プロトコルの仕様に準拠していません。 エイペックスドメインは SOA および NS レコードを保持する必要があり、CNAME レコードはこれらの必須レコードと競合します (RFC 1034、セクション 3.6.2)。 この競合により、一部の DNS リゾルバーがドメインを正しく解決できない場合があります。 エイペックスドメインの代わりに、
wwwなどのサブドメインを OSS にマッピングすることを推奨します。 -
[レコード値]:
p******.cn-hangzhou.taihang***.cnやpub******.oss-cn-hangzhou.aliyuncs.comなどの CNAME ドメイン (推奨) またはパブリックエンドポイントを入力します。
-
-
[OK] をクリックします。表示される [リソースレコードの変更確認] ダイアログボックスで、もう一度 [OK] をクリックして DNS 設定を完了します。
DNS 伝播は TTL 設定に依存し、数分から数時間かかることがあります。 ドメインにすぐにアクセスできない場合は、しばらく待つか、ローカル DNS キャッシュをクリアしてください。
ステップ 3:カスタムドメイン名によるアクセスの検証
ドメインマッピングと DNS 設定が完了したら、バケットのアクセス制御リスト (ACL) の設定に基づいて検証方法を選択します。
パブリック読み取りおよびパブリック読み書きバケット
ブラウザーで、http://your_domain_name/object_path の URL 形式を使用してバケット内のオブジェクトにアクセスします。ここで、your_domain_name はマッピングされたカスタムドメイン名であり、object_path はバケット内のオブジェクトのアクセスパスです。 たとえば、オブジェクト dest.jpg がバケットの exampledir ディレクトリに保存されている場合、object_path は exampledir/dest.jpg です。 次の図にアクセス結果を示します:

プライベートバケット
プライベートバケットへのアクセスには、事前署名付き URL が必要です。 次の手順では、コンソールから事前署名付き URL を取得する方法を示します。 プログラムで署名を生成するには、署名バージョン 4 (推奨) を使用します。
-
バケットページに移動し、対象のバケット名をクリックします。
-
アクセスしたい対象の「操作」列で、[詳細の表示] をクリックします。
-
「ドメイン」を[カスタムドメイン名]に設定し、ドロップダウンリストからマッピングされたカスタムドメインを選択して、[オブジェクト URL をコピー]をクリックします。
-
ブラウザーで URL にアクセスします。 次の図にアクセス結果を示します。

アクセラレーションエンドポイントへのドメインのマッピング
クロスリージョンのデータ転送 (アップロードとダウンロード) を高速化するには、ドメインをバケットにマッピングし、転送アクセラレーションを有効にして、CNAME レコードをアクセラレーションエンドポイントに設定します。
ステップ1:バケットへのドメインのマッピング
-
[バケット] ページに移動し、目的のバケット名をクリックします。次に、左側のナビゲーションペインで をクリックします。
-
[カスタムドメイン名をマッピング] をクリックし、マッピングするドメイン (例:
oss-example.cn) を入力します。システムによって、ドメインがマッピング要件を満たしているかどうかが自動的にチェックされます。
-
チェックが完了したら、ドメインをバケットにマッピングします。
直接マッピング
ドメインが現在の Alibaba Cloud アカウントのものである場合は、直接マッピングします。 [確認] をクリックしてドメインをバケットにマッピングします。

ドメイン所有権の検証とマッピング
ドメインが別の Alibaba Cloud アカウントに属しているか、別の DNS プロバイダーを使用している場合は、まずドメインの所有権を検証します。 次の手順では、別の Alibaba Cloud アカウントが所有するドメインの場合の手順について説明します。
-
ドメインを所有するアカウントで Alibaba Cloud DNS コンソールにログインします。対象のドメインの操作列で、 [設定] をクリックします。
-
[レコードの追加] をクリックします。下記の説明に従ってレコード情報を入力し、その他の設定はデフォルト値のままにします。
-
[レコードタイプ]:[TXT] を選択します。
-
[ホスト名]: OSS コンソールに表示されるホスト名 (例:
_dnsauth) を入力します。image.oss-example.cnなどのサブドメインをマッピングする場合は、ホスト名にサブドメインのプレフィックスを追加します。例:_dnsauth.image。 -
[レコード値]: OSS コンソールに表示される
21a0****************************などのレコード値を入力します。
-
-
[OK] をクリックします。表示される [リソースレコードの変更確認] ダイアログボックスで、もう一度 [OK] をクリックします。
-
OSS コンソールに戻り [ドメイン名の所有権を検証] をクリックします。 これにより、ドメインがバケットにマッピングされます。 DNS レコードが反映されるまで時間がかかる場合があります。 エラーが表示された場合は、数分待ってから再試行してください。
説明TXT レコードは、ドメイン所有権の検証にのみ使用できます。 検証が成功した後に削除してください。 その後の使用には影響しません。
-
ステップ2:転送アクセラレーションの有効化
-
バケットページに移動し、対象のバケット名をクリックします。次に、左側のナビゲーションペインで をクリックします。
-
[転送アクセラレーションを有効にする] をクリックします。表示されるダイアログボックスで、注意事項をよく読んでから、[OK] をクリックします。
-
[アクセラレーションエンドポイント] をコピーします。
ステップ3:アクセラレーションエンドポイントを指す CNAME レコードの設定
以下の手順では、Alibaba Cloud DNS を使用して CNAME レコードを設定する方法を説明します。
転送アクセラレーションエンドポイントの CNAME レコードを作成する前に、カスタムドメインを対象のバケットにマッピングする必要があります。このマッピングがないと、リクエストが正しいバケットに解決されず、予期しないコンテンツが返される可能性があります。
ドメインマッピングを削除する場合は、対応する CNAME レコードも削除して、ルーティングエラーを防いでください。
-
ドメインを所有するアカウントで Alibaba Cloud DNS コンソールにログインします。対象のドメインの [操作] 列で、[設定] をクリックします。
-
[レコードを追加] をクリックします。以下の説明に従ってレコード情報を入力し、その他の設定はデフォルト値のままにします。
説明CNAME レコードがすでに存在する場合は、そのレコードの [操作] 列で [編集] をクリックし、レコード値を [アクセラレーションエンドポイント] に変更します。
-
[レコードタイプ]:[CNAME] を選択します。
-
[ホスト名]: エイペックスドメイン (ルートドメイン) をマッピングする場合は、
@を入力します。 サブドメイン (たとえばimage.oss-example.cn) をマッピングする場合は、サブドメインプレフィックスとしてimageを入力します。 -
[レコード値]:[アクセラレーションエンドポイント] を入力します。
-
-
[OK] をクリックします。表示される [リソースレコードの変更確認] ダイアログボックスで、再度 [OK] をクリックして DNS 設定を完了します。
DNS 伝播は TTL 設定に依存し、数分から数時間かかることがあります。 ドメインにすぐにアクセスできない場合は、しばらく待つか、ローカル DNS キャッシュをクリアしてください。
ステップ4:カスタムドメイン名によるアクセスの検証
ドメインマッピングと DNS 設定が完了したら、バケットのアクセス制御リスト (ACL) の設定に基づいて検証方法を選択します。
パブリック読み取りおよびパブリック読み書きバケット
ブラウザーで、http://your_domain_name/object_path の URL 形式を使用してバケット内のオブジェクトにアクセスします。ここで、your_domain_name はマッピングされたカスタムドメイン名であり、object_path はバケット内のオブジェクトのアクセスパスです。 たとえば、オブジェクト dest.jpg がバケットの exampledir ディレクトリに保存されている場合、object_path は exampledir/dest.jpg です。 次の図にアクセス結果を示します:

プライベートバケット
プライベートバケットへのアクセスには、事前署名付き URL が必要です。 次の手順では、コンソールから事前署名付き URL を取得する方法を示します。 プログラムで署名を生成するには、署名バージョン 4 (推奨) を使用します。
-
バケットページに移動し、対象のバケット名をクリックします。
-
アクセスしたい対象の「操作」列で、[詳細の表示] をクリックします。
-
「ドメイン」を[カスタムドメイン名]に設定し、ドロップダウンリストからマッピングされたカスタムドメインを選択して、[オブジェクト URL をコピー]をクリックします。
-
ブラウザーで URL にアクセスします。 次の図にアクセス結果を示します。

本番環境への適用
ベストプラクティス
-
安全な転送:HTTPS の有効化
カスタムドメインに SSL 証明書を設定して HTTPS を強制します。TLS/SSL により転送中のデータが暗号化され、盗聴や改ざんを防止できるほか、ブラウザーの "Not Secure" 警告も解消できます。
-
クロスオリジンアクセス:CORS ルールの構成
フロントエンドアプリケーションが
https://web.example.cnからhttps://oss.example.cnの OSS リソースにアクセスする場合、CORS ルールを設定して、オリジン間リクエストを許可しつつ、不正なアクセスをブロックします。 -
無停止切り替え:ダウンタイムなしのドメイン切り替え
バケットエンドポイントからマッピング済みのカスタムドメインに切り替える必要がある場合は、サービス中断を回避するために、次の段階的な戦略を使用します。
-
準備フェーズ:カスタムドメインをバケットにマッピングし、CNAME レコードを設定します。 テスト環境では、
hostsファイルまたはテストドメインを使用して、新しいカスタムドメイン設定の機能とパフォーマンスを完全に検証します。 すべての機能が期待どおりに動作することを確認します。 -
カナリアリリースフェーズ (推奨:オフピーク時間帯):トラフィックの一部を段階的にカスタムドメイン へ切り替えます。この段階的なアプローチにより、切り替えに伴うリスクを最小化できます。
-
検証フェーズ:アクセスログとエラー率を継続的に監視します。応答時間や成功率などの主要メトリクスを分析し、サービスの安定性を確認します。
-
全面リリースフェーズ:十分に検証した後、すべてのトラフィックをカスタムドメイン へ移行して、ドメイン移行を完了します。
-
ロールバック手順書:問題が発生した場合は、直ちにバケットエンドポイント へロールバックし、根本原因を分析したうえで再デプロイします。
-
-
パフォーマンスとセキュリティ:サブドメインによる用途の分離
Web アセットには
static.example.com、画像にはimages.example.comのように、目的ごとにサブドメインを割り当てます。ドメイン分離は、ブラウザーの同時接続を最適化し、独立したキャッシュを有効にし、きめ細かいセキュリティポリシーをサポートします。 -
機能拡張:静的ウェブサイトホスティング
OSS で静的ウェブサイト (HTML、CSS、JS ファイルを含む) をホストするには、カスタムドメインをマッピングした後に 静的ウェブサイトホスティング を構成します。これにより、デフォルトのホームページや 404 エラーページなど、基本的なウェブサイト機能を使用できるようになります。
-
パフォーマンスに関する注意
カスタムドメイン名は、OSS ドメイン名を指す CNAME レコードを介して名前解決されます。ブラウザは、まず CNAME レコードをクエリして OSS ドメイン名を取得し、次にその A レコードをクエリして IP アドレスを取得します。デフォルトの OSS ドメイン名 (例:
bucket.oss-cn-hangzhou.aliyuncs.com) を介して OSS に直接アクセスする場合、DNS クエリは 1 回で済みますが、カスタムドメイン名では追加でクエリが 1 回必要となり、最初のアクセスがわずかに遅くなる可能性があります。これは DNS プロトコルの特性であり、OSS サービスの問題を示すものではありません。アクセス速度を最適化するには、CDN アクセラレーションを設定するか、トランスファーアクセラレーションを有効にします。 -
パフォーマンス最適化:CDN アクセラレーションの構成
世界中のユーザーに静的リソースを配信するユースケースでは、カスタムドメインに CDN アクセラレーション サービスを構成することを推奨します。これにより、世界中に分散配置されたエッジノードにコンテンツがキャッシュされ、アクセスレイテンシーの低減、同時実行数の向上、ユーザー体験の向上につながります。
-
事業継続性:バケットの移行後のファイル URL の復元
バケットがリージョン間で移行されると、そのデフォルトのエンドポイント (例:
oss-cn-hangzhou.aliyuncs.com) は移行先リージョンに応じて変更されるため、古いデフォルトのエンドポイントで構築されたすべてのファイル URL が機能しなくなります。移行前にバケットにカスタムドメイン名をマッピングしておき、移行完了後にそのカスタムドメイン名を新しいバケットに再マッピングするか、CDN アクセラレーションドメインのオリジンを新しいバケットに更新することで、元の URL 経由のアクセスを復元できます。
リスクの軽減
-
帯域幅の不正利用対策:リファラーベースのホットリンク保護の構成
他の Web サイトによるリソースのホットリンクを防止し、不要なトラフィックコストの発生を回避するには、ホットリンク保護ポリシーを使用してデータ転送の不正利用を防止します。ホワイトリストでアクセス元を制限し、コストを管理してリソースを保護します。
-
行動監査とトラブルシューティング:アクセスログの有効化
リアルタイムログクエリ を有効にして、アクセスの詳細 (時刻、送信元 IP、リクエストタイプ、レスポンスステータス) を記録します。これにより、セキュリティ監査、パフォーマンス分析、トラブルシューティングに活用できます。
制限事項
-
マッピングの制限:各バケットにマッピングできるカスタムドメイン名は最大 100 個です。
-
ドメインの一意性:カスタムドメイン名は、一度に 1 つのバケットにのみマッピングできます。マッピングを変更するには、まず元のバケットからドメインのマッピングを解除する必要があります。これにより、ドメイン名に一意の宛先と明確なアクセスパスが確保されます。
説明レガシー画像処理機能の一部のユーザーにおいては、画像処理にすでに使用されているドメインはバケットにマッピングできません。新しい画像処理機能にはこの制限はありません。
-
ドメイン名の種類: 中国ドメインや、
*.example.cnなどのワイルドカードドメインのマッピングはサポートされていません。これにより、DNS 解決の安定性と互換性が確保されます。説明コンテンツデリバリーネットワーク (CDN) を使用して OSS アクセスを高速化する場合、ワイルドカードドメインをマッピングできますが、そのドメインは OSS コンソールには表示されません。
よくある質問
API 経由でドメインをマッピングする際にNeedVerifyDomainOwnership というエラーが表示された場合はどうすればよいですか?
このエラーは、ドメインの所有権が検証されていないことを示します。次の手順に従って、ドメインの所有権を検証してください。
-
CreateCnameToken API を呼び出して、ドメイン所有権の検証に必要な
CnameTokenを作成します。説明デフォルトでは、
CnameTokenは作成後 72 時間で失効します。有効期限が切れる前に再度トークンを作成しようとすると、既存のCnameTokenが返されます。 -
このドキュメントの手順に従い、ご利用の DNS プロバイダーで TXT レコードを設定し、ドメイン所有権の検証を完了します。
-
PutCname API を呼び出して、カスタムドメインをマッピングします。
CDN で TXT レコードの検証を完了している場合、OSS で再度ドメイン所有権を検証する必要がありますか?
CDN と OSS でのドメイン所有権の検証は、それぞれ独立しています。CDN で TXT レコードの検証を完了しても、OSS には自動的に適用されません。カスタムドメインを OSS バケットにマッピングする場合は、OSS で別途ドメイン所有権の検証 (TXT レコードの検証) を完了する必要があります。TXT レコードの設定手順については、このトピックの前半にある、直接マッピングとドメイン所有権の検証に関するセクションをご参照ください。
ドメインが現在の Alibaba Cloud アカウントに属している場合は、TXT レコードの検証なしで直接マッピングできます。API 経由でドメインをマッピングする際に NeedVerifyDomainOwnership エラーが表示された場合、これはドメイン所有権の検証が完了していないことを示します。マッピングを成功させるには、TXT レコードの検証を完了する必要があります。
アクセラレーションエンドポイント経由でリソースにアクセスする際に 502 または 504 エラーが発生した場合はどうすればよいですか?
OSS 転送アクセラレーションは、ネットワークの変動に適応するために伝送パスを動的に切り替えます。パスの切り替え中に一部のリクエストが中断され、502 または 504 エラーが発生することがあります。これは完全に回避することはできません。これらの一時的な障害に対処するため、クライアントコードにエクスポネンシャルバックオフのリトライロジックを実装してください。
名前解決の失敗や接続タイムアウトなどのネットワークエラーのトラブルシューティング方法
OSS から応答を受け取った場合は、リクエスト ID の取得し、OSSセルフサービス診断ツールを使用して問題を診断してください。
リクエストが OSS サーバーに到達する前に中断された場合、つまり Request ID が空の場合は、次の手順に従ってトラブルシューティングを行ってください。
-
Connection refused:このエラーは通常、クライアントと OSS が同じリージョンにあるもののポートがブロックされているか、内部エンドポイントがクロスリージョンアクセスに使用されていることを示します。正しいパブリックエンドポイントを確認してアクセスしてください。また、
pingおよびtelnetコマンドを使用して、クライアント側のファイアウォール設定やネットワーク接続の制限を確認してください。 -
ConnectionTimeOut:これは通常、ネットワーク環境が不安定であるか、タイムアウト設定が短すぎることが原因です。SDK の接続タイムアウトと読み取りタイムアウトの値を増やし、リトライメカニズムを有効にしてください。大容量ファイルの転送には、マルチパートアップロードと再開可能なアップロードを使用して転送の安定性を向上させることができます。ネットワークリンクに問題がある場合は、CDN または OSS 転送アクセラレーションの使用を検討してください。
-
Socket timeout または Socket closed:これは、OSS への接続がタイムアウトしたか、予期せず閉じられたことを示します。SDK 設定でソケットタイムアウトを増やしてください (例:Java SDK の
ClientConfiguration.setSocketTimeoutメソッド)。 -
Connection reset:エンドポイント設定が正しくない、セキュリティ上の理由でバケットが制限されているなど、さまざまな理由で接続がリセットされました。次の順序でトラブルシューティングを行ってください。
-
pingまたは Alibaba Cloud Kunlun診断ツールを使用して、クライアントのネットワーク接続が正常かどうかを確認してください。 -
コードで設定されたエンドポイントが正しく、適切なプロトコルプレフィックス (
http://またはhttps://) が含まれていることを確認してください。 -
セキュリティ攻撃やポリシー違反により、バケットが OSS サンドボックスに配置され、アクセスが制限されていないことを確認してください。
-
問題が解決しない場合は、Wireshark などのツールを使用してネットワークパケットをキャプチャし、テクニカルサポートに連絡してさらなる調査を依頼してください。
-
OSS のアップロードまたはダウンロード速度が非常に遅い場合の対処法
転送速度は、クライアントの帯域幅、ネットワークリンクの品質、転送ポリシーの設定に依存します。
-
一般的なトラブルシューティング:帯域幅の使用量がバケットの帯域幅制限に達していないことを確認してください。次に、MTRツールを使用してネットワークリンク分析を行い、パケット損失、レイテンシー、またはルーティングの異常を確認してください。クロスリージョン転送の場合は、転送アクセラレーションを有効にして使用し、ネットワークパスを最適化してください。
ツールの最適化: 大量または多数のファイルを転送する場合は、コマンドラインインターフェイス ossutil 2.0 を使用します。その
probeコマンドを使用してネットワークステータスを確認します。-
SDK の最適化:大容量ファイルの場合は、マルチパートアップロードおよび 再開可能なアップロード機能を使用する必要があります。パートサイズ (
part_size) と同時実行スレッド数 (num_threads) を適切に設定してください。ネットワークの状態が良い場合は、パートサイズを大きくしてリクエストの数を減らしてください。さらに、SDK クライアントを初期化する際に CRC64 検証を無効にし (例:Python でenable_crc=Falseを設定)、データ整合性チェックのためにリクエストヘッダーにContent-MD5を追加します。これにより、データセキュリティを確保しながら転送パフォーマンスを向上させることができます。
カスタムドメイン経由でアクセスした際に、ファイルをプレビューするかダウンロードするかを制御する方法
Content-Disposition ヘッダーは、ファイルがプレビューされるかダウンロードされるかを決定します。OSS バケットエンドポイントは、セキュリティのため Content-Disposition: attachment を強制します。 カスタムドメインではこのヘッダーが追加されないため、この動作を制御できます。
-
プレビューを有効にする:オブジェクトのメタデータに
Content-Disposition: attachmentヘッダーが設定されていないこと、およびオブジェクトのContent-Type(MIME タイプ) がファイル形式と正しく一致していることを確認してください。ブラウザでネイティブにサポートされていないファイル形式の場合、次の方法でプレビュー機能を拡張できます。-
.doc、.ppt、.pdf などのオフィスファイルの場合は、WebOffice オンラインプレビューサービスを統合してください。
-
.mov などの特殊なビデオ形式の場合は、ビデオ トランスコーディングサービスを使用して、プレビュー用に Web 互換形式に変換してください。
-
対応するファイルタイプのブラウザ拡張機能をインストールしてください。
-
-
ダウンロードを強制する:オブジェクトの
Content-Dispositionメタデータを手動でattachmentに設定してください。これにより、ブラウザはプレビューを試みずにファイルを直接ダウンロードします。 -
説明
<video>または<audio>HTML タグはメディアの再生を優先するため、attachmentダウンロードディレクティブを無視する場合があります。
ドメインが既に別のバケットにマッピングされている旨のメッセージが表示されマッピングに失敗した場合の対処法
ドメインが既に別のバケットにマッピングされている場合は、次の 2 つの解決策のいずれかを使用してください。
-
現在のビジネスに新しいサブドメインを使用します。ドメイン
oss-example.cnが既に別のバケットにマッピングされている場合は、static.oss-example.cnのような新しいサブドメインをマッピングに使用します。これにより、ドメインレベルでサービスを分離できます。 -
元のバケットからドメインのマッピングを解除し、ターゲットバケットにマッピングします。ドメインのマッピングを解除するには、次の手順に従ってください。
-
CDN アクセラレーションを有効にしている場合は、まず CDN サービスでオリジンサーバー情報を変更して、アクセラレーションドメイン名が OSS バケットエンドポイントを指さないようにする必要があります。これにより、CDN のバックツーオリジンが失敗するのを防ぎます。手順については、「オリジンの設定」をご参照ください。
-
バケットページに移動し、ドメインが現在マッピングされているバケットの名前をクリックしてから、左側のナビゲーションペインで の順にクリックします。
-
ドメインリストでターゲットドメインを見つけ、[操作] 列の [マッピング解除] をクリックします。表示されるダイアログボックスで [OK] をクリックして、ドメインのマッピングを解除します。
-
「ドメインBがドメインAにCNAMEされ、ドメインAがOSSにマッピングされている」場合にアクセスが失敗するのはなぜですか?
OSS は、 Host ヘッダーがバケットにマッピングされたドメインと一致することを検証します。 ユーザーがドメイン B にアクセスすると、Host は「ドメイン B」となり、ドメイン A と一致しないため、Host の検証に失敗します。 CNAME チェーンを使用する代わりに、公開ドメイン (ドメイン B) をバケットに直接マッピングしてください。
設定後、カスタムドメインが機能しない、または古いアドレスを指し続けているのはなぜですか?
これは、ローカルマシンまたは ISP の DNS キャッシュが原因である可能性が高いです。この問題は通常、10 分程度で自然に解決します。
DNS ノードは TTL 値に基づいて名前解決の結果をキャッシュします。CNAME レコードを変更した後、古いキャッシュは TTL が期限切れになるまでリクエストを古いアドレスに誘導する可能性があります。ローカル DNS キャッシュをクリアするか、自動更新をお待ちください。
Windows
ipconfig /flushdns
macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Linux
sudo systemd-resolve --flush-caches
署名を必要としない長期間有効なURLでOSSファイルにアクセスする方法
長期間有効で署名不要の URL を作成するには、2 つの方法があります。
-
ファイルをパブリック読み取りに設定する:オブジェクトは誰でもアクセスできるようになります。アクセス元を制限し、不正な使用コストを防ぐためにホットリンク防止を設定してください。
-
CDN を介して OSS へのアクセスを高速化する:オブジェクトをプライベートに保ち、CDN プライベートバケットのバックツーオリジンを有効にして、パフォーマンスとキャッシングを向上させたパブリック読み取りアクセスを実現します。リソースの盗用を防ぐために、CDN レベルのホットリンク防止を設定してください。
カスタムドメインをマッピングした後でも、古いファイルURLを使用できますか?
はい。カスタムドメインのマッピングは、元のバケットエンドポイント経由のアクセスには影響せず、両者は共存します。ファイルをダウンロードするには、事前署名付きURLを使用してください。
カスタムドメインのCNAME名前解決を停止した後でも、デフォルトのエンドポイント経由でバケットにアクセスできますか?
はい。OSS のデフォルトエンドポイント (例:your-bucket.oss-cn-hangzhou.aliyuncs.com) は、バケット作成時に自動的に割り当てられ、どのカスタムドメインからも独立しています。カスタムドメインの DNS 名前解決を停止した場合 (CNAME レコードを削除した場合)、カスタムドメインはアクセスできなくなりますが、デフォルトのエンドポイントは影響を受けません。バケット ACL がパブリック読み取りに設定されているか、有効な署名付き URL を使用している限り、デフォルトのエンドポイントは引き続きアクセス可能です。
カスタムドメインのマッピング解除と DNS 名前解決の停止は、2 つの独立した操作です。カスタムドメインのマッピング解除は OSS コンソールのドメイン名 ページで行い、DNS 名前解決の停止はご利用の DNS プロバイダーで CNAME レコードを削除することによって行います。DNS 名前解決を停止するだけでは、OSS 側でドメイン名が自動的にマッピング解除されることはありません。
カスタムドメインをOSSバケットにマッピングした後、パブリックエンドポイント経由でのみアクセスできますか?内部 (プライベート) ネットワークアクセスにも使用できますか?
カスタムドメインはパブリックネットワークアクセス専用であり、内部 (プライベート) アクセスには使用できません。
カスタムドメインは、バケットのパブリックエンドポイント (例:examplebucket.oss-cn-hangzhou.aliyuncs.com) を指す CNAME レコードを使用します。
内部アクセスには、同じリージョンおよび VPC 内のリソースからのみアクセス可能な Alibaba Cloud 内部エンドポイント (例:oss-cn-hangzhou-internal.aliyuncs.com) が必要です。内部エンドポイントはパブリック DNS では解決できず、CNAME のターゲットにすることはできません。
カスタムドメインを使用しているときに、HTTPリクエストが自動的にHTTPSにリダイレクトされるのはなぜですか?
これは、カスタムドメインで HTTPS への強制リダイレクト機能が有効になっているためです。この設定により、すべての受信 HTTP リクエストが同等の HTTPS に自動的にリダイレクトされます。
OSS 自体は強制リダイレクトをネイティブにサポートしていませんが、この動作は CDN 側で有効になります。カスタムドメインと HTTPS 証明書で Alibaba Cloud CDN を使用する場合、CDN コンソールで強制リダイレクト (HTTP → HTTPS) オプションを有効にできます。これにより、CDN は任意の HTTP リクエストに対して 301 または 302 レスポンスを返し、ブラウザが HTTPS 経由でリクエストを再送信するように促します。
HTTP と HTTPS の両方のアクセスを許可するには、Alibaba Cloud CDN コンソールに移動し、関連するドメインを選択して、リダイレクトタイプ を デフォルト に変更してください。詳細な手順については、「HTTP/Sリダイレクトの設定」をご参照ください。
OSS に CDN アクセラレーションを設定した後、ERR_SSL_VERSION_OR_CIPHER_MISMATCH が発生した場合、どうすればよいですか?
CDN の加速ドメイン名に複数のオリジンサーバー (IP オリジンと OSS オリジン) が設定されている場合、CDN はオリジンサーバーにランダムにリクエストをルーティングします。リクエストが HTTPS 設定のない IP オリジンにルーティングされると、SSL ハンドシェイクが失敗し、ブラウザーに ERR_SSL_VERSION_OR_CIPHER_MISMATCH エラーが表示されます。
この問題を解決するには、次の手順を実行してください。
-
CDNコンソール にログインし、ドメイン管理でアクセラレーションドメイン名のオリジンサーバー設定を確認してください。IP オリジンが存在する場合は削除し、OSS オリジンのみを保持してください。
-
アクセラレーションドメイン名の [HTTPS] 設定で、[HTTPS] をオンにし、アクセラレーションドメイン名と一致する有効な SSL 証明書を選択してください。
カスタムドメイン経由でファイルをアップロードできますか?
いいえ、カスタムドメインの URL 経由で直接ファイルをアップロードすることはできません。OSS にマッピングされたカスタムドメインは、本質的に OSS REST API エンドポイントです。ブラウザの URL から直接 HTTP PUT リクエストを送信すると、認証署名がないため拒否されます (403 AccessDenied が返されます)。カスタムドメインは、主に既にアップロードしたファイル (画像、Web ページ、その他の静的リソースなど) への HTTP GET アクセスに使用されます。
OSS バケットにファイルをアップロードするには、次のいずれかのツールを使用してください。
-
ossbrowser:技術者以外のユーザーに適した GUI ツールです。インストール手順については、ossbrowser のインストールガイドをご参照ください。
-
ossutil:O&M 担当者に適した CLI ツールです。
-
OSS SDK:開発者がアプリケーションに統合するのに適しています。
ossbrowser で [Endpoint] を設定する際、OSS パブリックエンドポイントまたはカスタムドメインを使用できます。[AccessKey] が正しく設定されていることを確認してください。