Object Storage Service (OSS) は、ドメイン設定、パフォーマンス最適化、セキュリティ保護、専用アクセスを網羅する多様なネットワークアクセスソリューションを提供します。これらの機能を活用して、効率的で安定した、安全なストレージアクセスアーキテクチャを構築できます。
クイックセレクション
カテゴリ | シナリオ | 推奨ソリューション |
基本アクセス | 全リージョンのエンドポイントと内部 VIP CIDR ブロックのクエリ | |
パブリックエンドポイント、内部エンドポイント、アクセラレーションエンドポイントなどのドメインタイプのフォーマットと使用方法 | ||
ファイルのオンラインプレビューを有効にし、ブランドアイデンティティを統一 | ||
パフォーマンスの最適化 | 画像、音声・動画ファイル、ドキュメントなどの静的リソースのグローバル配信と高速化 | |
リージョン間および国境を越えたアップロードとダウンロードの高速化 | ||
セキュリティ保護 | カスタムドメイン名で HTTPS 暗号化伝送を有効化 | |
ご利用の VPC と OSS の間に安全で隔離されたプライベート接続を確立 | ||
他の Web サイトによるリソースの不正利用を防ぎ、トラフィックコストの急増を回避 | ||
専用アクセス | 固定 IP アドレスを使用した OSS へのアクセス | |
同じバケットにアクセスする複数のアプリケーションまたはチームに異なる権限を付与 | ||
Web アプリケーション | バケット内の静的ファイルを Web サイトとしてホスティング | |
ブラウザが OSS リソースを読み込む際のクロスドメインブロックを解決 |
ドメインタイプ
OSS は、ネットワーク環境とパフォーマンス要件に基づいて、さまざまなタイプのアクセスドメインを提供します。各ドメインタイプのフォーマット、使用例、切り替え方法については、「エンドポイントとバケットドメイン名を使用した OSS へのアクセス」をご参照ください。各リージョンのエンドポイントについては、「リージョンとエンドポイント」をご参照ください。
コンプライアンスとセキュリティを向上させるためのポリシー変更により、2025 年 3 月 20 日以降、新しい OSS ユーザーは、中国本土リージョンにある OSS バケットに対してデータ API 操作を実行する際にカスタムドメイン名(CNAME)を使用する必要があります。これらの操作では、デフォルトのパブリックエンドポイントが制限されています。影響を受ける操作の完全なリストについては、公式アナウンスをご参照ください。HTTPS 経由でデータにアクセスする場合は、カスタムドメインに有効な SSL 証明書をバインドする必要があります。これは、コンソールが HTTPS を強制するため、OSS コンソールへのアクセスには必須です。
ドメインタイプ | ユースケース | 課金特性 | 有効化が必要 |
パブリックエンドポイント | Web アプリケーションおよびモバイルクライアントからのパブリックアクセス | インターネット経由のアウトバウンドトラフィック量に応じて課金 | デフォルトで利用可能 |
内部エンドポイント | Alibaba Cloud 内部ネットワークアクセス (例:ECS インスタンスから OSS へのアクセス) | 内部ネットワークトラフィックは無料 | デフォルトで利用可能 |
アクセラレーションエンドポイント | 高速なリージョン間および国境を越えたアップロードとダウンロード | インターネット経由のアウトバウンドトラフィック料金に加えて、転送アクセラレーション料金が課金されます | 転送アクセラレーションを有効にする必要があります |
デュアルスタックエンドポイント | IPv6 ネットワーク経由での OSS へのアクセス | インターネット経由のアウトバウンドトラフィック量に応じて課金 | 一部のリージョンでサポート |
CNAME | カスタムドメイン名をバインドする際の DNS 名前解決に使用 | インターネット経由のアウトバウンドトラフィック量に応じて課金 |
OSS バケットドメイン名を通じて HTML ファイル、画像、その他のオブジェクトにアクセスすると、ブラウザはオンラインプレビューではなく強制的にダウンロードします。ファイルのプレビューを有効にするには、カスタムドメイン名を使用して OSS にアクセスしてください。カスタムドメイン名は、パブリックエンドポイント、アクセラレーションエンドポイント、アクセスポイント、またはオブジェクト FC アクセスポイントにバインドできます。バケットが中国本土にある場合、ドメイン名には ICP 登録が必要です。
パフォーマンスの最適化
CDN 高速化と転送アクセラレーションは、異なるシナリオで高速化を提供します。ビジネスニーズに応じて、これらを個別に使用することも、組み合わせて使用することもできます:
ディメンション | CDN 高速化 | 転送アクセラレーション |
加速原理 | グローバルなエッジノードに静的リソースをキャッシュし、最寄りの POP (Point of Presence) からユーザーリクエストに応答 | Alibaba Cloud のバックボーンネットワーク上のインテリジェントルーティングを使用してデータ伝送パスを最適化 |
ユースケース | 静的リソース (画像、音声・動画ファイル、ドキュメントのダウンロード) の頻繁な読み取り | 長距離のリージョン間および国境を越えたアップロードとダウンロード |
アップロードのサポート | CDN 経由でのアップロードは行わないでください | 高速アップロードをサポート |
コスト | CDN 料金 + OSS の CDN back-to-origin トラフィック | インターネット経由のアウトバウンドトラフィック料金 + 転送アクセラレーション料金 |
併用 | CDN のオリジンフェッチにアクセラレーションエンドポイントを使用するよう設定し、CDN エッジキャッシングとバックボーンネットワーク高速化を組み合わせたデュアルアクセラレーションアーキテクチャを構築 | |
セキュリティ保護
HTTPS
OSS バケットドメイン名は、追加設定なしでデフォルトで HTTPS アクセスをサポートします。カスタムドメイン名を使用して OSS にアクセスする場合は、そのドメインに SSL 証明書を設定します:CDN を使用しない場合は、OSS コンソールでバケットにバインドされたカスタムドメイン名に対して 証明書をアップロード を設定します。CDN を使用する場合は、CDN コンソールで CDN ドメイン名に対して HTTPS 証明書 を設定します。本番環境では、バケットポリシーを使用して HTTPS アクセスを強制し、すべての HTTP リクエストを拒否してください。Alibaba Cloud の SSL 証明書は、証明書のホスティングによる自動更新をサポートしています。詳細については、「HTTPS を使用した OSS へのアクセス」をご参照ください。
PrivateLink プライベート接続
PrivateLink は、ご利用の VPC 内に OSS 専用のプライベートエンドポイントを作成します。すべてのトラフィックはインターネットを経由せず、Alibaba Cloud のバックボーンネットワークを通過します。OSS のデフォルトの内部エンドポイントと比較して、PrivateLink はより高度なセキュリティ分離を提供します:
機能 | 内部エンドポイント | PrivateLink |
攻撃対象領域 | すべての VPC に公開されたパブリックサービスエントリ | エントリは VPC 内に存在。他の VPC は検出もアクセスも不可 |
ネットワーク層の制御 | セキュリティグループによる制御は不可 | セキュリティグループのバインドをサポートし、送信元 IP アクセスを厳密に制御 |
監査機能 | 成功したリクエストのみを記録 | VPC フローログをサポートし、すべての接続試行を監査 |
IP 計画 | 100.64.0.0/10 CIDR ブロックを使用。オンプレミスのデータセンターと競合する可能性あり | ご利用の VPC CIDR ブロックの IP を使用し、カスタム IP 計画に従う |
SSL-VPN または Express Connect を使用して、オンプレミスのデバイスやデータセンターを VPC に接続し、PrivateLink 経由で OSS にアクセスできます。詳細については、「PrivateLink 経由での OSS へのアクセス」をご参照ください。
ホットリンク保護
ホットリンクによってトラフィックコストが急増した場合、Referer のブラックリストとホワイトリストを設定してアクセス元を制限します。OSS は次の順序でアクセスの制御を実施します:。ホットリンク保護は、匿名アクセスと署名付き URL アクセスにのみ適用されます。AccessKey で署名された API 呼び出しは制限されません。OSS で CDN 高速化を有効にしている場合は、CDN でもホットリンク保護ルールを設定してください。そうしないと、ホットリンクリクエストが CDN キャッシュにヒットし、検証をバイパスする可能性があります。詳細については、「ホットリンク保護」をご参照ください。
専用アクセス
ECS インスタンスでのリバースプロキシ
OSS は、DNS を通じてサービスエンドポイントを動的 IP アドレスに解決します。これにより、ファイアウォールの許可リストを設定したり、固定 IP アドレスを必要とするシステムと統合したりする際に、アクセス制限が発生する可能性があります。固定パブリック IP アドレスを持つ Elastic Compute Service (ECS) インスタンスに Nginx リバースプロキシをデプロイします。このインスタンスを介してリクエストを転送することで、固定 IP アドレスを使用して OSS リソースにアクセスします。本番環境では、Server Load Balancer と複数のゾーンにまたがる ECS インスタンスグループを使用した高可用性アーキテクチャを使用してください。詳細については、「ECS インスタンス上のリバースプロキシを使用した OSS へのアクセス」をご参照ください。
アクセスポイント
アクセスポイントは、バケットへの専用アクセスエンドポイントを提供します。複数のアプリケーションやチームが異なる権限で同じバケットにアクセスする必要がある場合、それぞれに個別のアクセスポイントを作成します。単一のバケットポリシーで複雑な権限ルールを維持する代わりに、アクセスポイントポリシー (AP ポリシー) を使用して権限を個別に管理します。各アクセスポイントには、独自のエイリアス、アクセスポリシー、およびネットワークソース設定 (インターネットまたは指定された VPC) があります。RAM ポリシーおよびバケットポリシーとの 3 層の共同認証をサポートしています。詳細については、「アクセスポイント」をご参照ください。
Web アプリケーション
静的 Web サイトホスティング
OSS を使用すると、サーバーを管理することなく、バケットから静的ファイル (HTML、CSS、JavaScript など) を公開アクセス可能な Web サイトとしてホスティングできます。デフォルトページ、サブディレクトリのインデックスページ、およびカスタム 404 エラーページを設定します。シングルページアプリケーション (SPA) をサポートするには、404 ページを index.html に、レスポンスコードを 200 に設定します。詳細については、「静的 Web サイトホスティング」をご参照ください。
OSS バケットドメイン名を通じて HTML ファイルにアクセスすると、ブラウザは強制的にダウンロードします。カスタムドメイン名をバインドして、通常の Web ページ閲覧を有効にしてください。
クロスドメイン設定
ご利用の Web サイトが OSS リソースを読み込み、ブラウザに blocked by CORS policy エラーが表示される場合、それはブラウザの同一オリジンポリシーがクロスドメインのリソースアクセスを制限しているためです。バケットに CORS ルール (ソース、許可されたメソッド、許可されたヘッダー など) を設定して、特定の Web サイトがクロスドメインで OSS リソースにアクセスすることを許可します。複数のオリジンまたはワイルドカードを使用する場合は、キャッシュ汚染を防ぐために Vary: Origin を有効にします。バケットが CDN 高速化を使用している場合は、CDN コンソールでクロスドメインルールを設定するか、OSS CORS レスポンスヘッダーをパススルーします。詳細については、「クロスドメイン設定」をご参照ください。
よくある質問
署名なしの長期 URL で OSS オブジェクトにアクセスする方法
2 つのオプションがあります:
オブジェクトを公開読み取りに設定する:誰でも制限なくオブジェクトにアクセスできます。悪意のあるホットリンクや予期せぬ料金を防ぐために、ホットリンク保護を設定してアクセス元を制限してください。
Alibaba Cloud CDN (CDN) を使用して OSS にアクセスする:オブジェクトを非公開に保ち、CDN でプライベートバケットのオリジンフェッチを有効にして、公開読み取りアクセスを提供します。CDN は、より優れたアクセスパフォーマンスとキャッシングを提供します。CDN でホットリンク保護を設定して、リソースの不正利用を防ぎます。
アップロードまたはダウンロードの速度が遅い原因
OSS の転送速度は、主にクライアントのネットワーク帯域幅、回線品質、および転送戦略に依存します。次のようにトラブルシューティングと最適化を行ってください:
帯域幅と回線:現在の帯域幅がバケットの帯域幅制限を超えていないことを確認します。MTR ツールを使用して、パケット損失、高レイテンシー、またはルーティングの異常を分析します。国境を越えた転送や長距離転送の場合は、転送アクセラレーションを有効にします。
ツールの選択:大規模または大量のファイル転送には ossutil を使用します。その
probeコマンドを使用して、現在のネットワーク状態をテストします。SDK のチューニング:大規模ファイルには、常にマルチパートアップロードと再開可能なアップロードを使用します。適切なパートサイズ (
part_size) と同時実行スレッド数 (num_threads) を設定します。ネットワーク状態が良い場合はパートサイズを大きくして、リクエスト数を減らします。クライアントの初期化中に CRC64 チェックサムを無効にし (例:Python でenable_crc=Falseを設定)、Content-MD5リクエストヘッダーを使用して整合性検証を行います。これにより、データの安全性を保ちながら転送パフォーマンスが向上します。
DNS 名前解決の失敗や接続タイムアウトなどのネットワークエラーのトラブルシューティング方法
リクエストが OSS に到達した場合 (レスポンスにリクエスト ID が含まれる場合)、リクエスト ID をOSS 自己診断ツールで使用して問題を診断します。
リクエストが OSS に到達しない場合 (リクエスト ID が空の場合)、エラーの種類に応じてトラブルシューティングを行います:
エラーの種類 | 一般的な原因 | 操作 |
Connection refused | ポートに到達できない、またはリージョンをまたいで内部エンドポイントが使用されている | 正しいパブリックエンドポイントを使用してください。 |
ConnectionTimeOut | ネットワーク状態が悪い、またはタイムアウト設定が短い | SDK の接続および読み取りタイムアウトを増やしてください。失敗時のリトライを有効にしてください。大規模ファイルにはマルチパートアップロードと再開可能なアップロードを使用して安定性を向上させてください。CDN 高速化または転送アクセラレーションの使用を検討してください |
Socket timeout / closed | 接続がタイムアウトした、または異常終了した | SDK のソケットタイムアウトを増やしてください (例:Java SDK の |
Connection reset | エンドポイント設定が正しくない、またはバケットのセキュリティ制限 | 段階的にトラブルシューティングします:1. |